Les modèles de langage sont des modèles de calcul d’IA capables de produire du langage humain naturel. Et cela n’a rien d’évident.
Il s’agit de modèles de machine learning probabilistes : ils sont entraînés à prédire une distribution probable de mots de façon à générer une séquence de phrases visant à émuler l’intelligence humaine. Dans le domaine scientifique, les modèles de langage ont deux principaux usages :
En ce qui concerne leur capacité à faire preuve d’intelligence humaine, rappelons que les modèles d’IA les plus sophistiqués dans le domaine du traitement du langage naturel (NLP) n’ont pas encore réussi le test de Turing. (Une machine réussit le test de Turing s’il est impossible de discerner si la communication provient d’une source humaine ou d’un ordinateur.)
Mais il est intéressant de constater que nous nous rapprochons de cet objectif, tout d’abord avec les grands modèles de langage (LLM), très médiatisés, mais aussi avec les SLM, moins médiatisés mais prometteurs. (SLM peut signifier « Small Language Model », soit petit modèle de langage, ou « Short Language Model », soit modèle de langage court.)
Si vous avez suivi l’actualité, vous connaissez très certainement les LLM comme ChatGPT. Ces IA génératives sont passionnantes pour les secteurs de la recherche, de l’industrie et du grand public. En effet, ils sont capables de réaliser des interactions relativement complexes sous la forme de communication verbale.
Actuellement, les outils de LLM sont utilisés comme interface machine intelligente donnant accès à la connaissance disponible sur Internet. Les LLM puisent dans les informations disponibles sur Internet et utilisées pour les entraîner, puis délivrent des connaissances concises et intelligibles à l’utilisateur. Ils offrent donc une alternative à la recherche Internet classique, qui exigerait de lire des milliers de pages web pour parvenir à une réponse concise et définitive.
ChatGPT est d’ailleurs la première application LLM tournée vers le grand public : jusque-là, les applications LLM se limitaient à GPT d’OpenAI et BERT de Google.
Les dernières itérations de ChatGPT et d’autres applications ont été entraînées sur des scripts de programmation. Les développeurs peuvent utiliser ChatGPT pour écrire des fonctions entières, en veillant naturellement à spécifier des exigences et des limites dans le prompt.
(La sécurité de vos LLM vous préoccupe ? Apprenez à vous défendre contre les 10 principales menaces de l’OWASP visant les LLM.)
Il existe trois grands types de modèles de NLP : le NLP symbolique, le NLP statistique et le NLP neural.
Comment fonctionnent les grands modèles de langage ? Voyons les étapes qui permettent à un LLM de produire du langage naturel.
Le principe consiste à développer un modèle mathématique avec des paramètres qui représentent des prédictions vraies ayant la probabilité la plus élevée.
Dans le contexte d’un modèle de langage, ces prédictions correspondent à la distribution des données linguistiques naturelles. L’objectif est d’utiliser la distribution de probabilité du langage naturel, apprise par le modèle, pour générer une séquence de phrases ayant le plus de chances d’apparaître en fonction des connaissances contextuelles disponibles, c’est-à-dire les prompts de l’utilisateur.
Pour comprendre les relations complexes entre les mots et les phrases séquentielles, les modèles de langage modernes comme ChatGPT et BERT s’appuient sur des architectures d’apprentissage profond reposant sur des transformateurs. Pour donner une idée générale du principe, les transformateurs convertissent le texte en représentations numériques pondérées en fonction de leur importance pour faire des prédictions de séquences.
Les modèles de langage sont amplement affinés et adaptés pour convenir à des domaines particuliers. L’ingénierie des modèles de langage a une autre application essentielle : éliminer les biais pouvant produire des résultats indésirables, tels que des propos haineux ou discriminatoires.
Ce processus consiste à affiner les paramètres du modèle :
en entraînant le modèle sur des connaissances spécifiques au domaine,
en initialisant les paramètres du modèle en fonction de données préentraînées,
en supervisant les performances du modèle,
en affinant les hyperparamètres du modèle.
Les SLM et les LLM suivent les mêmes principes de machine learning probabiliste pour ce qui est de leur architecture, de leur entraînement, de la génération des données et de la façon dont ils sont évalués.
Voyons maintenant ce qui différencie ces deux technologies.
La différence la plus visible entre SLM et LLM réside dans la taille des modèles.
Les LLM tels que ChatGPT (GPT 4) sont censés contenir jusqu’à 1,760 millier de milliards de paramètres.
Les SLM open source comme Mistral 7B peuvent en contenir 7 milliards.
La différence réside principalement dans le processus d’entraînement de l’architecture du modèle. ChatGPT utilise un mécanisme d’auto-attention selon un schéma d’encodage-décodage, alors que Mistral 7B utilise des fenêtres d’attention glissantes qui permettent un entraînement efficace dans un modèle reposant uniquement sur le décodage.
Les SLM sont entraînés sur des données appartenant à des domaines spécifiques. Ils possèdent rarement les informations contextuelles holistiques provenant de tous les domaines de connaissance, mais ils sont plus enclins à exceller dans leur domaine de prédilection.
L’objectif d’un LLM, en revanche, est d’émuler l’intelligence humaine à un niveau plus large. Il est entraîné sur des sources de données plus vastes et destiné à offrir des performances relativement bonnes dans tous les domaines, contrairement à un SLM spécialisé.
Autrement dit, les LLM sont également plus polyvalents et peuvent être adaptés, améliorés et modifiés pour être plus performants dans des tâches en aval comme la programmation.
L’entraînement d’un LLM consomme beaucoup de ressources, et notamment un grand nombre de GPU dans le cloud. L’entraînement complet de ChatGPT requiert plusieurs milliers de GPU, alors que le SLM Mistral 7B peut être exécuté sur des machines locales équipées d’un GPU décent. Précisons toutefois que l’entraînement d’un modèle à 7 milliards de paramètres nécessite toujours de nombreuses heures de calcul avec plusieurs GPU.
Les LLM sont sensibles aux biais. Et cela s’explique par le fait qu’ils sont insuffisamment ajustés et qu’ils sont entraînés sur des données brutes publiées sur Internet et accessibles à tous. En raison de leur provenance, les données d’entraînement peuvent...
sous-représenter certains groupes ou idées, ou le faire de façon faussée,
être mal étiquetées.
Et ce n’est pas la seule source de complexité : le langage lui-même introduit ses propres biais en raison d’un large éventail de facteurs comme le dialecte, la localisation géographique et les règles de grammaire. Mentionnons également que l’architecture du modèle elle-même peut appliquer un biais par inadvertance, et que ce biais peut passer inaperçu.
Comme le SLM s’entraîne sur des ensembles de données spécifiques et donc plus réduits, le risque de biais est naturellement plus faible qu’avec les LLM.
En raison de la taille réduite des SLM, les utilisateurs peuvent les exécuter sur leur machine locale et produire des informations dans un délai raisonnable.
Un LLM a besoin d’un grand nombre d’unités de traitement parallèles pour générer des données. Selon le nombre d’utilisateurs qui accèdent simultanément à un LLM, l’inférence du modèle peut ralentir.
La réponse à cette question dépend entièrement du scénario d’utilisation de vos modèles de langage et des ressources qui sont à votre disposition. Dans un contexte commercial, un LLM sera sans doute plus adapté comme agent conversationnel pour votre centre d’appel et vos équipes d’assistance client.
Dans la plupart des applications spécialisées, en revanche, le SLM aura toutes les chances d’exceller.
Pensez aux applications dans les domaines de la médecine, du droit et de la finance. Chaque application nécessite des connaissances extrêmement spécialisées et confidentielles. En entraînant un SLM en interne sur la base de ces connaissances et en l’affinant pour des usages spécifiques, on peut obtenir un agent intelligent et spécialisé, utilisable dans des secteurs hautement réglementés et spécialisés.
Une erreur à signaler ? Une suggestion à faire ? Contactez-nous à l’adresse ssg-blogs@splunk.com.
Cette publication ne représente pas nécessairement la position, les stratégies ou l’opinion de Splunk.
La plateforme Splunk élimine les obstacles qui séparent les données de l'action, pour donner aux équipes d'observabilité, d'IT et de sécurité les moyens de préserver la sécurité, la résilience et le pouvoir d'innovation de leur organisation.
Fondée en 2003, Splunk est une entreprise internationale. Ses plus de 7 500 employés, les Splunkers, ont déjà obtenu plus de 1 020 brevets à ce jour, et ses solutions sont disponibles dans 21 régions du monde. Ouverte et extensible, la plateforme de données Splunk prend en charge les données de tous les environnements pour donner à toutes les équipes d'une entreprise une visibilité complète et contextualisée sur l'ensemble des interactions et des processus métier. Splunk, une base solide pour vos données.