Décryptage des modèles d'Intelligence Artificielle
Découvrez les secrets des modèles d'IA, en particulier les LLM comme le fameux GPT d'OpenAI. Cet article vous plonge dans leur fonctionnement, leur entraînement et leurs capacités d'adaptation.
Cet article vise à fournir un aperçu approfondi des modèles d'IA en mettant l'accent sur les LLM (Large Language Models) tels que le célèbre GPT développé par OpenAI. Nous examinerons leur fonctionnement, leur processus d'entraînement et les possibilités de les adapter à des besoins spécifiques. De plus, nous aborderons des concepts clés tels que la tokenisation, les poids et les paramètres. L'objectif est de fournir une compréhension globale de cette technologie en constante évolution qui transforme notre façon de produire et de consommer de l'information.
La chambre chinoise de John Searle
Cette parabole, imaginée par John Searle dans les années 1980, décrit le fonctionnement ainsi que les limitations de l’intelligence artificielle concernant la compréhension sémantique.
Dans cette parabole, une personne qui n’a aucune connaissance du chinois est enfermée dans une chambre. On met à disposition de cette personne un catalogue de règles permettant de répondre à des phrases en chinois. Ces règles sont basées uniquement sur la syntaxe des phrases et ne tiennent pas compte du sens ou de la signification des mots.
L'opérateur dans la chambre reçoit des phrases écrites en chinois et, en appliquant les règles dont il dispose, il produit d’autres phrases en chinois qui constituent des réponses cohérentes. Cependant, cette personne n'a aucune compréhension réelle de la signification des phrases en chinois qu'elle manipule. Elle ne fait que suivre les règles préétablies sans avoir une véritable compréhension sémantique.
La Chambre chinoise, parabole utilisée pour remettre en question l'idée selon laquelle les machines peuvent véritablement comprendre le langage comme les humains, soulève des questions sur la nature de l'intelligence artificielle. Elle met en évidence la différence entre le traitement symbolique de l'information et la compréhension sémantique profonde, remettant ainsi en perspective la capacité des machines à comprendre réellement le sens des mots et des phrases.
Les différents types de modèles de Machine Learning
La recherche en intelligence artificielle évolue sans cesse, donnant lieu à la création régulière de nouveaux modèles et techniques. Ces avancées et découvertes dans le domaine se manifestent à travers une variété de types de modèles, chacun offrant de nouvelles approches, des architectures différentes ou des optimisations spécifiques.
À l'heure actuelle, on compte des dizaines de ces types de modèles, et pour avoir une vue d'ensemble, voici deux types couramment utilisés :
- LLM (Large Language Model) : fait référence à des modèles tels que le GPT-4 développé par OpenAI. Conçus pour ingérer et générer du texte, ils utilisent des réseaux de neurones afin d’analyser les structures et les règles linguistiques. Souvent utilisés pour des tâches telles que la traduction automatique, les LLM servent aussi pour la génération de texte.
- CNN (Convolutional Neural Network) : un modèle couramment utilisé pour la reconnaissance et le traitement des images. En analysant les relations locales entre les pixels, ils capturent les caractéristiques importantes des images. Les CNN connaissent un grand succès dans des tâches telles que la classification d'images, la détection d'objets et la reconnaissance faciale.
Les Tokens définition et fonctionnement
Un "token" fait référence à une unité élémentaire de texte utilisée dans le traitement du langage naturel. Il peut représenter un mot, une partie d'un mot ou même un caractère individuel, et permet de standardiser la représentation du texte pour l'analyse et le traitement par les modèles d'IA. La tokenisation est utile pour plusieurs raisons :
- Elle facilite le traitement et l'analyse du texte en représentant les mots de manière standardisée.
- Elle permet de réduire la taille des textes en les divisant en tokens, car les modèles ont une limite de mémoire fixe pour le traitement des données.
- Les modèles LLM (Language Models) reposent sur des transformers et utilisent des opérations mathématiques sur des vecteurs de représentation de tokens. Les tokens permettent ainsi au modèle de comprendre et de générer du texte en utilisant ces vecteurs.
Le fonctionnement de la tokenisation
L’outil Tokenizer d’openAI donne un rapide coup d’oeil sur la manière dont GPT “tokenize” une phrase, voici un exemple :
Avec la phrase de 26 caractères "Atipik will save the world", on peut voir qu'elle se fait découper en 7 morceaux, donc en 7 tokens. On constate également que plusieurs tokens comportent un espace, ce qui facilite et optimise l'encodage. Ainsi, il n'est pas nécessaire d'utiliser un token distinct pour chaque espace entre les caractères.
Chaque token peut être composé d'une série de lettres, voire d'une seule lettre dans certains cas, et forme généralement un mot qui est associé à son ID.
- will = 481
- save = 3613
- the = 262
- world = 995
Il n'y a pas de token "Atipik", car il n'est pas assez répandu sur internet, donc GPT ne l'a pas rencontré assez souvent lors de son apprentissage. Le modèle ne le connaîtra donc pas en tant qu'entité unique, mais plutôt sous forme de trois combinaisons de deux lettres chacune : "At", "ip", "ik". Il divise ensuite le mot en sous-unités plus courantes, appelées subword tokens, afin de le représenter. Cette approche permet au modèle de mieux traiter les mots rares ou inconnus en les décomposant en parties plus familières.
La numérotation des tokens est basée sur leur position relative dans l'ensemble d'entraînement. C’est-à-dire qu’un mot courant en anglais, comme "the", peut recevoir un token ID plus bas qu’un autre simplement parce qu'il apparaît plus fréquemment dans l'ensemble d'entraînement.
ChatGPT est-il multilingue ?
ChatGPT a été entraîné sur une grande quantité de textes en anglais. Cependant, il est également capable de traiter d’autres langues, dont le français. Lorsque vous utilisez un tokenizer avec GPT pour diviser le texte en tokens, il trouvera des tokens associés aux mots en français ainsi qu'en anglais.
Certaines sources affirment qu’étant donné que GPT a été entrainé avec du texte anglais, il ne trouvera pas de token associé pour les mots francophones. Ce qui peut expliquer que sa pertinence est plus élevée dans certains cas en anglais.
À noter que Chatgpt ne dispose pas d'informations spécifiques sur les détails techniques internes à lui-même, car ces informations ne sont pas publiquement disponibles. (Et c’est lui qui le dit).
Malgré le fait que la version française "Atipik va sauver le monde" comporte un caractère de moins que la version anglaise, elle se découpe en 10 tokens contre 7 en anglais.
À l'exception des combinaisons de deux lettres, les mots "sauver" et "monde" ne sont pas considérés comme un seul token, comme c'était le cas pour "save" et "world" en anglais.
Dans l'exemple "C’est incroyable", on peut voir les tokens anglophones "est", "inc", "roy" et "able". Alors que "incredible" existe en un seul token.
Il est important de noter que le processus de tokenization peut varier en fonction du tokenizer spécifique utilisé. Différents tokenizers peuvent adopter différentes stratégies de décomposition.
Poids et paramètres
La quantité de paramètres dans une IA fait référence au nombre de variables ajustables ou de poids utilisés dans le modèle d'apprentissage automatique. Ces paramètres permettent à l'IA de prendre des décisions et d'apprendre à partir des données.
Pour faire une analogie avec le cerveau humain, on peut considérer les paramètres comme les connexions entre les neurones. Dans le cerveau, les neurones sont interconnectés et communiquent entre eux pour traiter l'information. Chaque connexion représente une interaction spécifique entre deux neurones, et c'est cette structure complexe qui permet au cerveau d'accomplir des tâches variées.
De manière similaire, dans une IA, les paramètres déterminent comment les différentes parties du modèle interagissent et se transmettent l'information. Ces paramètres sont ajustés lors de la phase d'apprentissage pour permettre à l'IA d'effectuer des prédictions et des tâches spécifiques.
Ils sont utilisés pour régler le comportement de l'algorithme. Par exemple, dans un modèle de réseau neuronal, chaque connexion entre les neurones a un poids associé, qui détermine l'importance relative de cette connexion.
Lors de la phase d'apprentissage, ces paramètres sont ajustés par l'algorithme d'apprentissage pour minimiser l'écart entre les prédictions du modèle et les résultats attendus. Ce processus est appelé rétropropagation du gradient (souvenez-vous de ce terme pour briller en société ✨).
Pour donner une analogie avec le cerveau humain, on peut considérer les paramètres comme des facteurs qui influencent la force des connexions synaptiques entre les neurones. Lorsqu’on apprend quelque chose de nouveau, les connexions synaptiques dans votre cerveau se renforcent ou se modifient pour refléter cette nouvelle information.
Les biais (bias en anglais) représentent simplement l'écart entre les prédictions et la valeur prévue. Les biais constituent la différence entre le résultat de la fonction et le résultat escompté.
Comment se déroule l’entrainement de l’IA ?
Pour entrainer un modèle de type LLM, qui pour rappel est un modèle qui prédit le prochain mot d’un texte, c’est assez simple. Il n’y a pas besoin de formatage, une phrase prise dans un livre ou sur un site internet suffit.
On peut découper la phrase à n'importe quel endroit et la donner au modèle pour qu'il s'entraîne à deviner le prochain mot. Ainsi, avec une seule phrase, il est possible de créer une multitude d’exemples en la coupant à différents endroits.
Par conséquent, on peut fournir au modèle de grandes quantités de données provenant de sources diverses, sans avoir besoin de faire intervenir un humain dans le processus.
Sur ce tableau on peut voir les types de données utilisées pour entrainer le modèle GPT-3.
Un benchmark entre plusieurs centaines de modèles a été réalisé par lifearchitect.ai, et est accessible par ce lien.
Le fine-tuning des modèles de Machine Learning
Pour le fine-tuning d'un modèle, ou pour le spécialiser dans un domaine, l’une des possibilités est de le faire lire une multitude de fois, un fichier JSON sous le format SQuAd :
Il existe à l’origine 2 types de format SQuAD :
- SQuAD 1.1 : dans cette version, chaque exemple de données comprend un contexte et une question associée à ce contexte. Le modèle doit prédire une réponse texte dans le contexte donné. Comme l’exemple ci-dessus.
- SQuAD 2.0 : cette version ajoute un élément supplémentaire au format de données. Chaque exemple peut également contenir une réponse de type "impossible". Cela signifie que certaines questions peuvent ne pas avoir de réponse valide dans le contexte. Cette modification a été introduite pour inciter les modèles à prendre en compte la possibilité qu'une question puisse ne pas avoir de réponse correcte.
Il y a d'autres variantes du format SQuAD, spécifique au modèle à affiner.
Le modèle va lire une multitude de fois la data, ajustant ses poids à chaque passage, afin de produire une réponse aussi proche que possible de celle attendue pour une question donnée (le biais comme vu plus haut).
L’outil sur le repo LLaMA-LoRA Tuner donne un rapide coup d’oeil sur comment affiner un modèle LLM.
Conclusion
Le sujet est à la fois passionnant et frustrant en raison de son évolution constante et rapide. Beaucoup d'efforts sont à fournir afin de suivre de près cette technologie vivante fascinante. Cet article même deviendra surement rapidement caduc ou obsolète face à l’effervescence de cet outil qui révolutionne internet.
L'aventure dans les méandres de l'intelligence artificielle, notamment au travers des LLM tels que GPT-4, soulève des interrogations fondamentales sur la capacité de ces systèmes à saisir le véritable sens derrière les mots qu'ils génèrent. Alors que nous nous interrogeons sur la possibilité pour l'IA de transcender la simple imitation de l'intelligence pour atteindre une compréhension authentique, nous ouvrons la porte à une exploration encore plus profonde de cette technologie. C'est dans cette optique que nous vous invitons à découvrir notre article suivant : "IA et vecteurs, quand vos données prennent tout leur sens". Ce nouveau volet plonge dans le fonctionnement des vecteurs et des bases de données vectorielles, pierres angulaires permettant aux intelligences artificielles de déchiffrer et d'interpréter les nuances de l'information.