Un grand modèle de langage (LLM pour Large Language Model) est un modèle d’apprentissage automatique capable de comprendre et générer des textes. Ils opèrent en analysant des volumes massifs de données de langage.
Cet article s'articule autour des points suivants :
Contenu associé
Qu'est-ce que l'intelligence artificielle (IA) ?
Qu'est-ce que l'apprentissage automatique ?
Base de données vectorielle
IA prédictive
Qu'est-ce que l'IA générative ?
Abonnez-vous à theNET, le récapitulatif mensuel de Cloudflare des idées les plus populaires concernant Internet !
Copier le lien de l'article
Un grand modèle linguistique (Large Language Model, LLM) est un type de programme d'intelligence artificielle (IA) capable, entre autres tâches, de reconnaître et de générer du texte. Les LLM sont entraînés sur de vastes ensembles de données, d'où l'emploi du terme « large » (grand) dans la dénomination anglaise. Ils s'appuient sur l'apprentissage automatique (Machine Learning, ML) et plus spécifiquement sur un type de réseau neuronal dénommé « modèle transformateur ».
En termes plus simples, un LLM est un programme informatique nourri de suffisamment d'exemples pour être capable de reconnaître et d'interpréter le langage humain ou d'autres types de données complexes. De nombreux LLM sont entraînés à l'aide de données recueillies sur Internet, soit des milliers ou des millions de gigaoctets de texte. Toutefois, la qualité des échantillons a une incidence sur l'apprentissage du langage naturel par les LLM. Les programmeurs d'un LLM auront donc tendance à utiliser un ensemble de données mieux structuré.
Les LLM utilisent un type d'apprentissage automatique appelé apprentissage en profondeur (Deep Learning) afin de comprendre comment les caractères, les mots et les phrases interagissent ensemble. L'apprentissage en profondeur met en œuvre l'analyse probabiliste de données non structurées afin de permettre au modèle de reconnaître les différences entre les éléments de contenu sans intervention humaine.
Une étape d'affinage vient ensuite renforcer l'entraînement des modèles. Leurs résultats sont affinés avec précision (ou à l'aide d'invites plus précises) en fonction de la tâche particulière que le programmeur souhaite leur confier, comme l'interprétation de questions et la génération de réponses, ou la traduction d'un texte d'une langue vers une autre.
Les LLM peuvent être entraînés pour un certain nombre de tâches. L'une des utilisations les plus connues est leur application en IA générative : ils sont capables de produire un texte de réponse à une invite ou une question. ChatGPT, un LLM accessible au public, peut par exemple générer des essais, des poèmes et d'autres formes de texte en réponse aux entrées de l'utilisateur.
N'importe quel ensemble de données complexes et de grande taille peut être utilisé pour entraîner des LLM, y compris les langages de programmation. Certains LLM peuvent d'ailleurs aider les programmeurs à rédiger du code. Ils peuvent ainsi écrire des fonctions à la demande ou terminer l'écriture d'un programme à partir d'un code qui leur a été donné comme point de départ. Les LLM peuvent également être utilisés pour les besoins suivants :
Parmi les exemples de LLM réels, citons ChatGPT (OpenAI), Bard (Google), Llama (Meta) et Bing Chat (Microsoft). Le Copilot de GitHub est un autre exemple, mais pour il s'applique au codage et non au langage humain naturel.
L'une des principales caractéristiques des LLM est leur capacité à répondre à des requêtes imprévisibles. Un programme informatique traditionnel reçoit des commandes dans sa syntaxe acceptée, ou à partir d'un certain ensemble d'entrées de l'utilisateur. Un jeu vidéo dispose d'un ensemble fini de boutons, une application dispose d'un ensemble fini d'éléments sur lequel l'utilisateur peut cliquer ou qu'il peut saisir, et un langage de programmation est composé d'énoncés précis de type « si » et « alors ».
De son côté, un LLM peut répondre au langage humain naturel et utiliser l'analyse de données pour répondre à une question non structurée ou à une invite de manière logique. Tandis qu'un programme informatique classique ne reconnaîtrait pas une question du type « Quels sont les quatre plus grands groupes de funk de l'histoire ? », un LLM peut répondre par une liste de quatre groupes de ce type et exposer un argument convaincant des raisons pour lesquelles ces derniers sont les meilleurs.
Cependant, concernant les informations qu'ils fournissent, les LLM ne seront fiables que si les données qu'ils ingèrent le sont. S'ils reçoivent des informations erronées, les réponses qu'ils donneront aux demandes de l'utilisateur le seront également. Il arrive que les LLM « hallucinent » un peu : c'est-à-dire qu'ils créent de fausses informations lorsqu'ils ne sont pas en mesure de fournir une réponse précise. Par exemple, en 2022, le magazine Fast Company a interrogé ChatGPT sur le dernier trimestre financier de l'entreprise Tesla ; ChatGPT a certes produit un article cohérent en réponse, cependant une grande partie des informations contenues dans l'article ont été inventées.
En matière de sécurité, les applications destinées aux utilisateurs et basées sur les LLM sont aussi sujettes aux bugs que n'importe quelle autre application. Les LLM peuvent également être manipulés à l'aide d'entrées malveillantes afin de produire certains types de réponses plutôt que d'autres, en particulier des réponses dangereuses ou contraires à l'éthique. Ces modèles posent également un certain nombre de problèmes de sécurité liés notamment au fait que les utilisateurs peuvent y importer des données sécurisées et confidentielles afin d'accroître leur propre productivité. Enfin, les LLM utilisent également les entrées qu'ils reçoivent pour entraîner leurs modèles. Or, ils ne sont pas conçus pour être des coffres-forts sécurisés. Il peut ainsi leur arriver d'exposer des données confidentielles en réponse à des requêtes provenant d'autres utilisateurs.
Au départ, les LLM reposent sur l'apprentissage automatique. L'apprentissage automatique est une composante de l'intelligence artificielle, qui consiste à alimenter un programme avec de grandes quantités de données afin de l'entraîner à identifier les caractéristiques de ces données sans intervention humaine.
Les LLM utilisent un type d'apprentissage automatique appelé « apprentissage en profondeur » (Deep Learning). Les modèles d'apprentissage en profondeur peuvent concrètement s'entraîner à reconnaître les différences, sans intervention humaine, même si un minimum de mise au point humaine est généralement nécessaire.
L'apprentissage en profondeur met en œuvre les probabilités pour « apprendre ». Ainsi, dans la phrase « Le renard brun et rapide a sauté par-dessus le chien paresseux, », par exemple, les lettres « a » et « e » sont les plus courantes. Elles apparaissent respectivement six et dix fois. Partant de là, un modèle d'apprentissage en profondeur peut conclure (à raison) que ces caractères sont parmi les plus susceptibles d'apparaître dans un texte en français.
Soyons réalistes, un modèle d'apprentissage en profondeur ne peut rien conclure à partir d'une unique phrase. Toutefois, après analyse de plusieurs millions de milliards de phrases, il peut en apprendre suffisamment pour savoir comment terminer une phrase incomplète de façon logique, voire générer ses propres phrases.
Afin de permettre ce type d'apprentissage en profondeur, les LLM s'appuient sur des réseaux neuronaux. À l'instar du cerveau humain constitué de neurones qui se connectent et s'envoient des signaux, un réseau neuronal artificiel (généralement abrégé en « réseau neuronal ») est constitué de nœuds de réseau qui se connectent les uns aux autres. Ils sont composés de plusieurs « couches » : une couche d'entrée, une couche de sortie et une ou plusieurs couches intermédiaires. Les couches ne se transmettent des informations que si leurs propres résultats dépassent un certain seuil.
Le type spécifique de réseau neuronal utilisé pour les LLM est appelé « modèle transformateur » (ou auto-attentifs). Les modèles transformateurs sont capables d'apprendre le contexte, soit une caractéristique particulièrement importante pour le langage humain, qui dépend fortement du contexte. Ces modèles s'appuient sur une technique mathématique nommée « auto-attention » pour détecter les liaisons subtiles par lesquelles les éléments d'une séquence sont reliés entre eux. L'utilisation de cette technique les rend plus à même de comprendre le contexte que d'autres types d'apprentissage automatique. Ils peuvent ainsi comprendre, par exemple, comment la fin d'une phrase est reliée au début et de quelle manière les phrases d'un paragraphe sont reliées entre elles.
Cette technique permet aux LLM d'interpréter le langage humain, même lorsque le langage est vague ou mal défini, agencé dans des combinaisons qu'ils n'ont jamais rencontrées auparavant ou contextualisé d'une nouvelle manière. Dans une certaine mesure, les modèles « comprennent » la sémantique dans le sens où ils parviennent à associer des mots et des concepts en fonction de leur signification, après les avoir vus regroupés de cette manière des millions ou des milliards de fois.
Pour concevoir une application LLM, les développeurs ont besoin d'un accès facile à plusieurs ensembles de données et d'endroits où faire résider ces derniers. Le stockage cloud et le stockage sur site développés à ces fins peuvent tous deux impliquer des investissements d'infrastructure hors de portée du budget des développeurs. En outre, les ensembles de données d'apprentissage sont généralement stockés à plusieurs endroits, mais le transfert de ces données vers un emplacement central peut entraîner des frais de trafic sortant considérables.
Heureusement, Cloudflare propose plusieurs services permettant aux développeurs de commencer rapidement à concevoir des applications LLM et d'autres types d'IA. Vectorize est une base de données vectorielles distribuée à l'échelle mondiale qui permet d'interroger des données stockées au sein de systèmes de stockage d'objets sans frais de trafic sortant (R2) ou de documents stockés dans le référentiel clé-valeur Workers. En conjonction avec la plateforme de développement Cloudflare Workers AI, les développeurs peuvent utiliser Cloudflare pour commencer rapidement à expérimenter leurs propres LLM.