Plongée dans les entrailles des grands modèles de langage qui font l'IA conversationnelle

Au cœur des étonnants agents conversationnels, tel ChatGPT, se trouvent des modèles de langage passés à très grande échelle en termes de quantité de données, de paramètres de modèles et de calculs. Apprentissage par auto-supervision, parallélisation des calculs, génération de texte et système d'agent conversationnels, voici les clés des grands modèles de langage.

Réservé aux abonnés
L'autosupervision, clé de l'entraînement des LLM
L'autosupervision, clé de l'entraînement des LLM

Les systèmes d’IA conversationnelle visent à établir une interaction humain-machine à la fois naturelle, précise et en temps réel. Leur développement pose des défis car il nécessite l’exécution de plusieurs technologies combinant souvent la reconnaissance de la parole, la synthèse vocale et différents modèles de traitement du langage naturel considérés comme le cerveau du système.

IMG_IT1018530_01Par Meriem Bendris,

Data scientist chez Nvidia

 

Les récentes avancées spectaculaires dans le traitement du langage naturel ont mis en évidence les capacités des modèles à grande échelle (large language models, LLM) à résoudre avec précision une multitude de tâches allant de la génération de contenus de grande qualité, souvent indifférenciables de contenus produits par un humain, à l’analyse de texte pour répondre à des questions de compréhension, réaliser des traductions ou des résumés automatiques. Depuis, diverses solutions fondées sur les LLM ont émergé, offrant des services tels que l’aide à la rédaction, la composition d’e-mails, la création de poèmes, la synthèse de documents, la génération de code informatique…

1. Du traitement automatique du langage aux modèles de fondation

Le traitement automatique du langage, ou Natural Langage Processing (NLP) est une discipline de l’IA qui vise à résoudre des tâches variées allant de la classification de documents, de la traduction et de la recherche d’information à l’analyse de contenus textuels. La structure et les règles linguistiques du langage positionnent les algorithmes de machine learning – destinés à extraire des motifs à partir de données – comme des outils adaptés aux tâches du NLP. Cependant, automatiser le traitement du langage naturel est une tâche complexe en raison des ambiguïtés inhérentes au langage humain, qui varient selon la thématique et le contexte. De plus, le langage est en constante évolution avec l’émergence de nouveaux concepts rendant la tâche d’automatisation à base de processus immuables imprécise.

La révolution Transformers

Le développement spectaculaire des réseaux de neurones résulte de leur capacité à convertir efficacement les données dans un espace de représentation sémantique. Au début des années 2010, le traitement automatique du langage a bénéficié de cette dynamique grâce à des approches telles que word2vec, qui a permis une représentation des mots dans laquelle les similarités sémantiques se traduisent par leur proximité dans l’espace de représentation. Par la suite, ces représentations ont été largement exploitées par des techniques de machine learning classiques, des réseaux de neurones utilisant la convolution et la récurrence jusqu’aux Transformers qui ont finalement établi les bases des LLM.

L’architecture Transformers, introduite dans « Attention is all you need », un article fondateur présenté par des chercheurs de Google en 2017 à la 31e conférence Neur­IPS, repose entièrement sur des mécanismes d’attention pour traiter l’information. L’idée fondamentale de l’attention est de donner plus d’importance à certaines parties d’une phrase lors de la réalisation d’une tâche. Cette architecture initialement proposée pour la tâche de traduction automatique suit une structure encodeur-décodeur dans laquelle l’encodeur crée une représentation riche du texte dans la langue source que le décodeur utilise ensuite pour produire une traduction.

Les LLM s’appuient sur l’architecture Transformers. Il existe plusieurs variantes de ces réseaux neuronaux : certains, comme BERT (bidirectional encoder representations from Transformers), utilisent la partie encodeur permettant une représentation vectorielle des phrases qui pourra être exploitée pour des tâches de classification, tandis que d’autres, comme GPT (generative pre-trained Transformer), se fondent sur l’architecture décodeur permettant de générer des mots de manière itérative, mot après mot (approche autorégressive).

