Facebook EmaiInACirclel
Stratégie

Comment fonctionne ChatGPT et les fondamentaux de l’IA, du ML et du NLP

Alexandru Hutanu
Alexandru Hutanu
Engineering Manager

L’Intelligence Artificielle (IA) a parcouru un long chemin depuis sa création dans les années 50, notamment grâce au Machine Learning (ML) qui a été l’un des principaux moteurs de sa croissance.

Elle a connu des changements majeurs et ses modèles tendent à devenir de plus en plus sophistiqués et proches de l’humain en termes de capacités.

Récemment, l’un d’eux a fait beaucoup de bruit et a rebattu les cartes de l’IA.

Il s’agit de ChatGPT d’OpenAI, un modèle qui repose sur le langage naturel.

Plongeons dans la technologie qui se cache derrière ChatGPT et ses concepts fondamentaux.

Comment fonctionne ChatGPT

ChatGPT est un modèle de langage d’intelligence artificielle qui utilise le Deep Learning pour la génération de texte dans un langage naturel. Il a été développé par OpenAI, une entreprise née aux États-unis, co-fondée par Elon Musk et Sam Altman et reconnue comme association à but non lucratif.

ChatGPT (pour generative pre-trained) repose sur une architecture Transformer, c’est-à-dire un réseau de neurones qui a prouvé son efficacité dans de nombreuses tâches de NLP (Natural Language Processing ou traitement automatique du langage naturel). ChatGPT est entraîné sur un vaste corpus de données textuelles afin de créer un langage naturel, cohérent et adapté au contexte.

Intelligence artificielle : les technologies utilisées par ChatGPT

ChatGPT est construit sur différents états de l’art technologiques comme le NLP, le Machine Learning et le Deep Learning.

Ces technologies sont exploitées pour créer les réseaux de neurones profonds du modèle afin qu’il apprenne et génère des données texte.

Natural Language Processing (NLP)

Le NLP est une branche de l’intelligence artificielle qui gère les interactions entre les ordinateurs et les humains en utilisant le langage naturel.

C’est un élément crucial dans la stack technique de ChatGPT car il permet au modèle de comprendre et de générer un contenu cohérent dans un langage naturel.

ChatGPT repose sur des méthodes déjà éprouvées dans le NLP comme la tokenisation, la reconnaissance d’entités nommées, l’analyse des sentiments et le part-of-speech tagging (étiquetage morpho-syntaxique).

Machine Learning

Le Machine Learning est un sous-ensemble de l’IA qui s’appuie sur des algorithmes pour apprendre des données et établir des prédictions basées sur celles-ci.

Dans le cas de ChatGPT, le Machine Learning est utilisé pour entraîner le modèle sur un corpus de données texte considérable afin de prédire le prochain mot d’une phrase, d’après les mots précédents.

Deep Learning

Le Deep Learning est un sous-ensemble du Machine Learning qui repose sur l’entraînement des réseaux de neurones sur un vaste ensemble de données.

Dans le cas de ChatGPT, le Deep Learning est utilisé pour entraîner le modèle d’architecture Transformer, dont le réseau de neurones a fait ses preuves dans de nombreuses tâches de NLP.

Grâce à l’architecture Transformer, ChatGPT comprend et génère du texte cohérent et dans un langage naturel.

ChatGPT repose également sur le Reinforcement Learning (apprentissage par renforcement) afin d’ajuster ses modèles selon les commentaires reçus sur la qualité de ses réponses et d’augmenter ses performances.

L’architecture de ChatGPT

ChatGPT repose sur l’architecture Transformer, un réseau de neurones qui a d’abord été introduit dans un texte co-signé par Vaswani : « Attention is All You Need ».

Le Transformer facilite la parallélisation, ce qui le rend particulièrement adapté pour traiter des séquences de données comme du texte. ChatGPT est implémenté avec PyTorch, une librairie opensource pour le Machine Learning.

ChatGPT se compose de plusieurs couches, dont chacune gère une tâche spécifique.

Input Layer (couche d’entrée)

La première couche, appelée input layer (couche d’entrée), prend le texte et le convertit en une représentation numérique grâce à un procédé de tokenisation, qui consiste à diviser le texte en token individuel (généralement des groupes de caractères). Chaque token est assigné à un identifiant numérique unique appelé le Token ID.

