Snowflake Arctic : le meilleur LLM pour l’IA d’entreprise, intelligent, performant et véritablement ouvert
La création d’une solution d’IA d’entreprise avancée au moyen de LLM était jusqu’à présent synonyme de coûts prohibitifs et de ressources considérables, souvent de l’ordre de plusieurs dizaines à plusieurs centaines de millions de dollars. Chez Snowflake, notre équipe de recherche en IA travaille activement depuis des années à résoudre les obstacles qui entravent l’efficacité des LLM en matière d’entraînement et d’inférence. Porteurs d’innovations à bien des égards, les membres de cette équipe ont mis au point des systèmes tels que ZeRO et DeepSpeed, PagedAttention/vLLM et LLM360, ce qui a considérablement réduit le coût de l’entraînement et de l’inférence des LLM. Ils les ont également mis à disposition en open source pour rendre les LLM plus accessibles et économiques pour tous.
Aujourd’hui, l’équipe de recherche en IA de Snowflake a le plaisir de vous présenter Snowflake Arctic, un LLM d’excellence dédié aux entreprises, qui repousse les limites de l’entraînement économique et de l’accessibilité. Arctic est un modèle d’efficacité, intelligent, performant et véritablement ouvert.
- Intelligent et performant : Arctic s’illustre par son excellence dans des tâches d’entreprise telles que la production de SQL, le codage et le suivi d’instructions, y compris en comparaison avec des modèles open source entraînés avec des budgets de calcul nettement supérieurs. En fait, il établit une nouvelle référence en matière d’entraînement financièrement compétitif, et offre aux clients de Snowflake la possibilité de créer des modèles personnalisés avec un rapport qualité/prix optimal pour les besoins de leur entreprise.
- Véritablement ouvert : la licence Apache 2.0 donne accès aux pondérations et au code. En outre, nous fournissons également en open source toutes nos recettes de données et nos données de recherche.
Snowflake Arctic est disponible depuis Hugging Face, le catalogue d’API NVIDIA et Replicate dès aujourd’hui, ou via le Model Garden ou catalogue de votre choix, notamment Snowflake Cortex, Amazon Web Services (AWS), Microsoft Azure, Lamini, Perplexity et Together dans les jours à venir.
Intelligence d’entreprise haut de gamme à un coût d’entraînement ultra-faible
Chez Snowflake, nous observons une tendance récurrente parmi nos clients concernant leurs besoins et leurs cas d’usage en matière d’IA. Ces entreprises veulent utiliser des LLM pour construire des assistants de données SQL conversationnels ou de codage, ainsi que des chatbots RAG (Retrieval Augmented Generation). Du point de vue des indicateurs, ce besoin exige des LLM des performances exceptionnelles en matière de SQL, de code, de suivi d’instructions complexes et une capacité à produire des réponses pertinentes. Nous réunissons ces capacités en un seul indicateur, que nous appelons intelligence d’entreprise, en faisant la moyenne pour le codage (HumanEval+ et MBPP+), la production de SQL (Spider) et le suivi d’instructions (IFEval).
Arctic offre une intelligence d’entreprise de haut niveau comparé aux autres LLM en open source, et ce, pour un budget de calcul d’entraînement d’un peu moins de 2 millions USD (moins de 3 000 semaines de GPU). En d’autres termes, Arctic est plus performant que n’importe quel autre modèle open source entraîné avec un budget de calcul similaire. Surtout, il excelle en matière d’intelligence d’entreprise, même comparé aux modèles entraînés avec un budget de calcul nettement supérieur. L’efficacité exceptionnelle de l’entraînement d’Arctic permet également aux clients de Snowflake et à l’ensemble de la communauté IA d’entraîner des modèles personnalisés à un prix considérablement plus abordable.
Comme le montre la Figure 1, Arctic fait aussi bien, voire mieux, que LLAMA 3 8B et LLAMA 2 70B sur les indicateurs d’entreprise, avec un budget de calcul d’apprentissage deux fois moins élevé. De la même façon, malgré un budget de calcul 17 fois inférieur, Arctic fait aussi bien que Llama3 70B pour les indicateurs d’entreprise comme le codage (HumanEval+ et MBPP+), la production de SQL (Spider) et le suivi d’instructions (IFEval). Il y parvient tout en restant compétitif en termes de performances globales. Par exemple, bien qu’il utilise sept fois moins de budget de calcul que DBRX, il reste compétitif sur le critère de compréhension du langage et raisonnement (un ensemble de onze indicateurs) et s’avère plus performant en mathématiques (GSM8K). Pour connaître le détail des résultats par critère individuel, consultez la rubrique Indicateurs.
Efficacité en matière d’entraînement
Pour atteindre ce niveau d’efficacité d’entraînement, Arctic utilise une architecture transformeur hybride dense-MoE unique. Celle-ci combine un modèle transformeur dense de 10 milliards de paramètres, avec un MLP MoE résiduel de 128x3,66 milliards de paramètres, ce qui donne 480 milliards de paramètres totaux et 17 milliards de paramètres actifs choisis à l’aide d’un mécanisme de gating basé sur les deux meilleurs experts (Top-2). Il a été conçu et entraîné en utilisant les trois informations et innovations clés suivantes :
1) Des experts nombreux mais condensés avec plus de choix entre les experts. À la fin de l’année 2021, l’équipe de DeepSpeed a démontré que l’architecture MoE pouvait être appliquée aux LLM autorégressifs afin d’améliorer considérablement la qualité des modèles sans augmenter le coût de calcul.
Lors de la conception d’Arctic, nous avons remarqué, d’après ce qui précède, que l’amélioration de la qualité des modèles dépendait surtout du nombre d’experts et du nombre total de paramètres intégrés dans le modèle MoE, ainsi que du nombre de combinaisons possibles entre les experts.
S’appuyant sur cette information, Arctic est conçu de façon à avoir 480 milliards de paramètres répartis entre 128 experts ultra-détaillés et utilise un mécanisme de gating Top-2 afin de choisir parmi 17 milliards de paramètres actifs. En comparaison, les modèles MoE récents sont construits avec un nombre d’experts beaucoup moins élevé, comme le montre le Tableau 2. Arctic exploite de manière intuitive un grand nombre de paramètres totaux et d’experts pour élargir la capacité du modèle de façon à offrir une intelligence de premier plan. En parallèle, il choisit judicieusement parmi de nombreux experts condensés et sollicite un nombre modéré de paramètres actifs, pour un entraînement et une inférence performants en termes de ressources.
2) Co-conception de l’architecture et du système. Entraîner une architecture MoE conventionnelle avec un grand nombre d’experts est absolument inefficace, même avec le matériel d’entraînement d’IA le plus puissant qui soit, en raison de frais élevés de communication all-to-all entre les experts. Toutefois, il est possible d’absorber ces frais si la communication peut se chevaucher au calcul.
Notre deuxième information indique que la combinaison d’un transformeur dense et d’un composant MoE résiduel (Fig. 2) dans l’architecture d’Arctic permet à notre système d’entraînement d’obtenir une bonne efficacité d’entraînement grâce au chevauchement entre le calcul et la communication. Ainsi, une grande partie des frais de communication est absorbée.
3) Programme de données centré sur l’entreprise. L’obtention d’excellents résultats sur les indicateurs d’entreprise, comme la production de code et SQL, nécessite un programme de données très différent des modèles d’entraînement pour les indicateurs génériques. Grâce à des centaines d’ablations à petite échelle, nous avons appris que les compétences génériques, comme le raisonnement de bon sens, pouvaient être apprises dès le départ. En revanche, les indicateurs plus complexes, comme le codage, les mathématiques et le SQL, ne peuvent être acquis efficacement que vers la dernière partie de l’entraînement. On pourrait établir un parallèle avec la vie et l’éducation des êtres humains, où l’on acquiert des compétences en commençant par les plus simples pour progresser vers les plus complexes. De la même façon, Arctic a suivi un entraînement en trois étapes, avec une composition de données différente centrée sur les compétences génériques à la première étape (1 billion de tokens) et sur les compétences d’entreprise aux deux étapes suivantes (1,5 et 1 billion de tokens). Retrouvez un résumé global de notre programme dynamique ici.
Efficacité en matière d’inférence
L’efficacité en matière d’entraînement ne représente qu’un aspect des capacités d’intelligence optimisée d’Arctic. L’efficacité en matière d’inférence est tout aussi stratégique pour permettre le déploiement pratique du modèle à bas coût. Arctic représente une avancée majeure en ce qui concerne l’échelle des modèles MoE, dans la mesure où il utilise plus d’experts et de paramètres totaux que n’importe quel autre modèle MoE autorégressif open source. C’est pourquoi plusieurs informations et innovations sont nécessaires pour garantir une inférence efficace sur Arctic :
a) Pour l’inférence interactive d’un batch de petite taille (p. ex., une batch de taille 1), la latence d’inférence du modèle MoE est ralentie par le temps nécessaire pour lire tous les paramètres actifs, dans la mesure où l’inférence est limitée par la bande passante de la mémoire. À cette taille de batch, Arctic (17 milliards de paramètres actifs) peut nécessiter jusqu’à 4 fois moins de lectures de la mémoire que Code Llama 70B et jusqu’à 2,5 fois moins que Mixtral 8x22B (44 milliards de paramètres actifs), ce qui offre une inférence plus rapide.
Nous avons collaboré avec NVIDIA et les équipes de NVIDIA TensorRT-LLM et vLLM dans le but de fournir une implémentation préliminaire d’Arctic à des fins d’inférence interactive. Grâce à la quantification en FP8, nous pouvons faire tenir Arctic dans un seul nœud GPU. Si Arctic est loin d’être entièrement optimisé, dans un batch de taille 1, il affiche un débit de plus de 70 tokens/seconde pour une transmission interactive efficace des données.
b) À mesure que la taille du batch augmente (p. ex., des milliers de tokens à chaque étape du processus), Arctic passe d'un fonctionnement dépendant de la bande passante de la mémoire à un fonctionnement dépendant du calcul, dans la mesure où l’inférence est ralentie par les paramètres actifs par token. À ce stade, Arctic implique 4 fois moins de calcul que Code Llama 70B et Llama 3 70B.
Un batch de grande taille s’avère nécessaire pour garantir une inférence limitée par le calcul et un débit relatif élevé adapté au petit nombre de paramètres actifs dans Arctic (voir Fig. 3). Pour atteindre ce stade, il faut suffisamment de mémoire cache KV afin de supporter le batch de grande taille, tout en ayant suffisamment de mémoire pour stocker près de 500 milliards de paramètres pour le modèle. Si le défi est réel, on peut obtenir ce résultat avec une inférence à deux nœuds utilisant une combinaison d’optimisations de système telles que des pondérations FP8, la division-fusion de batchs et la mise en batchs continue, le parallélisme de tenseur au sein d’un nœud et le parallélisme de pipeline sur plusieurs nœuds.
Nous avons travaillé en étroite collaboration avec NVIDIA afin d’optimiser l’inférence pour les microservices NIM de NVIDIA gérés par TensorRT-LLM. Dans le même temps, nous collaborons avec la communauté vLLM. Notre équipe de développement interne travaille également sur l’efficacité en matière d’inférence d’Arctic pour des cas d’usage d’entreprise dans les semaines à venir.
Véritablement ouvert
Arctic a été construit à partir des expériences collectives des membres de notre équipe, ainsi que des informations et des connaissances issues de la communauté. La collaboration ouverte est la clé de l’innovation. Arctic n’existerait pas sans le code open source et les résultats de recherche en accès libre mis à disposition par la communauté. Nous remercions la communauté et nous souhaitons ardemment mettre nos propres enseignements à la disposition de tous, afin d’enrichir le savoir collectif et de permettre à d’autres de réussir.
Notre engagement en faveur d’un écosystème entièrement ouvert va au-delà des pondérations et du code ouverts. Nous militons également pour l’accessibilité des résultats de recherche et des recettes open source.
Résultats de recherche en accès libre
La construction d’Arctic a suivi deux trajectoires distinctes : la voie ouverte, que nous avons parcourue rapidement grâce à la richesse des données de la communauté, et la voie obscure, caractérisée par les segments de recherche manquants en amont des données communautaires. Cette partie a nécessité un débogage intensif et de nombreuses ablations de données.
Avec cette publication, nous ne nous contentons pas de dévoiler notre modèle. Nous partageons également nos résultats de recherche à travers un « livre de recettes » exhaustif qui donne accès à nos trouvailles lors de notre exploration de la voie obscure. Ce livre de recettes est conçu pour faciliter le processus d’apprentissage de quiconque cherche à créer des modèles MoE d’envergure mondiale. Il propose un mélange d’informations globales et de détails techniques granulaires en matière de création d’un LLM comparable à Arctic. Ainsi, vous pouvez bâtir votre propre intelligence en maîtrisant l’efficacité et les coûts, en suivant la voie ouverte à chaque étape du processus.
Le livre de recettes évoque un grand nombre de sujets, y compris le pré-entraînement, le réglage, l’inférence et l’évaluation, et aborde en détail la modélisation, les données, les systèmes et les infrastructures. Vous pouvez afficher un aperçu de la table des matières, qui recouvre plus de vingt sujets. Nous publierons les articles de blogs Medium.com correspondants chaque jour au cours du mois prochain. Par exemple, nous dévoilerons nos stratégies pour trouver et affiner des données web dans « What data to use? ». Nous évoquerons la composition de nos données et notre programme dans « How to compose data ». Notre exploration des variations d’architecture MoE sera explicitée dans « Advanced MoE architecture », où nous discuterons de la co-conception de l’architecture du modèle et de la performance du système. Et pour ceux qui s’intéressent à l’évaluation du LLM, notre chapitre « How to evaluate and compare model quality — less straightforward than you think » abordera toutes les complexités inattendues que nous avons rencontrées.
Grâce à cette initiative, nous aspirons à contribuer à une communauté ouverte où l’apprentissage et le progrès collectifs sont la norme, afin de repousser encore et toujours plus les limites de ce domaine.
Code d’invocation open source
- Nous publions des points de contrôle du modèle à la fois pour la version de base et la version adaptée aux instructions d’Arctic sous une licence Apache 2.0. Cela signifie que vous pouvez les utiliser librement pour vos propres recherches, prototypes et produits.
- Notre pipeline basé une méthode de fine-tuning sur LoRA, accompagné d’une recette, permet de régler le modèle sur un seul nœud de manière efficace.
- En collaboration avec NVIDIA TensorRT-LLM et vLLM, nous mettons au point des implémentations d’inférence initiales pour Arctic, optimisées pour un usage interactif avec un batch de taille 1. Nous avons hâte de travailler avec la communauté afin de gérer les complexités de l’inférence des batchs de grande taille des très grands modèles MoE.
- Arctic est entraîné à l’aide d’une fenêtre contextuelle d’attention 4 K. Nous développons une fenêtre glissante basée sur le mécanisme « Attention Sink » pour prendre en charge une capacité illimitée de génération de séquences dans les semaines à venir. Nous avons hâte de travailler avec la communauté pour étendre cette fenêtre à une fenêtre d’attention de 32 K dans un futur proche.
Indicateurs
Nos indicateurs se concentrent surtout sur ce que nous appelons des indicateurs d’intelligence d’entreprise, c’est-à-dire un ensemble de compétences stratégiques pour les clients B2B, notamment le codage (HumanEval+ et MBPP+), la production de SQL (Spider) et le suivi d’instructions (IFEval).
En parallèle, il est tout aussi important d’évaluer les LLM selon les indicateurs utilisés par la communauté scientifique. Ceux-ci comprennent les capacités de connaissance du monde, de raisonnement de bon sens et de mathématiques. Nous appelons ces indicateurs les références académiques.
Voici une comparaison d’Arctic avec plusieurs modèles open source pour différents indicateurs d’entreprise et académiques :
Pour les indicateurs d’entreprise, Arctic affiche des performances de premier plan par rapport à tous les autres modèles open source, quelle que soit la catégorie de calcul. Pour les autres indicateurs, il atteint des performances de haut vol dans sa catégorie de calcul et reste compétitif face à des modèles entraînés avec des budgets de calcul plus élevés. Snowflake Arctic est le meilleur modèle open source pour les cas d’usage d’entreprise génériques. Si vous souhaitez entraîner votre propre modèle en partant de zéro avec le coût total de possession (TCO) le plus faible possible, les descriptions de l’infrastructure d’entraînement et de l’optimisation des systèmes dans notre livre de recettes devraient vous intéresser.
Pour les références académiques, l’accent a été mis sur les indicateurs de connaissance du monde, tels que le MMLU (Massive Multi-task Language Understanding), pour représenter la performance du modèle. Avec des données web et STEM de haute qualité, le MMLU monte en grade de manière monotone en tant que fonction d’entraînement des FLOPS (opérations en virgule flottante par seconde). Comme l’un des objectifs d’Arctic était l’optimisation pour une meilleure efficacité d’entraînement tout en conservant un petit budget d’entraînement, l’une des conséquences naturelles est une performance MMLU inférieure à celle de modèles haut de gamme récents. D’après cette information, nous nous attendons à ce que notre phase d’entraînement actuelle, pour un budget de calcul d’entraînement plus élevé qu’Arctic, dépasse la performance MMLU d’Arctic. Nous avons noté que la performance pour la connaissance du monde MMLU n’avait pas forcément de rapport avec notre spécialisation dans l’intelligence d’entreprise.
Tableau 3. Tableau intégral des indicateurs. Comparaison entre Snowflake Arctic et DBRX, LLAMA 3 8B, LLAMA 3 70B, Mixtral 8x7B, Mixtral 8x22B (variantes de chat ou d’ajustement selon des instructions si disponibles)1 2 3.
Prise en main d’Arctic
Le service de recherche en IA de Snowflake a récemment lancé et partagé en open source le code de la famille de modèles Arctic Embed atteignant des résultats de pointe en matière de récupération MTEB. Nous avons hâte de travailler avec la communauté au développement de la prochaine génération de familles de modèles Arctic. Rejoignez-nous à notre Data Cloud Summit du 3 au 6 juin pour en savoir plus.
Voici comment nous pouvons collaborer au développement d’Arctic dès aujourd’hui :
- Rendez-vous sur Hugging Face pour télécharger Arctic directement et utilisez notre répertoire Github pour obtenir des recettes d’inférence et de réglage.
- Pour une expérience serverless dans Snowflake Cortex, les clients de Snowflake disposant d’un mode de paiement enregistré auront accès à Snowflake Arctic gratuitement jusqu’au 3 juin. Offre soumise à des plafonds quotidiens.
- Accédez à Snowflake Arctic via le Model Garden ou catalogue de votre choix, notamment Amazon Web Services (AWS), Lamini, Microsoft Azure, le catalogue d’API NVIDIA, Perplexity, Replicate et Together AI dans les jours à venir.
- Discutez avec Arctic ! Testez une démo live sur Streamlit Community Cloud ou sur Hugging Face Streamlit Spaces, avec une API alimentée par nos amis de Replicate.
- Obtenez un mentor et des crédits pour vous aider à mettre au point vos propres applications reposant sur Arctic à l’occasion de notre Hackathon de la communauté sur le thème d’Arctic.
Enfin, n’oubliez pas de lire la première édition de notre livre de recettes pour en savoir plus sur le développement de vos propres modèles MoE personnalisés en maîtrisant au maximum vos coûts.
Remerciements
Nous voudrions remercier AWS pour leur collaboration et leur partenariat dans le cadre du développement du cluster et de l’infrastructure d’entraînement d’Arctic. Nous remercions également Nvidia pour leur collaboration dans la mise à disposition du support Arctic sur NVIDIA NIM avec TensorRT-LLM. Un grand merci à la communauté open source pour la production de modèles, ensembles de données et informations tirées des recettes de données, sur lesquels nous nous sommes appuyés pour concevoir notre outil. Enfin, nous souhaitons remercier nos partenaires d’AWS, de Microsoft Azure, du catalogue d’API NVIDIA, de Lamini, de Perplexity, de Replicate et de Together AI pour leur collaboration. C’est grâce à eux qu’Arctic est aujourd’hui disponible.
1. Les onze indicateurs pour la compréhension du langage et le raisonnement comprennent : ARC-Easy, ARC-Challenge, BoolQ, CommonsenseQA, COPA, HellaSwag, LAMBADA, OpenBookQA, PIQA, RACE et WinoGrande.
2. Les scores d’évaluation pour HumanEval+/MBPP+ v0.1.0 ont été obtenus en utilisant (1) bigcode-evaluation-harness avec un modèle de chat spécifique au modèle et un post-traitement aligné, (2) un décodage greedy. Nous avons évalué tous les modèles avec notre pipeline par soucis de cohérence. Nous avons vérifié que les résultats de nos évaluations concordent avec le EvalPlus leaderboard et avons constaté que les chiffres produits par notre pipeline sont légèrement supérieurs aux chiffres de EvalPlus pour tous les modèles. Nous pouvons donc affirmer que notre méthode d’évaluation pour chaque modèle est la meilleure possible.
3. Les scores IFEval représentent la moyenne de prompt_level_strict_acc et inst_level_strict_acc.