Ce qu’il faut retenir

Les grands modèles de langage, dits LLM, sont de gigantesques réseaux de neurones de type Transformers, nourris d’un immense corpus de textes. Ils sont entraînés par autosupervision à compléter une séquence de mots tronquée. La masse de calculs nécessaire est telle que des algorithmes innovants ont dû être développés pour pouvoir les entraîner en les distribuant sur plusieurs cœurs de calcul. Complétés par des modules en entrée et en sortie, ils peuvent former de puissants systèmes conversationnels.

Le passage à grande échelle

Outre les mécanismes d’attention, c’est un triple passage à grande échelle qui a permis les succès des LLM. Il y a d’abord le nombre de paramètres dans les modèles, qui augmente jusqu’à la centaine de milliards, puis la quantité de données d’entraînement, qui peut atteindre la dizaine de milliers de milliards de mots. Travailler avec autant de données nécessite un mécanisme d’apprentissage différent du classique entraînement supervisé. Ce dernier repose sur des données préalablement labellisées pour ajuster de façon itérative les paramètres du réseau : une première phase, dite de forward, propage les données à travers le réseau (couche après couche) pour calculer une prédiction ; une seconde phase, de backward – utilisant l’algorithme de rétropropagation du gradient –, se base sur l’erreur obtenue en comparant la prédiction avec le label pour calculer les gradients de l’erreur par rapport à chaque paramètre du réseau et déterminer ainsi son ajustement qui réduit au mieux l’erreur.

Face à la difficulté de labelliser manuellement d’immenses volumes de données requis, l’approche retenue consiste à générer automatiquement des labels à partir des données elles-mêmes. Il s’agit le plus souvent de masquer un mot dans un texte : le texte avec un trou devenant la donnée, et le mot masqué le label. Le modèle peut alors être entraîné à prédire ce label. Ce mécanisme d’apprentissage est dit autosupervisé, dans le sens où la labellisation – qui donne le signal de supervision – est contenue dans la donnée elle-même (fig. 1). Le troisième passage à l’échelle découle des deux premiers : la complexité de développement de tels modèles augmentant considérablement, des algorithmes innovants ont dû être mis au point pour assurer un entraînement efficace en mode distribué sur des milliers de machines. Enfin, une fois ces modèles entraînés, leur mise en œuvre dans des applications en temps réel nécessite une étape minutieuse d’optimisation.

L'autosupervision, clé de l'entraînement des LLMFlorent Robert
L'autosupervision, clé de l'entraînement des LLM L'autosupervision, clé de l'entraînement des LLM

Ce triple passage à l’échelle a permis d’accroître le volume de connaissances assimilées et d’améliorer les performances sur les tâches auxquelles le modèle a été exposé durant l’entraînement. En outre, à mesure de l’augmentation de la taille des LLM et des bases de données d’entraînement apparaissaient des compétences de généralisation à de nouvelles tâches à partir de peu ou pas de supervision (zero ou few-shot learning). En mode zero-shot, le LLM va résoudre le problème sans avoir vu d’exemples spécifiques de la tâche, alors que le mode few-shot consiste à guider le modèle avec seulement quelques exemples de .

2. Les fondations des grands modèles de langage

Le processus de développement d’un modèle de fondation LLM est complexe et sa réalisation peut être très coûteuse en termes de temps, de calcul et d’ingénierie. Il est essentiel de définir soigneusement le problème, la taille du modèle, l’infrastructure nécessaire et les données d’entraînement.

À la source des connaissances

La qualité des données fournies pour entraîner les LLM contribue largement à la performance du modèle. Bien qu’elle soit souvent sous-estimée, l’étape de préparation des données est déterminante dans le développement des compétences du LLM. À titre d’exemple, filtrer même involontairement des documents majoritairement composés de formules mathématiques réduit largement les capacités du modèle dans ce domaine. Après la collecte des données, trois étapes principales sont nécessaires à leur préparation.