Embedding Layer

La couche suivante dans l’architecture est l’embedding layer. Ici, chaque token est transformé en un vecteur haute dimension, appelé embedding, et représente le sens sémantique.

L’embedding layer est suivi de plusieurs blocs de Transformer afin de traiter les séquences de tokens.

Chaque bloc de Transformer contient deux composants principaux : un mécanisme d’attention multi-têtes (multi-head attention mechanism) et un réseau de neurones à propagation avant (feed-forward neural network).

Transformer Blocks (blocs de Transformer)

Les blocs de Transformer sont empilés en couches successives afin d’effectuer plusieurs séries de self-attention et de transformations non-linéaires.

Le résultat du dernier bloc de Transformer traverse une série de couches connectées qui vont donner la prédiction finale.

Dans le cas de ChatGPT, la prédiction finale est une distribution de probabilités sur le vocabulaire, indiquant la probabilité d’apparition de chaque token en fonction de la séquence d’entrée.

Multi-head Attention Mechanism (mécanisme d’attention multi-têtes)

Le mécanisme d’attention multi-têtes est un type de self-attention qui permet au modèle à d’évaluer l’importance de chaque token de la séquence au moment de faire les prédictions.

Ce mécanisme s’appuie sur des requêtes, des clés et des valeurs.

Les requêtes et les clés représentent la séquence d’entrée, tandis que les valeurs représentent la séquence de sortie. Le résultat de ce mécanisme est la somme pondérée des valeurs dont les poids sont déterminés par le produit scalaire des requêtes et des clés.

Feed-Forward Neural Network (réseau de neurones à propagation avant)

Le réseau de neurones à propagation avant est un réseau de neurones qui réalise une transformation non-linéaire sur l’entrée. Il contient deux transformations linéaires suivies d’une fonction d’activation non-linéaire.

Le résultat du réseau de neurones à propagation avant est alors combiné au résultat du mécanisme d’attention multi-têtes pour créer la représentation finale de la séquence d’entrée.

La tokenisation et les tokens dans ChatGPT

La tokenisation désigne l’action de diviser le texte entrant en tokens individuels qui représentent une unique unité de sens.

Dans ChatGPT, les tokens sont en général des mots ou des parties de mots et chaque token se voit assigner un identifiant numérique unique appelé token ID. Ce procédé est important pour transformer le texte en une représentation numérique qui peut être traitée par un réseau de neurones.

Les tokens jouent un rôle crucial dans ChatGPT car ils déterminent la capacité du modèle à comprendre et à générer du texte.

Le modèle utilise les tokens ID comme entrée dans l’embedding layer.

Chaque token est transformé en un vecteur de grande dimension appelé embedding.

Ces embeddings capturent le sens sémantique de chaque token et sont utilisés par les blocs de Transformer suivants pour établir des prédictions.

Le choix des tokens et du procédé de tokenisation peuvent avoir un impact significatif sur la performance du modèle.

Les méthodes de tokenisation les plus répandues s’appuient sur une tokenisation basée sur les mots, où chaque token représente un mot unique, et une tokenisation basée sur les groupes de caractères ou de signes.

La tokenisation sur les groupes de caractères est souvent utilisée dans des modèles comme ChatGPT afin de saisir le sens de mots peu employés ou hors vocabulaire qui risquent de ne pas être correctement représentés par la tokenisation sur les mots.

Le processus d’entraînement de ChatGPT

Le processus d’entraînement de ChatGPT est complexe et se compose de plusieurs étapes.

Son objectif est d’affiner les paramètres du modèle afin que les sorties correspondent aux résultats attendus. Les deux phases du processus d’entraînement sont le pré-entraînement et le fine-tuning.

Le pré-entraînement désigne la phase durant laquelle le modèle est entraîné sur un corpus important de données textuelles pour apprendre les répétitions de langage et saisir le contexte.

Cette phase est réalisée en utilisant une tâche de modélisation du langage, où le modèle s’entraîne à prédire le mot suivant, compte tenu des mots précédents dans la séquence.

L’objectif est d’obtenir une représentation de données textuelles sous forme d’embedding tokens, qui sont appris par les blocs d’encodeur du Transformer, entraînés sur ce corpus de données textuelles.

