Comment fonctionne ChatGPT ?
ChatGPT est un chatbot basé sur un grand modèle linguistique (GPT-3.5 ou GPT-4). Sous le capot, ChatGPT est un réseau neuronal pré-entraîné qui a été entraîné sur une quantité impressionnante de données textuelles accessibles au public sur Internet.
Cette grande quantité de données permet au modèle d'apprendre des modèles, la grammaire, le contexte et même des connaissances de bon sens, ce qui lui permet de générer des réponses significatives et cohérentes aux requêtes des utilisateurs. ChatGPT a la capacité unique d'engager des conversations interactives et dynamiques avec les utilisateurs, ce qui en fait un outil prometteur pour un large éventail d'applications.
Qu'est-ce qu'un grand modèle linguistique ?
Les grands modèles de langage sont des algorithmes d'IA qui utilisent des techniques d'apprentissage profond connues sous le nom de traitement du langage naturel afin de lire, comprendre, générer et prédire des textes.
Lorsque vous tapez une invite, le modèle ne cherche pas la réponse sur l'internet, il vous donne la réponse de tête (bien qu'il n'ait pas de tête). Il génère une réponse un mot à la fois, en déterminant chaque mot suivant sur la base de probabilités dérivées des données textuelles sur lesquelles il a été formé et du texte qu'il a généré jusqu'à présent.

11 milliards de paramètres : réponse à des questions, arithmétique, compréhension du langage
Comment cela est-il possible ? ChatGPT n'a pas besoin de chercher des informations sur Internet, car il sait déjà tout (ou presque). Toutes les connaissances disponibles sur Internet sont incorporées dans ChatGPT par le biais de ses 175 milliards de paramètres.

62 milliards de paramètres : traduction, raisonnement de bon sens, complétion de codes
Au fur et à mesure que le nombre de paramètres du modèle augmente, de nouvelles capacités apparaissent dans le modèle, qui n'ont pas été conçues intentionnellement par qui que ce soit.

