Starline Art - stock.adobe.com

LLM ouvert : Snowflake entre dans la course avec Arctic

Avec ses grands modèles de langage Arctic, Snowflake compte bien se mettre en tête de proue de l’innovation ouverte. L’intérêt pour le fournisseur ? Ne pas forcément dépendre d’un acteur tiers et proposer des solutions alignées avec les cas d’usage qu’ils portent.

Le spécialiste du datawarehousing a présenté Arctic, une famille de LLM à poids, architecture et recette d’entraînement ouverts, sous licence Apache 2.0, développé par certains des faiseurs des librairies DeepSpeed et ZeRO.

Ces SDK open source ont été imaginés à l’origine par des chercheurs de Microsoft et sont depuis utilisés dans le cadre de l’entraînement de bon nombre de grands modèles de langage. Certains de ces chercheurs ont rejoint Snowflake.

Et qui dit DeepSpeed, dit la technique « Mixture of Experts ». « Nous avons été les premiers à prouver que les architectures Mixture of Experts étaient viables pour entraîner des grands modèles de langage », affirme Samyam Rajbhandari, ingénieur principal chez Snowflake et cofondateur du projet DeepSpeed.

« Nous avons été les premiers à prouver que les architectures Mixture of Experts étaient viables pour entraîner des grands modèles de langage. »
Samyam RajbhandariIngénieur principal chez Snowflake et cofondateur du projet DeepSpeed

« Dans ce cadre nous divisons les paramètres du modèle en sous-groupes appelés experts », rappelle Yuxiong He, ingénieure logiciel IA distinguée chez Snowflake. « Les données d’entrée ne sont acheminées que vers les experts qui peuvent les traiter le plus efficacement. Ce traitement ciblé rend les modèles MoE plus efficaces que les modèles denses [Llama 3, par exemple, N.D.L.R.] », explique-t-elle. « En outre, il permet aux modèles de MoE d’accroître leur capacité tout en conservant un volume de calcul réduit et fixe, puisque chaque token ne visite qu’un groupe d’experts sélectionné ».

128 experts pour un seul modèle

Au lieu de 8 ou 16 groupes d’experts comme DBRX, Grok et Mixtral 8x22B, Arctic en compte 128.

Selon les chercheurs de Snowflake, cela permet de concentrer les groupes d’experts sur de plus petites tâches, donc de les rendre plus efficients dans un domaine. Il y aurait, selon eux, des mélanges d’experts à « gros grains », comme dans le cas de Databricks, xAI et Mistral AI et des experts à « grains fins », dans leur cas.

Or, à l’entraînement l’appel à 128 experts n’a rien de trivial. L’une des raisons qui pourraient expliquer pourquoi Mistral AI, Databricks et xAI ont fait le choix de se concentrer sur un « petit » nombre d’experts, c’est qu’ils sont limités par la transmission de données entre les GPU. Le problème devrait être démultiplié dans le cas d’Arctic.

« Le principal défi des experts à grains fins, c’est ce que cela demande beaucoup de temps pour communiquer les données d’un expert localisé dans un GPU à un autre expert situé dans un autre GPU. »
Samyam RajbhandariIngénieur Principal, IA, Snowflake

« Le principal défi des experts à grains fins, c’est que cela demande beaucoup de temps pour communiquer les données d’un expert localisé dans un GPU à un autre expert situé dans un autre GPU », déclare Samyam Rajbhandari. « Pour résoudre ce problème, nous avons développé une architecture MoE hybride », ajoute-t-il.

Dans le cas d’Arctic, les chercheurs ont imaginé une architecture à l’aide des systèmes DeepSpeed et ZeRo-2 qui réunit certaines des capacités d’un modèle dense et de celle d’un transformer Mixture of Experts.

Elle consiste à inclure deux « chemins » de transmission pour les données d’entraînement. « Il y a un parcours d’entraînement dense et autre MoE. L’existence simultanée de ces deux chemins permet de faire se chevaucher la communication entre eux », explique Samyam Rajbhandari. « Cela permet de bénéficier des avantages d’un protocole MoE sans subir l’inefficacité de la surcharge de communication qu’il implique autrement ».