Le filtrage. Il consiste à éliminer les contenus indésirables et les documents dépourvus de sens (par exemple les URL) ou jugés inappropriés. Une sélection fondée sur la langue est souvent effectuée pour conserver uniquement les données dans les langues souhaitées. Enfin, les données doivent être en conformité avec la législation en vigueur, notamment sur les données privées.

La déduplication. Lorsqu’on utilise des données extraites d’internet, il est fréquent de retrouver dans le corpus des documents similaires et parfois plusieurs versions d’un même document. Il faut donc les filtrer. La déduplication est également essentielle afin de garantir une évaluation équitable du modèle sur des données qui n’ont pas été utilisées lors de l’entraînement.

La transformation en tokens. Les algorithmes de machine learning traitent les données textuelles sous format numérique. Un dictionnaire numérique peut être utilisé afin de représenter chaque mot. Néanmoins, la taille du vocabulaire doit être limitée pour des raisons de complexité. Des algorithmes de tokenisation permettent de convertir les corpus textuels en une représentation fragmentée fondée sur des sous-mots (tokens). Par exemple, le mot anticonstitutionnellement peut être fragmenté en plusieurs sous-mots :

C’est grand comment, un LLM ?

Les LLM actuels contiennent des dizaines de milliards de paramètres. Entraîner ces modèles implique une puissance de calcul et d’occupation mémoire considérable. Prenons l’exemple de GPT3 avec ses 175 milliards de paramètres : la mémoire mobilisée durant son entraînement est estimée à environ 2,6 Tb (estimation reposant sur les poids représentés en FP16, Adam optimizer). Le modèle ne peut pas être contenu dans une seule machine et doit être judicieusement distribué. De plus, l’estimation de temps d’entraînement sur huit machines de type Nvidia DGX A100 (soit 64 GPU A100) est d’environ 349 jours. Même si cela paraît beaucoup, il est possible d’accélérer l’entraînement du modèle en utilisant plusieurs centaines de machines, le réduisant ainsi à 140 jours sur un 1 DGX SuperPOD constitué de 20 DGX A100 (soit 160 GPU A100), et à 28 jours sur 5 DGX SuperPOD (soit 800 GPU A100).

Distribuer pour entraîner

L’entraînement de LLM a conduit au développement d’algorithmes adaptés pour distribuer les données et le modèle efficacement. Ces algorithmes exploitent au mieux les ressources informatiques disponibles en termes de puissance de calcul, de mémoire et de capacité de communication inter-machines. La parallélisation des calculs, essentielle, est réalisée de deux façons (fig. 2). Il s’agit d’abord de paralléliser les données : cela consiste à distribuer des répliques du modèle sur plusieurs machines, chacune traitant un lot de données spécifique pour calculer les ajustements par paramètre. Ces ajustements seront communiqués à toutes les machines afin de moyenner et synchroniser les mises à jour. Cette approche permet d’accélérer le traitement de la base de données d’entraînement avec comme conséquence un volume de communication pour les échanges d’ajustements (les gradients). Utilisée exclusivement, elle suppose que le modèle puisse être hébergé dans sa totalité sur une même machine.

Seconde parallélisation : celle du modèle, c’est-à-dire son découpage et la distribution des parties du modèle sur plusieurs machines. Cette méthode permet l’entraînement de modèles à grande taille qui ne peuvent pas être contenus sur une seule machine. Le découpage séquentiel (pipeline parallelism) implique une répartition successive des couches du modèle entre les machines, alors que le découpage tensoriel (tensor parallelism) distribue les opérations matricielles de chaque cellule Transformer entre les différentes machines. Selon les approches, un volume conséquent de communications matricielles est échangé, nécessitant un dispositif optimal de communication (latence et bande passante).

Des calculs massifs à paralléliserFlorent Robert
Des calculs massifs à paralléliser Des calculs massifs à paralléliser

D’autres techniques sont aussi utilisées. En particulier le recalcul d’activation, dont l’objectif est d’optimiser la gestion de la mémoire. Durant l’entraînement, les résultats des opérations matricielles issus de la phase forward sont conservés pour calculer les gradients lors de la rétropropagation. Le recalcul d’activation ne sauvegarde que certains résultats intermédiaires (checkpoints), qui serviront à régénérer les matrices manquantes pendant la rétropropagation.