Le fine-tuning désigne la phase durant laquelle le modèle pré-entraîné se concentre sur la tâche spécifique pour laquelle il sera utilisé. Il peut s’agir de répondre à une question ou de générer du texte.

L’objectif est d’adapter le modèle à une tâche spécifique et d’affiner les paramètres afin que les sorties du modèle correspondent aux résultats attendus.

La sélection de prompts appropriés figure parmi les actions les plus importantes dans le procédé de fine-tuning.

Le prompt représente le texte donné au modèle pour générer le résultat. Renseigner le bon prompt est essentiel car il fournit le contexte au modèle et le guide pour générer le résultat attendu.

Durant le fine-tuning, il est également très important d’utiliser les paramètres appropriés, comme la “température”, qui affecte la probabilité des résultats générés par le modèle.

Une fois que le processus d’entraînement est terminé, le modèle peut être déployé dans une grande variété d’applications. Grâce à l’embedding token et aux paramètres affinés, le modèle génère des résultats de haute qualité, faisant de lui un outil indispensable pour les tâches liées au traitement du langage naturel.

OpenAI publiera très prochainement GPT-4, la dernière version de la famille GPT.

A ce jour, ChatGPT-3 compte 175 milliards de paramètres, contre 1,5 milliards pour son prédécesseur ChatGPT-2.

L’augmentation du nombre de paramètres signifie que GPT-4 traitera davantage de tâches complexes, comme la rédaction d’articles long format ou la composition de musique, avec un haut degré de pertinence.

Les autres modèles d’OpenAI

La société américaine a créé d’autres modèles de langage, comme DaVinci, Ada, Curie et Babbage.

Ces modèles sont similaires à ChatGPT dans la mesure où ils reposent également sur des modèles de Transformer pour générer du texte, mais ils diffèrent par leur taille et leurs capacités.

  • Avec plus de 175 milliards de paramètres, DaVinci est le plus vaste modèle de langage créé par OpenAI. Il est capable de rédiger des textes, de répondre à des questions et de faire des traductions dans un langage naturel.
  • Ada est une plus petite version de DaVinci et se concentre sur les réponses aux questions. Il possède une architecture spécifique, conçue pour les tâches de Q&A.
  • Curie a été créé pour les tâches qui demandent des résultats plus structurés, comme générer du code ou résumer un texte. Il a une architecture plus spécialisée que celle de ChatGPT ou Ada.
  • Babbage est une plus petite version de ChatGPT, conçu pour être utilisé dans des environnements limités en ressources. Bien qu’il soit en mesure de proposer du texte dans un langage naturel, ses capacités demeurent en deçà de celles de ChatGPT.

Chacun de ces modèles possède ses forces et ses faiblesses et choisir celui qui remplira le mieux une tâche donnée dépendra des besoins de celle-ci.

C’est pourquoi OpenAI met à disposition des ressources et de la documentation pour chaque modèle afin que les utilisateurs comprennent leurs capacités et les exploitent au mieux.

Si vous souhaitez tester des modèles similaires à ChatGPT, j’ai créé une fenêtre de discussion qui connecte les différents modèles d’OpenAI. Vous pouvez facilement l’installer sur votre ordinateur en utilisant ce lien : https://github.com/ahutanu/openai-chat-window .

Notons qu’OpenAI a également publié en janvier 2021 la première version de DALL-E, un générateur d’images réalistes à partir d’une description texte. Après plusieurs améliorations et mises à jour, DALL-E est à présent accessible au grand public. Il permet d’ajouter ou d’ôter des éléments d’une image et de la décliner selon l’angle de vue ou le style artistique.

Conclusion

Pour conclure, ChatGPT est un modèle de langage révolutionnaire développé par OpenAI et qui a la capacité de générer du texte dans un langage naturel.

Grâce à son architecture Transformer, ChatGPT traite de nombreuses séquences d’entrée en même temps et utilise des milliards de paramètres pour générer du texte qui se base sur des répétitions identifiées dans un vaste ensemble de données.

Le processus d’entraînement de ChatGPT implique un pré-entraînement sur de très nombreuses données, suivi d’un fine-tuning sur des tâches spécifiques.

L’utilisation de prompts et de paramètres est crucial pour le fonctionnement de ces modèles car elle détermine le contexte et les résultats du texte généré.