Ainsi, les modèles Arctic sont constitués d’un Transformer de 10 milliards de paramètres et de 128 experts de 3,66 milliards de paramètres regroupant au total près de 480 milliards de paramètres.

Cette voie, les chercheurs de Snowflake ne sont pas les seuls à l’emprunter. AI21Labs a également développé une architecture hybride, présentée dans un article de recherche en mars dernier.

Un entraînement « dynamique » en trois phases

Il y a une autre astuce. « Traditionnellement, les grands modèles de langage sont entraînés à l’aide d’un programme de données fixes dont la composition ne change pas vraiment au cours de la formation. Cependant, cela est très différent de la façon dont les humains apprennent », note l’ingénieur. « Nous apprenons des concepts simples de langage et de raisonnement dès notre enfance, puis nous acquérons des compétences spécialisées comme les mathématiques, la programmation, en grandissant. Il s’avère que nos travaux révèlent que les LLM préfèrent cette méthode d’assimilation des connaissances ».

Les chercheurs de Snowflake ont donc fait varier la composition des données au cours de l’entraînement. « L’utilisation d’un curriculum dynamique améliore à la fois les performances de codage du modèle et ses compétences linguistiques et de raisonnement », assure Samyam Rajbhandari.  

Dans le cas présent, l’entraînement a été divisé en trois phases et effectué à l’aide de 3 500 milliards de tokens. Dans la première phase, 75 % des 1 000 milliards de tokens utilisés provenaient du Web. Dans la deuxième phase, les chercheurs ont utilisé 1 500 milliards de tokens et ont fait passer la portion de code et de langage SQL à 19,20 %. Dans la troisième phase, le volume de code représentait plus de 26 % des 1 000 milliards de tokens, tandis qu’un peu plus de la moitié d’entre eux (52 %) provenait du Web.

Arctic a été entraîné avec une fenêtre de contexte de 4 096 tokens. « Nous sommes en train de développer une fenêtre d’attention glissante afin de générer un plus grand nombre de tokens », déclare Yuxiong He. « En outre, nous sommes également en train d’affiner le modèle pour des contextes encore plus longs. Par exemple, 16 000 ou 32 000 tokens ». La communauté est invitée à participer au projet pour faire croître cette capacité.

Inférence : Arctic ne tient pas encore ses promesses d’efficience

Arctic a été entraîné avec un budget relativement restreint de « moins de deux millions de dollars ». À titre de comparaison, c’était la fourchette basse estimée par OpenAI pour que les entreprises affinent ses modèles avec leurs propres données. Sur les trois mois de travail qu’a réclamé Arctic, la collection a été entraînée en utilisant environ 1 000 GPU Nvidia sur trois semaines, renseigne Samyam Rajbhandari. Le tout est a été hébergé sur AWS.

Pour le fine-tuning et l’inférence, un seul nœud de huit GPU H100 dotés de 80 Go de VRAM chacun suffit. Théoriquement, Arctic active 19 milliards de paramètres de moins à l’inférence que DBRX, mais il faut bien charger les 480 milliards de paramètres en mémoire. D’où la nécessité d’exploiter un cluster de huit GPU (640 de VRAM), et non de quatre GPU (320 Go de VRAM), comme le réclame le LLM de Databricks.

Snowflake conseille les instances p5.48xlarge d’AWS et ND96isr_H100_v5 d’Azure (minimum 98 dollars de l’heure à la demande !). Pour l’heure, les modèles Arctic génèrent environ 70 tokens par seconde avec cette configuration, contre près de 140 tokens par seconde pour DBRX.

Snowflake travaille déjà avec Nvidia pour optimiser l’exécution des LLM Arctic au format FP8 et les chercheurs espèrent compresser les modèles au format FP6 de manière efficace.

Arctic obtient un score de 67 sur 100 au benchmark MMLU (compréhension du langage) quand Llama 3-70B est noté 79,5, DBRX 73, et Mixtral 8x22B, 77,75 %.

En revanche, le LLM de Snowflake assure 74,2 % aux tests de mathématiques GM8K, contre 66,9 % pour DBRX (5 shots), mais est battu par Mixtral 8x22B avec 78,6 % (5 shots) et par Llama 3-8B et 70B (79,6 et 93 % au test GSM8K 8 shots).

Les chercheurs de Snowflake évoquent une moyenne de 64,6 % au test EvalPlus, réunissant les scores de benchmarks de programmation Python HumanEval Plus et MBPP Plus. À titre de comparaison la variante Instruct LLama 3-70B obtient 69,8 %, Mistral 8x22b instruct affiche un score de 67,2 %, tandis que GPT-4-Turbo est en tête du classement avec 77,5 %.

Les variantes pré-entraînées des modèles concurrents ne figurent pas dans ce classement, hormis Llama 3-8B avec son score de 40 %. Snowflake met surtout en avant le score de son modèle dans un exercice de génération de SQL (Spider). Celui-ci obtient un 79 % comme Mixtral 8x22B, contre 80 % pour Llama 3-70B. Pour rappel, Meta a entraîné ses LLM pendant plusieurs mois.

IA : Snowflake veut garder la maîtrise de l’innovation

Pourquoi Snowflake se lance-t-il dans cette aventure ? La nomination de Shridar Ramaswamy à la tête de Snowflake a donné une couleur résolument « IA » à la feuille de route de l’entreprise. L’ancien dirigeant de la société Neeva, rachetée il y a presque un an par le spécialiste du data warehousing, a été l’instigateur du module Cortex. Celui-ci est consacré à l’inférence et à l’entraînement de modèles d’IA.

La mise en avant de benchmarks consacrés à Python et à SQL démontre qu’il s’agit de propulser des cas d’usage de l’IA générative interne à la plateforme de données, soit pour fournir des fonctionnalités d’automatisation, soit pour faciliter l’accès aux outils par des analystes.

« Il aurait été facile pour nous d’exploiter un modèle open source. Au lieu de cela, nous faisons un investissement fondamental parce que nous pensons qu’il va débloquer plus de valeur pour nos clients », affirme Shridar Ramaswamy.

« Il aurait été facile pour nous d’exploiter un modèle open source. Au lieu de cela, nous faisons un investissement fondamental parce que nous pensons qu’il va débloquer plus de valeur pour nos clients. »
Shridar RamaswamyCEO, Snowflake

Selon les analystes interrogés par SearchBusinessAnalytics, publication sœur du MagIT, il s’agit surtout d’obtenir un « point de contrôle » afin de ne pas dépendre d’un acteur tiers. Et de citer les LLM de Databricks, d’AWS et de Google Cloud, trois acteurs réputés pour leurs plateformes de données, qui, simultanément, avancent « fournir du choix » aux clients en proposant d’héberger des LLM tiers.

Cela croise les intérêts des chercheurs engagés par Snowflake. « Au cours des 18 derniers mois, la recherche dans ce domaine est majoritairement restée cachée derrière les rideaux. Nous estimons donc qu’il est très important de contribuer à l’industrie et de rendre la recherche disponible », avance Samyam Rajbhandari. Un projet salué par Hugging Face et AI21Labs, entre autres.

Suivant cette logique (et comme DBRX) Arctic base et Arctic Instruct sont ou seront disponibles depuis Hugging Face, Amazon Bedrock, Nvidia NIM (Nvidia API Catalog), Lamini, together.ai, Replicate, Azure AI, et Snowflake Cortex.

Il y a sans doute une velléité marketing, pour rester « dans le coup » face à son grand concurrent Databricks, bien que le CEO de Snowflake s’en défende.

« Il ne s’agit pas d’un exercice de positionnement. Je sais que c’est fatigant à entendre de la part d’un éditeur, mais je pense sincèrement que l’IA est une technologie transformatrice, qui aura peut-être encore plus d’impact que le smartphone », affirme Shridar Ramaswamy. « Elle est vouée à transformer la manière dont nous (et les logiciels) consommons l’information. Il s’agit donc d’un élément important qui se superpose à tout ce que nous faisons », poursuit-il.

Et de rappeler que Snowflake continue de développer son datawarehouse cloud, entre autres pour prendre en charge des formats ouverts et terminer (enfin !) d’intégrer son système de catalogage de données.

Pour approfondir sur Data Sciences, Machine Learning, Deep Learning, LLM

Close