Les leçons à retenir de l’entraînement de Llama 2
Llama 2 n’est pas la collection de modèles open source espérée. Il n’en reste pas moins que les méthodes décrites par les chercheurs de Meta devraient aider la communauté à y voir plus clair pour tenter de reproduire le succès de ChatGPT (et de GPT-4) sur des jeux de données privées.
Le 18 juillet 2023, Meta a dévoilé Llama 2, sa licence commerciale permissive, son code et sa méthodologie d’entraînement. Si les chercheurs de Meta AI présentent deux collections de modèles – Llama 2 et Llama 2-Chat, toutes deux composées de trois variantes (7, 13 et 70 milliards de paramètres) – elles découlent d’un même processus itératif.
Dans un premier temps, Meta AI a préentraîné son grand modèle de langage (Large Language Model ou LLM) Llama 2 à l’aide de techniques de self-supervised learning. Puis, à travers diverses approches d’apprentissage par renforcement avec feedback humain (Reinforcement Learning with Human Feedbacks ou RLHF), elle a développé Llama 2-Chat.
Avec Llama, Meta ciblait deux objectifs : tenter de former un grand modèle de langage sûr et responsable qui soit suffisamment peu gourmand en ressources pour être utilisé par un grand nombre de laboratoires de recherche.
La division de recherche du groupe propriétaire de Facebook a prouvé qu’il était possible d’inférer des modèles d’IA générative sur des ordinateurs ou des stations de travail. Néanmoins, à l’entraînement, le projet a demandé d’exploiter des clusters rassemblant des milliers de GPU. Llama 2 ne déroge pas à la règle.
Avec l’IA générative, le Big Data prend tout son sens
De fait, Llama 2 s’appuie largement sur les efforts effectués par Meta lors de l’entraînement de son prédécesseur. Ce n’est pas une surprise : OpenAI et Google font de même pour des raisons économiques et de performances.
Le milieu de la recherche en IA, animé par les lois empiriques « scaling laws » mises en avant par OpenAI, a d’abord considéré que le nombre de paramètres jouait davantage que le volume de données impliqué dans la formation d’un LLM. Le projet Chinchilla, mené par Google Deepmind, a redéfini ces lois empiriques. « Pour un entraînement optimal, la taille du modèle et le nombre de tokens (un token équivaut à une séquence de trois ou quatre caractères suivant les langues, N.D.L.R) doivent être mis à l’échelle de manière égale : pour chaque doublement de la taille du modèle, le nombre de tokens utilisés lors de l’entraînement doit également être doublé », signalaient les chercheurs de Google en mars 2022.
En clair, il est possible d’abaisser le nombre de paramètres nécessaires à un modèle tout en augmentant le volume de mots dans un corpus.
À la recherche du ratio coût-performance idéal
Ainsi, quand Llama 1 reposait sur un corpus de préentraînement composé environ de 1,4 billion de tokens pour 65 milliards de paramètres, celui de Llama 2 compte 2 billions de tokens pour 70 milliards de paramètres. Il ne s’agit pas là d’une évolution majeure, mais – en théorie – la base de connaissances du modèle NLG augmente. Les chercheurs ne sont toutefois pas aussi transparents qu’ils l’avaient été lors de la publication de Llama 1. Ils ne détaillent pas le contenu de cet ensemble, mais tiennent à préciser qu’aucune donnée en provenance des clients de Meta n’a été utilisée pour mettre au point LLama 2.
Meta dispose d’un supercalculateur, nommé Research SuperCluster. Fonctionnel depuis le mois de janvier 2022, il est désormais doté de 2000 systèmes Nvidia DGX A100. Chacun d’entre eux est équipé de deux processeurs AMD Epyc Rome et de 2 To de mémoire vive. Cela représente un total de 16 000 GPU Nvidia A100. Dans le cas de Meta, la technologie Infiniband est utilisée pour interconnecter 2048 GPUs à la fois. Pour l’entraînement de Llama 2, Meta AI a également eu accès à des « clusters de production » de taille équivalente, mais utilisant la technologie d’interconnexion RoCE (RDMA over converged Ethernet).
Selon les chercheurs, la technologie RoCE permet d’obtenir des niveaux de performance équivalents à Infiniband. Les configurations RoCE standards étant plus répandues, parce que moins chères, Meta AI fait comprendre que les chercheurs peuvent s’équiper plus aisément. La startup française LightOn a entraîné ses modèles LLM sur une infrastructure comptant, elle aussi, 2048 GPUs.
Les différences entre Llama 1 et Llama 2
Toujours pour des raisons de performance et de coût, les chercheurs ont modifié à la marge les fondations de Llama 1. Premièrement, ils ont optimisé l’architecture Transformer du modèle de langage autorégressif pour doubler la longueur du contexte de 2048 à 4096 tokens. « Cela permet aux modèles de traiter plus d’informations, ce qui est particulièrement utile pour gérer de plus longs historiques de conversation, de traiter diverses tâches de résumé et de mieux comprendre des documents plus longs », indiquent les chercheurs.
Toutefois, Llama 2 est encore bien loin des 32 768 tokens offerts par la variante la plus capacitaire de GPT-4 (8 192 tokens pour la version standard).
Deuxièmement, l’architecture de Llama 2 a été optimisée à l’aide de la technique nommée « Grouped Query Attention » (GQA), dont l’implémentation est directement liée à l’augmentation de la fenêtre de contexte. Pour rappel, l’architecture Transformer repose en grande partie sur un mécanisme d’attention « multi-tête ». Les couches d’attention agissant en parallèle. Elles permettent au modèle d’établir le contexte entre les mots et leur importance dans un texte en effectuant une suite de calcul par l’association d’une requête et de paires clés-valeurs. Dans le cas d’un modèle autorégressif, ces têtes n’ont accès qu’aux représentations vectorielles des tokens précédents – c’est-à-dire aux mots d’un texte en entrée, ceux en sortie qui ont déjà été générés, et le sens associé.
Pour accélérer le calcul de l’attention, les architectes de modèles autorégressifs mettent en cache ces paires clés-valeurs au moment de l’inférence. Mais avec un mécanisme d’attention multi tête (MHA), qui demande de reproduire les paires clés-valeurs pour toutes les têtes, le fait d’allonger le contexte pèse lourd sur la mémoire des clusters. Llama 1 empruntait la technique Multi Query Attention (MQA) permettant de partager une seule projection de paires clés-valeurs entre plusieurs têtes d’attention. Si la technique s’avère efficace pour réduire la consommation de mémoire vive, elle impacte – dans une certaine mesure – la qualité des résultats. Pour pallier ce problème, les chercheurs de Meta appliquent la technique GQA éprouvée par les chercheurs de Google. Ici, une seule projection des clés-valeurs est partagée avec un groupe de têtes d’attention. Cette approche intermédiaire permet de combiner la faible consommation de mémoire vive de la technique MQA avec les performances de l’approche MHA.
Au total, l’entraînement de la collection Llama 2 a pris cinq mois (de janvier à juillet 2023) et 3,3 millions d’heures GPU cumulées.
Llama 2-Chat : les agents conversationnels ont besoin de données de qualité
Meta AI décrit plus longuement les cycles d’apprentissage par renforcement avec feedback humain pour obtenir Llama 2-Chat.
Peu convaincus par la qualité des millions d’exemples en provenance de jeux de données tiers et open source, les chercheurs ont fait appel à des annotateurs à travers différentes plateformes pour créer plus de 27 000 annotations. Ces fichiers représentent autant de paires de question-réponse et d’instruction-résultat. Tout comme LightOn et Databricks, Meta AI confirme qu’une meilleure qualité des données d’entraînement améliore grandement les résultats.
Après une phase de paramétrage pour soumettre une partie de ces prompts et leurs résultats au modèle, le modèle a été fine tuné pendant deux époques.
Les chercheurs ont ensuite collecté les premiers résultats générés par le modèle, puis ont demandé à des annotateurs de choisir la meilleure réponse entre deux propositions effectuées par deux variantes du LLM en ajustant la température des hyperparamètres. Les annotateurs ont labellisé leur choix à l’aide d’une grille d’évaluation expliquant à quel degré ils préféraient une réponse ou une autre. Lors de l’entraînement de Llama 2, 1 million de paires de questions-réponse annotées ont été collectées.
Ces feedbacks humains récoltés de manière hebdomadaire ont été utilisés pour entraîner deux modèles de récompenses « qui apprennent des patterns dans les préférences des annotateurs humains et peuvent ensuite automatiser les décisions en matière de préférences ».
Un équilibre ténu entre serviabilité et sûreté
Durant cette phase, Meta AI s’est inspiré de la méthode décrite par Anthropic dans le cadre de l’entraînement de Claude. Il s’agissait de maximiser la serviabilité (helpfulness) et la sûreté (safety) des réponses de LLama 2-Chat. Les nouvelles données obtenues ont été combinées avec des bases de données open source d’annotation de préférence. Elles étaient d’abord utilisées pour poursuivre l’entraînement en attendant de collecter les annotations humaines, mais ont été conservées parce qu’elles permettraient de généraliser l’apprentissage de ces règles de conduite. Selon les chercheurs, la précision des modèles de récompense « est l’un des indicateurs les plus importants de la performance finale de Llama 2-Chat ».
Les annotations humaines et les résultats des modèles de récompense ont servi à entraîner cinq itérations dites « RLHF » du modèle Llama 2-Chat. Pour cela, les employés de Meta AI ont exploité, voire combiné deux techniques : la méthode d’optimisation des politiques (Proximal Policy Optimization) pensée par OpenAI et l’échantillonnage par rejet. Cette deuxième technique n’a été appliquée directement que sur la variante dotée de 70 milliards de paramètres de Llama 2– Chat, puis les échantillons ont été distillés dans les deux autres modèles.
Ces techniques doivent guider le modèle pour s’assurer qu’il respecte ses objectifs : répondre à la demande d’un utilisateur (être serviable) de manière cohérente tout en respectant les critères de sûreté.
Problème, elles impactaient la capacité des modèles RLHF à répondre à certaines instructions, comme le fait d’incarner un personnage tout au long d’une conversation. En réponse, Meta AI a mis au point l’approche Ghost Attention (Gatt). À l’entraînement, il s’agit de collecter les échanges entre un utilisateur et un agent conversationnel, puis de créer des données synthétiques en modifiant les instructions pour préciser à chaque fois la commande désirée (« agis comme »). Ces instructions enrichies de nouvelles règles, elles aussi synthétiques, sont utilisées pour entraîner le modèle en ignorant les erreurs dans l’historique de conversation. Résultat, Llama 2-Chat peut respecter la demande pendant au moins vingt tours, « jusqu’à ce que la longueur maximale du contexte soit atteinte ».
L'automatisation des tâches d'apprentissage par renforcement en perspective
Les chercheurs notent qu’une partie de ces tâches peuvent être automatisées, selon un protocole d’ores et déjà nommé « Reinforcement Learning with AI Feedback » (RLAIF). D’ailleurs, ils invitent la communauté à réviser la notion de données supervisées. En effet, les auteurs constatent que les modèles LLM génèrent des prompts et des réponses plus convaincants que ceux des humains. Toutefois, la capacité de jugement des annotateurs, peu importe leur maîtrise de l’écriture, détermine le succès de l’approche RLHF, constate-t-il. « Nos résultats soulignent que le facteur déterminant du succès [de l’approche] RLHF réside dans la synergie entre les humains et les LLMs tout au long du processus d’annotation ».
Autre observation d’intérêt : l’application des approches RLHF permettrait au modèle final de choisir la température de la sortie en fonction du contexte. En clair, si la question est factuelle, Llama 2-Chat tend à fournir la même réponse. S’il s’agit de générer des contenus, le LLM diversifie davantage ses résultats.
Sans expliquer s’il s’agit d’un effet de l’allongement du contexte, de la plus grande quantité de données lors du préentraînement ou des méthodes de supervision mises en œuvre, les auteurs constatent que Llama 2-Chat a mieux assimilé la notion de temps.
Une red team à la rescousse
En parallèle, les ingénieurs de Meta ont mené une phase de fine-tuning et d’apprentissage par renforcement consacrée à la sûreté de Llama 2-Chat. Pour éviter de générer des contenus illicites, criminels, haineux ou des avis « non qualifiés », il s’agissait d’apprendre au modèle à gérer les attaques par exemple contradictoires avant et après la phase de RLHF. Par ailleurs, les chercheurs ont utilisé la technique de la distillation de contexte. Leur but était « de générer des réponses plus sûres en ajoutant un prépompt avant un prompt, par exemple “tu es un assistant sûr et responsable” », écrivent-ils. « Puis, nous avons affiné le modèle en nous appuyant sur les réponses évaluées comme les plus sûres sans utiliser le prépompt, ce qui permet de distiller ce préambule (le contexte) dans le modèle ».
Dans ce cadre, Meta AI a fait appel à une red team composé de 350 personnes, dont des développeurs, des experts en cybersécurité, en fraude électorale, en désinformation, en droit civil, en éthiques ou encore en développement. Ceux-là ont pu traiter une partie des 2 000 attaques par exemple contradictoires en langue anglaise identifiées par le laboratoire. Comme le travail n’a pas été fait dans d’autres langues, les risques d’utilisation sont plus grands, supposent les scientifiques.
Cette phase s’est révélée efficace ; sûrement trop, selon les constats des auteurs de l’article.
« Bien que nous ayons tenté de trouver un équilibre raisonnable entre la sûreté et l’utilité, dans certains cas, notre réglage sécuritaire est trop sévère », préviennent les chercheurs. « Les usagers de Llama 2-Chat pourront constater cette précaution excessive : le modèle hésite à refuser certaines demandes ou répond avec trop de détails concernant la sûreté ».
Pour autant, les modèles obtenus surpassent leurs concurrents open source dont MPT de MosaicML et Falcon dans la plupart des tâches. En revanche, Meta AI n’atteint pas encore son objectif, à savoir se mettre à niveau avec GPT-4 d’OpenAI.
Un consensus méthodologique à diffuser auprès de la communauté
Clairement, tous les laboratoires de recherche et les entreprises qui souhaiteraient se lancer dans l’entraînement d’un grand modèle de langage ne disposent pas des moyens de Meta AI. Néanmoins, les techniques décrites ici peuvent être mises en place à moindre échelle. Ce sont d’ailleurs à peu de chose près les méthodes utilisées par Google, OpenAI et Anthropic. L’article qui accompagne le projet d’open science est – à défaut d’être un manifeste – est aussi un mode d’emploi pour poursuivre l’affinage de Llama 2 et Llama 2-Chat. Un mode d’emploi qui sera nécessaire pour les entreprises qui comptent utiliser ses modèles exploitables commercialement à travers les plateformes AWS Sagemaker, Wastonx.ai d’IBM ou AI Enterprise de Nvidia.