La réduction de la précision numérique est une autre technique, qui consiste à réduire le nombre de bits encodant les nombres réels sur lesquels travaille le réseau de neurones [précision simple (FP32), double (FP64), réduite (FP16/BF16), ou nouvellement introduite (FP8)]. Entraîner un réseau de neurones en précision réduite permet de diminuer la place mémoire occupée, accélérant ainsi l’entraînement par augmentation de la quantité de données traitées par itération. Par ailleurs, certaines infrastructures informatiques disposent d’unités spéciales dédiées à la multiplication matricielle en précision réduite, telles que les TensorCores présentes sur les GPU Nvidia. Cependant, en précision réduite, toutes les opérations ne sont pas sans risque sur la performance du modèle. Des algorithmes ont ainsi été développés pour automatiser l’entraînement en précision mixte où certaines opérations s’effectuent en précision réduite, tandis que les opérations critiques sont maintenues en précision simple.

Enfin, l’architecture informatique est de première importance : les méthodes évoquées pour développer des LLM présentent une grande complexité, avec des implications importantes en matière de communication inter-machines, de calcul et d’occupation de la mémoire. Dans ce contexte, toutes les solutions, de la puissance de calcul de chaque machine aux couches logicielles, en passant par le stockage et le réseau, doivent fonctionner en harmonie afin d’accélérer l’entraînement. La présence d’un goulot d’étranglement dans une des parties affecte considérablement les performances en termes de vitesse d’entraînement.

Générer du texte à l’inférence

L’inférence d’un modèle génératif comme GPT consiste à lui présenter un texte en entrée appelé prompt, qui sera transformé en une suite de tokens. Le LLM génère les prochains tokens possibles en fonction du prompt initial de manière autorégressive. Pour chaque itération, le choix du token est déterminé avec les probabilités sur tout le vocabulaire disponible (fig. 3). Il est possible de moduler ces probabilités en ajustant certains paramètres afin d’améliorer les performances ou d’encourager certaines capacités comme la créativité ou le déterminisme. Ainsi, le paramètre de température permet d’ajuster la forme de la distribution des probabilités, ce qui entraîne une plus grande diversité dans le texte généré. Quand le paramètre de température est bas, le modèle est conservateur, se limitant aux probabilités les plus élevées. Plus le paramètre augmente, plus le texte généré devient imprévisible et créatif. Le paramètre Top-k indique au modèle qu’il doit conserver les k premiers plus probables tokens, parmi lesquels le token est sélectionné aléatoirement. Des valeurs plus faibles réduisent le caractère aléatoire. Quand la distribution de probabilité du prochain token est élargie, le paramètre Top-p peut être utilisé pour choisir aléatoirement les tokens les plus probables, dont la somme des probabilités est égale ou supérieure à la valeur p.

Inférence, du choix du bon mot à la génération de texteFlorent Robert
Inférence, du choix du bon mot à la génération de texte Inférence, du choix du bon mot à la génération de texte

Les techniques évoquées précédemment permettent de sélectionner un seul token à chaque étape de la génération. Le beam search est une autre procédure : les algorithmes de ce type sélectionnent plusieurs possibilités à chaque itération. Puis, pour chaque token, sélectionnent tous les suivants, et ainsi de suite, formant ainsi un arbre d’exploration. La taille du beam limite le nombre de candidats à sélectionner.

3. Limites et défis des modèles de fondation

L’entraînement d’un LLM à prédire le mot qui suit une séquence de mots est considéré comme un pré-entraînement, et le modèle qui en résulte, dit de fondation, a des limitations qui peuvent pour certaines être levées par la suite. Ainsi, un tel modèle est par conception un compléteur de phrases et rien ne garantit que, lors de son utilisation, il répondra à une question plutôt que de simplement continuer à étendre l’énoncé du problème. Trois grandes limites peuvent être signalées:

