
Partager:
Développeur IOS devenu passionné de science des données et d'apprentissage automatique. Je veux que les gens comprennent ce qu'est l'apprentissage automatique et comment nous pouvons l'utiliser dans nos Applications.
Introduction au GPT-3
Temps de lecture : 9 minutes
Si vous ne l'avez pas remarqué, l'IA est partout, et nous sommes finalement arrivés à un point où elle est présente dans presque tout ce avec quoi nous interagissons. Des recommandations de produits d'Amazon aux suggestions de Netflix, en passant par la conduite autonome et la rédaction d'excellents articles de blog... Ne vous inquiétez pas, ce billet a été écrit par un humain, pour l'instant.
Nombreux sont ceux qui voient comment l'IA est utilisée, mais vous êtes-vous déjà demandé comment elle est née ?
Cet article examine un modèle très populaire utilisé pour de nombreuses tâches, notamment la génération d'articles de presse, la génération d'images et même la construction de sites HTML.
Introduction à l'IA
Tout d'abord, résumons l'IA : il s'agit d'une série d'algorithmes capables d'apprendre une tâche spécifique et de faire des prédictions sur des tâches similaires. L'une de ces tâches pourrait consister à prédire si une image contient la photo d'un chat ou d'un chien.
Dans cet exemple, nous rassemblons un grand nombre de ces images et les introduisons dans un algorithme. Nous étiquetons ensuite chaque image, par exemple "Ceci est une photo de chien" ou "Ceci est une photo de chat". L'algorithme "apprend" quelles images contiennent un chien ou un chat. Le modèle fait des hypothèses sur ce qui constitue un chien (grandes oreilles, queue duveteuse) et un chat (moustaches, forme des yeux) et peut apprendre ces différences.
Nous donnons à notre modèle des centaines d'images dites "d'entraînement", grâce auxquelles le modèle se fait une bonne idée de l'apparence d'un chien et d'un chat. Enfin, nous donnons au modèle une nouvelle image et il doit être capable de nous dire s'il s'agit de l'image d'un chien ou d'un chat.
Si vous souhaitez apprendre à construire un modèle d'identification des chiens, consultez le site suivant (https://developer.vonage.com/en/blog/dog-breed-detector-using-machine-learning-dr).
L'idée d'entraîner un modèle avec des exemples (des images de chats et de chiens) et d'être capable de faire des prédictions sur de nouvelles images est... apprentissage profondqui est un sous-ensemble de l'IA.
Nous n'aborderons pas ici la question de l'entraînement d'un modèle, mais nous nous pencherons sur un modèle très populaire qui permet d'accomplir des tâches plus intéressantes.
En juin 2020, une société appelée OpenAI (fondée par Elon Musk), a publié un nouveau modèle appelé GPT-3, qui est capable de générer de nouveaux contenus, étant donné un petit nombre d'exemples de données d'entrée.
Voici quelques exemples d'utilisation :
Questions et réponses
Résumer des phrases
Traduction
Génération de texte
Génération d'images
Effectuer des opérations arithmétiques à trois chiffres
Mots décodés
A propos de GPT-3
GPT-3 est un modèle linguistique d'apprentissage profond, ce qui signifie que ce modèle est entraîné sur des milliers d'articles provenant de Wikipédia, de sites web et de livres.
Lorsqu'un modèle est entraîné, son résultat est une série de paramètres, généralement un tableau multidimensionnel de nombres. Ces nombres représentent ce que le modèle a appris.
Le GPT-3 contient 175 milliards de paramètres. À titre de comparaison, Microsoft a également mis au point un modèle linguistique qui n'utilise que 10 milliards de paramètres.
Pour qu'un modèle puisse apprendre à partir de données données, il doit être entraîné. Cet entraînement s'effectue en alimentant le modèle avec chaque mot d'un texte donné, puis en prédisant le mot suivant.
Cette formation est coûteuse en termes de calcul et nécessite de nombreux GPU pour l'entraîner. Selon une estimation, l'entraînement du modèle GPT-3 coûte 4,6 millions de dollars, l'entraînement du modèle GPT-3 coûte 4,6 millions de dollars.
Comment fonctionne le GPT-3 ?
Le GPT-3 est connu sous le nom de (G)enerative (P)re-trained (T)ransformer. Le terme "génératif" signifie qu'il peut générer un nouveau texte à partir d'un texte d'entrée.
Par exemple, si nous donnons au modèle le texte suivant :
"Le ciel est
Le modèle doit pouvoir prédire que le mot suivant est "bleu".
Si je lui donne une autre phrase :
"Le renard brun et rapide
Le modèle devrait d'abord prédire "a sauté", puis, en utilisant la phrase précédente ("Le renard brun et rapide a sauté"), il devrait prédire le mot "sur", et ainsi de suite.
Une autre partie du GPT-3 est le transformateur. Le transformateur est une architecture, développée par Google, qui permet à un modèle de se souvenir ou de donner plus de poids à une phrase ou à un ensemble de phrases dans une phrase donnée qui a le plus d'importance.
Les modèles linguistiques sont construits à l'aide d'un réseau neuronal récurrent. Cette architecture de réseau neuronal prend une phrase, mot par mot, et l'introduit dans le réseau. Ce qui le rend récurrent, c'est que la sortie du mot précédent est une entrée pour le mot suivant dans la phrase.