OpenAI a développé d’autres modèles de traitement automatique de langage naturel, comme DaVinci, Ada, Curie et Babbage ; chacun possédant ses forces et ses faiblesses.

Chez Pentalog, notre mission est d’aider les entreprises à tirer parti des meilleures technologies, comme les systèmes d’IA, afin d’améliorer leurs opérations et soutenir leur croissance.

Nous sommes déjà en train de tester leur viabilité dans le développement de produits dans notre Direction Technique, et nous sommes très heureux des résultats obtenus jusqu’à présent et de l’expérience que cela nous apporte.

Cette expérience nous permet d’aider les entreprises à choisir le bon outil pour leurs besoins afin de maîtriser la puissance de l’IA et de bénéficier d’un avantage concurrentiel.

Que vous cherchiez à générer du contenu de haute qualité, répondre à des questions ou créer des jeux de données structurés ou autres, Pentalog peut vous aider.
 

FAQ à propos de Chat GPT

 

Est-ce que Chat GPT gratuit ? 

Pour le moment Chat GPT reste gratuit car il demeure en phase de recherches. Cependant, OpenAI propose depuis février une version payante, Chat GPT Plus. Pour 20 dollars par mois, elle comprend :

  • L’accès à ChatGPT même durant les pics de trafic
  • Des délais de réponse plus courts
  • L’accès prioritaire aux nouvelles fonctionnalités

 

Quelles sont les dernières mises à jour de Chat GPT ?

Selon Sam Altman, le CEO de la startup américaine, ChatGPT-4 comprendra des changements qui seront moins spectaculaires pour l’utilisateur que ne l’a été ChatGPT-3. Ils porteront principalement sur la qualité des données et des algorithmes afin d’améliorer la pertinence des résultats.

En attendant la mise en ligne de Chat GPT-4, il est désormais possible d’intégrer les modèles ChatGPT Whisper aux applications et aux produits grâce aux API.
 

Chat.OpenAI est-il amené à remplacer les moteurs de recherches ? 

Si ChatGPT répond aux questions comme le font les moteurs de recherches Google, Yahoo ou Bing, la ressemblance s’arrête là.

En effet, ils possèdent des fonctions différentes. ChatGPT est un outil conversationnel qui interagit avec l’utilisateur en formulant des réponses qui reposent sur les interactions précédentes. En d’autres termes, Chat GPT ne crée pas du contenu inédit.

Les moteurs de recherche s’appuient sur des robots pour parcourir le web et des algorithmes complexes. Ils classent les résultats de recherches selon la pertinence, la qualité et la popularité de la page, entre autres critères. La diversité et la transparence des sources fournissent à l’utilisateur davantage de fiabilité que ChatGPT.

En outre, ChatGPT n’est pas en mesure de fournir des informations en temps réel sur l’actualité et les données qu’il utilise n’ont pas été mises à jour depuis septembre 2021.
 

Quels sont les différents domaines d’application de ChatGPT ? 

Si l’engouement pour ChatGPT s’est surtout concentré sur la génération de texte, il a également fait beaucoup de bruit du côté des développeurs. 

En effet, ChatGPT se révèle être une aide précieuse pour les développeurs confirmés ou en devenir. Pour les premiers, l’outil génère des lignes de code dans différents langages et les optimise, corrige les bug et crée des tests unitaires. 

Pour les seconds, ChatGPT représente un outil utile pour apprendre à développer, obtenir des explications sur le code et commencer à créer des logiciels ou des applications simples.  

Cependant, les réponses données par ChatGPT reposent sur des résultats statistiques et sauraient être considérées comme entièrement exemptes d’erreurs. Il doit avant tout être considéré comme un outil qui permet de gagner du temps ou une source d’inspiration pour proposer du contenu (sites web, réseaux sociaux, articles de blog, etc.) 
 

Quelles sont les questions auxquelles ChatGPT ne peut pas répondre ? 

Bien que ChatGPT couvre un large éventail de sujets, il n’est pas en mesure de répondre à des sujets d’actualité puisque les données prises en compte s’arrêtent à 2021. 

De même, les questions très spécifiques obtiennent des réponses assez vagues, sans prise de position et formulées de façon maladroite. 

Enfin, ChatGPT n’est pas en mesure de produire des images ou des vidéos si on le lui demande. 

 

Sources :


Un commentaire

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *