Pour gérer vos consentements :

Les LLM Granite 3.0 d'IBM, signes des temps

Publié par Clément Bohic le | Mis à jour le

Les méthodes suivies pour entraîner les derniers-nés de la famille Granite illustrent les enjeux actuels associés au développement de modèles de fondation.

Diviser l'entraînement en deux phases et axer la seconde sur de la data de haute qualité ? Le projet EuroLLM a employé cette technique pour ses premiers modèles, récemment publiés. Il a plus précisément augmenté la proportion de ce type de données sur la fin du processus (les 10 derniers %).

IBM n'a pas tout à fait adopté la même approche pour former les LLM Granite 3.0, fraîchement officialisés. Il a en l'occurrence réservé la data de haute qualité à la deuxième phase d'entraînement. Laquelle a représenté, selon les modèles, entre un cinquième et un sixième des tokens.

Deux modèles MoE orientés edge

La famille Granite 3.0 compte pour le moment quatre représentants, tous sous licence Apache 2.0. Chacun est disponible en version Base (checkpoints après entraînement) et Instruct (affiné pour le dialogue et le suivi d'instructions). Il y a, d'une part, des modèles 8B et 2B à usage général. De l'autre, des modèles 2B et 1B de type MoE avec respectivement 800M et 400M paramètres actifs. Ces derniers se prêtent davantage à un usage sur CPU.


L'entraînement s'est fait sur Blue Vela, un cluster HPC d'IBM équipé en H100 SuperPod avec stockage Spectrum LSF, avec un budget de 8,35 x 1023 flops. Les modèles à usage général - dits denses - ont été entraînés sur 12 000 milliards de tokens. Les MoE, sur 10 000 milliards. Les émissions carbone associées ont été calculées sur la base d'un PUE de 1,3 et du facteur d'intensité moyen du réseau américain.


Une partie des modèles Granite 3.0 seront disponibles sous forme de microservices NIM et via l'intégration Hugging Face au sein du Model Garden de Vertex AI. La capacité de traitement de documents multimodaux est censée arriver d'ici à fin 2024, comme l'extension de la fenêtre de contexte à 128k.

De MagPie à ScatterMoE, des techniques récentes sur tout le cycle d'entraînement

IBM a mis en oeuvre plusieurs techniques récentes d'entraînement de modèles. Parmi elles, ScatterMoE (Tan et al., 2024). Cette implémentation a, entre autres caractéristiques, celle d'être dropless (elle n'impose pas de plafond de tokens par expert).

Des techniques récentes, IBM en a également utilisé pour générer des données synthétiques. Par exemple, Evol-Instruct et MagPie (Xu et al., 2023 et 2024). La première s'appuie sur des questions racines et en génère des versions améliorées à renfort de prompt engineering. La deuxième construit directement des instructions en s'appuyant sur des templates d'échantillonnage.

Dans la catégorie "données issues du Web", IBM a notamment fait appel aux datasets FineWeb (Penedo et al., 2023) et DCLM (Li et al, 2024) pour la partie langage ; à GitHub Code Clean et à StarCoderdata pour la partie code.
Le corpus couvre 12 langues, avec une nette prévalence de l'anglais. Les 11 autres, dont le français, ont vu leur proportion augmentée au sein des données de haute qualité.


Filtrage Gopher et graphes de connaissances

Pour le filtrage des données linguistiques, IBM a repris les critères Gopher (Rae et al., 2021). Ainsi, il a écarté, entre autres, les exemples contenant plus de 90 % de bullet points, plus de 30 % d'ellipses ouplus de 10 % de symboles.
Pour le code, il s'est resservi des règles utilisés pour ses modèles Granite Code. Ce qui implique la suppression des fichiers :

  • Contenant moins de 25 % de caractères alphabétiques
  • HTML où le texte visible ne constitue pas au moins 20 % du code
  • JSON et YAML qui ne contiennent pas de 50 à 5000 caractères
  • La génération de données destinées à travailler le raisonnement s'est fondée sur des graphes de connaissances comme ATOMIC (Hwang et al., 2021) et Wikidata (Vrandecic & Krötzsch, 2014).

    L'ajustement - par apprentissage supervisé - a exploité trois sources principales : des jeux de données publiques "à licences permissives", des données synthétiques internes "ciblant des capacités spécifiques" et "de petites quantités de données triées par l'humain".


    Illustration © bestforbest - Adobe Stock