Ces modèles ne peuvent traiter que des nombres. Le texte doit donc être converti en nombre. Une façon de convertir un texte en un nombre est de procéder à des l'intégration de mots.
L'intégration de mots transforme les mots en un espace vectoriel tridimensionnel qui permet de saisir le sens d'un mot à l'aide de sa relation avec d'autres mots. Un excellent exemple d'intégration de mots permet de comprendre les similitudes entre les mots "frère" et "sœur" par rapport à "homme" et "femme".

Dans l'image ci-dessus, nous pouvons voir que le mot "frère" réside dans le même espace physique que le mot "homme". Cette intégration a également été apprise par un modèle qui lit de nombreux textes et trouve ces similitudes.
Ce classement des mots est intégré au classement des mots suivants, ce qui permet au modèle de "se souvenir" des mots précédents à l'aide de son classement.
L'un des principaux problèmes réside dans le fait que les RNN ne sont généralement pas capables de mémoriser de longues phrases.
Prenons cette phrase :
"Tony Hung est ingénieur logiciel chez Vonage. Il aime écrire sur l'intelligence artificielle sur le blog de Vonage. Il vit dans le nord de l'État de New York, avec sa femme, sa fille de 4 ans et son chien."
Un RNN prendrait chaque mot ("Tony", "Hung", "is") et l'introduirait dans le réseau sous la forme d'une intégration de mots. Au fil du temps, le modèle peut oublier le mot "Tony" puisqu'il s'agit du premier mot de la phrase. Si je pose au modèle la question suivante, "Qui travaille pour Vonage", il devra revenir en arrière dans la phrase, trouver le mot "Vonage" et essayer de trouver le nom associé à la question. Le mot "Tony" étant très éloigné dans le passé, le RNN pourrait ne pas être en mesure de le trouver.
L'architecture Transformer aide à résoudre ce problème, qui a été proposé dans l'article L'attention est tout ce dont vous avez besoin et utilise un concept appelé Attention.
L'attention fait partie d'une couche de réseau neuronal qui peut se concentrer sur des parties spécifiques de la phrase. Comme nous l'avons indiqué précédemment, un modèle RNN peut capturer tous les mots de la phrase, mais si l'intégration est trop importante, le modèle peut ne pas se souvenir de tout.
Avec Attention, chaque intégration contient également un score sur l'importance du mot spécifique. Ainsi, le RNN ne doit plus se souvenir de chaque intégration de mot, mais uniquement des intégrations de mots ayant un score plus élevé que les autres intégrations de mots.
Pour une description plus détaillée du transformateur et de l'attention, consultez l'article de blog de Jay Alammar sur le transformateur visuel. l'article du blog de Jay Alammar sur le transformateur visuel.
Échantillons GPT-3
Toujours avec moi ? C'est génial ! Voyons quelques exemples d'utilisation de la GPT-3.
En accédant à l'API d'OpenAI, vous pouvez fournir des données d'entraînement, qui contiennent un exemple d'entrée et ce que devrait être la sortie. OpenAI n'a pas mis le modèle à la disposition du public, mais uniquement sous la forme d'une API en version bêta fermée, ce qui signifie que vous devez demander l'accès à l'API pour l'utiliser. Au moment où j'écris ces lignes, je n'ai pas encore été accepté dans la version bêta.
La bonne nouvelle, c'est que de nombreuses personnes ont et peuvent expliquer en détail le fonctionnement de l'API.
Passons en revue quelques exemples d'utilisation du GTP-3 par d'autres développeurs.
Texte vers HTML à l'aide de GTP-3
L'une des nombreuses utilisations de GPT-3 consiste à générer du HTML à partir d'une chaîne donnée. L'entrée dans l'API OpenAI consisterait en une chaîne de caractères, ainsi que son équivalent HTML.
Entrée : mettre en gras le texte suivant : "GPT-3".
Nous fournissons la production de : <b>GPT-3</b>
L'API OpenAI permet à un développeur de fournir ces textes d'entrée et de sortie à la GPT-3. Ensuite, sur les serveurs OpenAI, l'API enverra ces textes d'entrée et de sortie à GPT-3 pour "apprendre" les textes d'entrée fournis et ce que devrait être le texte de sortie.
Ensuite, si nous fournissons une nouvelle série de texte à l'API OpenAI :
"Centrer et mettre en gras le mot GPT-3".
Son résultat sera <center><b>GPT-3</b></center>
Nous n'avons rien dit à GPT-3 au sujet de la balise <center> car le GPT-3 a très probablement contenu des chaînes HTML au cours de son processus de formation.
Voici un exemple de ce que cela donne :
C'est époustouflant.
Avec GPT-3, j'ai construit un générateur de mise en page où vous décrivez simplement la mise en page que vous voulez, et il génère le code JSX pour vous.
W H A T pic.twitter.com/w8JkrZO4lk
- Sharif Shameem (@sharifshameem) 13 juillet 2020
Aventure textuelle
D'autres exemples de développeurs utilisant le GPT-3 sont un jeu d'aventure textuel de aidungeon.io
AI Dungeo
Le donjon AI génère une histoire dans laquelle vous pouvez naviguer à l'aide de texte - également connu sous le nom de donjon multi-utilisateurs. Dans cet exemple, la saisie des mots "Look Around" (regardez autour de vous) génère un nouveau texte sur le paysage. Cette fonction utilise uniquement GPT-3 pour générer du texte après chaque entrée.
Texte vers Regex
Cet exemple est celui qui m'a le plus interpellé. En fournissant un ensemble de texte et son équivalent en expressions régulières, vous pouvez générer des expressions régulières valides en utilisant un anglais lisible.
J'ai eu une fois un problème et j'ai utilisé des expressions rationnelles. J'ai alors eu deux problèmes
Plus jamais. Avec l'aide de nos supérieurs GPT-3, j'ai créé quelque chose pour transformer l'anglais en regex. Il a fonctionné correctement pour la plupart des descriptions que je lui ai soumises. S'inscrire à https://t.co/HtTpJ16V4F pour jouer avec un prototype pic.twitter.com/trJA7VRrsf
- Parthi Loganathan (@parthi_logan) 25 juillet 2020
D'autres exemples de développeurs utilisant le GPT-3 pour construire des choses passionnantes peuvent être trouvés à l'adresse suivante buildgpt3.com.
Conclusion
Ce billet nous a permis de comprendre ce qu'est le GPT-3 et comment il est construit. Cependant, nous n'avons pas approfondi les aspects techniques de ce modèle et d'autres modèles d'IA. Pour en savoir plus sur le GPT-3, consultez les sites suivants La Video de Jay Alammar sur le fonctionnement de GPT-3. C'est un excellent point de départ pour comprendre comment les modèles d'IA peuvent être entraînés.
Si vous ne connaissez pas encore les aspects techniques de l'IA, y compris l'apprentissage profond, consultez les sites suivants Fast.aiun cours gratuit qui explique ce qu'est l'apprentissage profond et comment commencer.
J'espère que ce billet vous a aidé à comprendre ce qu'est le GPT-3, d'un point de vue technique et non technique. Si vous souhaitez en savoir plus sur GPT-3 et sur les autres projets de l'OpenAI, vous pouvez consulter le site suivant OpenAI.com.