La pertinence non garantie. Les réponses du LLM pré-entraîné peuvent être erronées, imprécises ou même inventées (phénomène appelé hallucination). Ces limitations découlent également de la conception des modèles LLM entraînés à prédire la réponse sans possibilité de refuser de répondre à une question ou de demander des clarifications lorsque celle-ci est ambiguë.

Les connaissances figées. Bien que le passage à l’échelle permette aux LLM d’intégrer de manière implicite des connaissances depuis la base de données d’entraînement, celles-ci restent figées une fois les modèles entraînés. Il devient donc difficile de les exploiter tels quels hors champ de compétences.

L’absence de filtre. Les LLM sont susceptibles de refléter les biais et la toxicité présents dans les données d’entraînement. C’est une caractéristique inhérente à tous les modèles fondés sur le machine learning. Certaines techniques suggèrent de filtrer les bases de données à l’entraînement, d’autres de ne pas censurer les modèles à l’entraînement mais de contrôler les prédictions a posteriori. Les défis du filtrage ne sont pas que techniques puisqu’il s’agit aussi de parvenir en amont à définir des règles de contrôle consensuelles et adaptées au contexte d’utilisation.

Ajuster les paramètres d’un LLM

Plusieurs techniques permettent de pallier les limitations des modèles de fondation, comme l’ajustement des paramètres du modèle avec des données additionnelles (fig. 4). La majorité des LLM actuels sont ainsi affinés avec des bases de données supervisées (supervised fine-tuning). Il peut s’agir d’un entraînement au suivi de consignes (instruction fine-tuning) ou de l’apprentissage d’un domaine de connaissances spécifique. Certaines méthodes suggèrent également un ajustement sur des données de dialogue afin d’inculquer la structure des interactions fluides.

Des réglages fins à effectuerFlorent Robert
Des réglages fins à effectuer Des réglages fins à effectuer

Ces méthodes requièrent la modification de l’ensemble des paramètres du modèle, ce qui peut engendrer des coûts supplémentaires dans l’entraînement. Et pour conférer au LLM les compétences désirées, une quantité conséquente de données supervisées est nécessaire. Afin de pallier ces limitations, de nouvelles méthodes ont été développées, consistant à ajouter un petit ensemble de paramètres qui seront les seuls à être affinés avec les données supervisées. Ces paramètres supplémentaires peuvent prendre la forme d’un réseau de neurones externe indépendant conçu pour déterminer une représentation de la tâche à accomplir dans un espace continu comme dans les approches prompt-tuning. Cette représentation est par la suite combinée avec la question fournie en entrée du LLM. Les paramètres supplémentaires peuvent aussi être intégrés directement dans les couches du LLM sous forme d’adaptateurs comme dans les approches parameter efficient fine-tuning (Peft). Ainsi, le modèle LLM initial étant figé, la quantité de données et la puissance de calcul nécessaires à ces ajustements seront limitées. Enfin, certaines études récentes cherchent à apporter des nuances sur la génération du modèle en ajustant les paramètres sur des réponses évaluées par des humains (reinforcement learning with human feed­back, ou RLHF).

Élargir le savoir des LLM

Compléter la requête adressée au LLM avec des informations additionnelles améliore la pertinence de la réponse. Des documents pertinents sont sélectionnés automatiquement depuis une base de données de connaissances, par exemple en recherchant des extraits similaires à la requête. Les techniques existantes utilisent un système de recherche (retriever) souvent constitué de modèles de langage dédiés à la représentation des documents et d’un système d’indexation pour une recherche par similarité accélérée. Ensuite, les documents retrouvés sont joints à la requête adressée au LLM afin de générer la réponse. Par exemple, reformuler la requête par : « Étant donné les documents suivants :

4. Des LLM aux systèmes conversationnels

Les LLM instruits excellent dans la création de contenus textuels, l’interprétation et la réponse à des questions complexes en suivant des instructions précises et en consultant des bases de connaissances pour fournir des réponses factuelles. Toutefois, un système conversationnel ne se limite pas à des échanges fragmentés de questions/réponses, mais vise à offrir des interactions continues et cohérentes, et dans le contexte des assistants virtuels, il offre également la capacité d’exécuter des commandes.