540 milliards de paramètres : chaînes d'inférence logique, reconnaissance des formes, compréhension de la lecture
Comment ChatGPT a été formé
ChatGPT a été formé sur des centaines de milliers de livres, d'articles, de dialogues, y compris :
- WebText2 (une grande bibliothèque de plus de 45 téraoctets de données textuelles)
- Cornell Movie Dialogs Corpus (un ensemble de données contenant plus de 200 000 conversations entre 10 000 personnages de films dans des scénarios de films)
- Ubuntu Dialogue Corpus (une collection de 1 000 000 de dialogues multi-tours entre les utilisateurs d'Ubuntu et l'équipe d'assistance de la communauté)
- des milliards de lignes de code provenant de GitHub.
Tout d'abord, GPT a été autorisé à traiter toutes les données auxquelles il avait accès sans aucune assistance humaine, ce qui lui a permis d'appréhender de manière indépendante les règles et les connexions qui régissent le domaine du texte (c'est ce que l'on appelle "l'apprentissage non supervisé").
Ensuite, pour affiner le modèle linguistique, une technique appelée apprentissage par renforcement avec retour d'information humain (RLHF) a été appliquée :
- Les formateurs humains à l'IA ont mené des conversations dans lesquelles ils jouaient les deux parties - l'utilisateur et un assistant d'IA. Ils ont eu accès à des suggestions rédigées par le modèle pour les aider à composer des réponses. Le modèle a été entraîné à l'aide d'un ajustement supervisé pour prédire le prochain message de l'assistant en fonction de l'historique du dialogue.
- Afin de créer un modèle de récompense pour l'apprentissage par renforcement, des données de comparaison ont été collectées. Les formateurs en IA ont classé les réponses de plusieurs modèles en fonction de leur qualité, en examinant notamment si la réponse était logique et utile. Les réponses sélectionnées sont devenues un ensemble de données de dialogue avec de nouveaux messages rédigés par le modèle.
- Un modèle de récompense a été créé à l'aide d'une technique appelée modélisation de la récompense, dans laquelle un modèle a été formé pour prédire la qualité d'une réponse sur la base des données de comparaison collectées à l'étape précédente.
Au final, ChatGPT a appris à réagir dans n'importe quelle situation, à donner des réponses précises et pertinentes et à éviter les sujets potentiellement dangereux.
Architecture Transformer
Le processus d'apprentissage de ChatGPT consiste à prédire le mot suivant d'une phrase en fonction des mots précédents. Pour ce faire, une architecture Transformer est utilisée (d'ailleurs, T dans ChatGPT signifie Transformer), qui se compose de couches de mécanismes d'auto-attention. L'auto-attention permet au modèle d'évaluer les différents mots d'une phrase en fonction de leur importance et de leur pertinence afin de prédire avec précision le mot suivant.
Les anciens réseaux neuronaux récurrents (RNN) lisent le texte de gauche à droite. Si cette méthode fonctionne bien lorsque des mots apparentés sont adjacents, elle devient difficile lorsqu'ils se trouvent aux extrémités opposées d'une phrase.
Par conséquent, lorsqu'un RNN travaille avec un texte d'une page, au milieu du troisième paragraphe, il "oublie" déjà ce qui se trouvait au tout début.
En revanche, les transformers sont capables de traiter simultanément chaque mot d'une phrase et de le comparer à tous les autres. Ils peuvent ainsi concentrer leur "attention" sur les mots les plus pertinents, quelle que soit leur position dans la séquence d'entrée.
Tokenisation
Il est important de noter que les transformers n'opèrent pas sur des mots individuels (ils ne peuvent pas lire comme les humains). Au lieu de cela, le texte d'entrée est divisé en jetons individuels, y compris les mots, les signes de ponctuation et les jetons spéciaux. Dans ChatGPT, les tokens sont des morceaux de texte représentés sous forme de vecteurs (nombres avec direction et position).
La proximité des vecteurs de jetons dans l'espace détermine leur niveau d'association : plus ils sont proches, plus ils sont liés. En outre, l'attention est codée sous forme de vecteur, ce qui permet aux réseaux neuronaux basés sur des transformers de retenir des informations cruciales des parties précédentes d'un paragraphe.
Lorsqu'un utilisateur interagit avec ChatGPT, le modèle reçoit en entrée l'historique de la conversation, y compris les invites de l'utilisateur et les réponses générées par le modèle. L'entrée est symbolisée, puis introduite dans le réseau neuronal. Chaque jeton est associé à un encastrement qui représente sa signification dans le contexte de la conversation.
Le GPT-3 a été entraîné sur environ 500 milliards de tokens, ce qui permet à ses modèles de langage d'attribuer plus facilement un sens et de prédire un texte suivant plausible en les cartographiant dans l'espace vectoriel. De nombreux mots correspondent à des jetons uniques, mais les mots plus longs ou plus complexes se décomposent souvent en plusieurs jetons. En moyenne, les jetons ont une longueur d'environ quatre caractères.
Au cours de la phase d'inférence, où le modèle génère des réponses, un processus connu sous le nom d'autorégression est utilisé. Cela signifie que le modèle prédit un mot à la fois tout en se basant sur l'historique de la conversation et les mots générés précédemment. Pour s'assurer que la réponse générée est cohérente et pertinente, des techniques telles que l'échantillonnage top-p et la mise à l'échelle de la température sont utilisées.
En bref, le paramètre top-p donne au modèle un ensemble d'options (tokens) à choisir, tandis que la température détermine la probabilité de choisir un certain token. Lorsque la température est fixée à 0, le modèle ne choisit que les tokens les plus "populaires" (les mots que l'on trouve le plus souvent ensemble dans les données textuelles pour lesquelles ChatGPT a été entraîné) :

Ce n'est pas toujours une bonne chose. Des températures plus élevées rendent les résultats plus diversifiés :

Plus d'informations sur les paramètres du ChatGPT : https://talkai.info/fr/blog/understanding_chatgpt_settings/