Les systèmes de dialogue

Un assistant virtuel alimenté par des LLM est guidé par un gestionnaire de dialogue qui lui fournit des directives détaillées sur les entrées/sorties des LLM (fig. 5). Pour chaque interaction, le système enrichit la requête avec des consignes rappelant par exemple le rôle de l’assistant (« Vous êtes un assistant dialoguant avec un utilisateur de la plateforme... ») et une description de ses obligations (« Veillez à suivre scrupuleusement les directives de l’utilisateur… »). Le système de dialogue complète la requête en y intégrant la totalité ou des extraits des précédentes interactions avec l’utilisateur, permettant ainsi de mieux interpréter les requêtes lorsque des références sont mentionnées antérieurement.

Le système de dialogue utilise un ou plusieurs modèles NLP de classification pour déterminer les intentions de l’utilisateur, puis orchestre les requêtes sollicitant des LLM. Lors des échanges, des mécanismes de vérification nommés garde-fous sont mis en place à diverses étapes pour assurer la pertinence et la sécurité des réponses générées par les modèles de langage.

Du LLM au système conversationnelFlorent Robert
Du LLM au système conversationnel Du LLM au système conversationnel

Les garde-fous

Les contrôles de thématique sont conçus pour empêcher les conversations de dévier vers des domaines indésirables. Le système de dialogue utilise des modèles de langage dédiés à la classification par thématique, toxicité et éthique. Lorsqu’un utilisateur ou un bot s’engage dans des conversations qui sortent du cadre, le système de contrôle le reconnaît et y répond en déclinant la requête et en rappelant les domaines de compétences du bot par des messages comme « Désolé, je ne connais pas la réponse ». Les contrôles de validité des réponses sont conçus pour prévenir des informations erronées générées par des LLM via la vérification des faits (fact-checking) et la détection des hallucinations. La vérification des faits s’appuie sur des sources de données fiables mises à disposition du système. Par exemple, le LLM peut être interrogé une seconde fois pour confirmer ou réfuter la véracité de sa réponse précédente en fonction de segments pertinents extraits de la base de connaissances. Concernant les hallucinations, le système peut éventuellement vérifier la cohérence du LLM en soumettant plusieurs requêtes similaires. Si les réponses sont jugées erronées ou incohérentes, le système peut choisir de s’abstenir de répondre en transmettant un message du type « Désolé, je ne dispose pas de la réponse à votre requête ».

Cybersécurité

Permettre aux LLM d’accéder à des ressources et outils externes tels que des bases de données, des moteurs de recherche, des calculateurs… renforce considérablement leurs capacités. Cependant, cela augmente leur vulnérabilité aux attaques car ces ressources peuvent être compromises. Pour minimiser les risques, notamment les fuites d’information ou l’exécution de codes malveillants, la sécurité doit primer lors de la conception de ces applications. Et bien qu’il existe des bonnes pratiques pour contrer les attaques courantes, des évaluations et tests réguliers sont essentiels pour toutes les applications alimentées par les LLM.

Conclusion

Les LLM ont déverrouillé le potentiel de l’IA conversationnelle grâce aux capacités génératives, d’analyse contextualisée, de synthèse et de traduction automatique. Les modèles de fondation pré-entraînés sur d’énormes volumes de données servent de point de départ au développement plus économique de modèles ciblés sur un domaine particulier. Par ailleurs, les applications conversationnelles alimentées par des LLM ne se limitent pas à la simple consultation des modèles de langage mais intègrent de nombreux outils et mécanismes de contrôle pour assurer des interactions fluides, précises et ajustées aux besoins de l’utilisateur. Aujourd’hui, les progrès technologiques initiés par le traitement automatique du langage ouvrent la voie à une nouvelle ère dans l’intelligence artificielle : l’IA générative, qui transforme profondément notre manière d’utiliser les machines.

Newsletter La Quotidienne
Nos journalistes sélectionnent pour vous les articles essentiels de votre secteur.