FAUCHER LES NOUVELLES avec un traitement du langage naturel et GPT-2 | par Adam Geitgey

 FAUCHER LES NOUVELLES avec un traitement du langage naturel et GPT-2 | par Adam Geitgey


GPT-2 génère du texte beaucoup plus réaliste que n’importe quel système de génération de texte avant. Openai était tellement choqué par la qualité de la sortie qu’ils ont décidé que le modèle GPT-2 complet était trop dangereux Pour libérer, car il pourrait être utilisé pour créer des quantités infinies de fausses nouvelles qui pourraient tromper le public ou obstruer des moteurs de recherche comme Google.

À quel point il est facile pour une personne moyenne de générer de fausses nouvelles qui pourraient tromper une vraie personne et à quel point les résultats sont bons?

Explorons comment un système comme celui-ci pourrait fonctionner et à quel point c’est une menace. Essayons de construire Un journal peuplé de fausses nouvelles générées par ordinateur:

Capture d'écran de «nouvelles que vous ne pouvez pas utiliser» - un site Web où toutes les nouvelles sont fausses
newsyoucantuse.com, Mon journal à 100% 100% généré par AI-AI

Pour peupler Les nouvelles que vous ne pouvez pas utiliserNous allons créer un script Python qui peut «cloner» un site d’information comme le New York Times et générer des actualités artificielles sur les mêmes sujets. Ensuite, nous allons tester la qualité de la sortie et discuter de certaines des questions éthiques que ce type de modèle soulève.

Le texte généré par GPT-2 montre une énorme quantité de connaissances sur le monde. Le GPT-2 a été formé sur de nombreux gigaoctets de texte grattés du Web et il a codé beaucoup de ces connaissances dans le modèle. Ainsi, lorsqu’il génère du texte, il utilise ces connaissances pour rendre les phrases plus réalistes. C’est ce qui le rend si puissant – le texte qu’elle génère contient en fait des faits et des chiffres du monde réel.

Si nous entrons dans un texte de démarrage comme ceci:

Abraham Lincoln

Il générera une phrase qui correspond à cette personne historique spécifique:

Cette phrase est fascinant Pour plusieurs raisons:

  • Premièrement, cela montre que le modèle a codé qu’Abraham Lincoln était une personne en Amérique née en 1809.
  • Deuxièmement, la phrase est parfaitement formatée et indiscernable de quelque chose écrit par un humain.
  • Troisièmement, la phrase est tout à fait faux.

Abraham Lincoln est né le 12 février, pas le 4 avril. Et il est né à Hodgenville, Kentucky, pas Springfield, Illinois! Mais soyons honnêtes, vous ne le saviez pas, n’est-ce pas? Il sonore droite!

C’est GPT-2 en un mot. C’est juste un modèle statistique de la façon dont l’anglais est utilisé sur le Web. Il n’a pas de base de données de faits et de chiffres pour tirer d’un système «Question and Réponse». Au lieu de cela, il est devenu si bon pour prédire le mot suivant dans une situation donnée qu’il a accidentellement codé une version étrange et spongieuse de toutes les connaissances humaines dans le modèle.

Abraham Lincoln a commencé sa carrière d’avocat à Springfield, Illinois et Springfield est une ville, donc Springfield a du sens en tant que mot probable qui pourrait apparaître dans une phrase sur Abraham Lincoln.

L’autre capacité incroyable de GPT-2 est qu’elle peut maintenir la cohérence dans plusieurs paragraphes de texte. Ce n’est pas seulement un enchaînement de mots individuels qui semblent plausibles, mais c’est de créer du texte où les pronoms sont d’accord et que les personnes et les idées mentionnées dans le texte sont cohérentes partout. C’est là que cela souffle vraiment des modèles précédents.

Il y a deux choses principales qui font que GPT-2 fonctionne mieux que les modèles de génération de texte précédents.

Le premier est qu’il est beaucoup plus grand que les autres modèles. GPT-2 est absolument énorme (1,5 milliard Paramètres) formé sur un ensemble de données massif en utilisant une quantité remarquable de puissance informatique basée sur GPU.

Lorsque OpenAI a décidé de ne pas publier le modèle GPT-2 complet, ils étaient convaincus qu’il ne pouvait pas être facilement reproduit par des individus sans expertise technique spécialisée et ressources informatiques massives. Mais la puissance de calcul devient moins chère et plus accessible chaque jour. En quelques mois, deux étudiants diplômés ont nommé Aaron Gokaslan et Vanya Cohen ont pu reproduire le modèle Avec 50 000 $ de crédits de cloud computing. Et contrairement à Openai, ils ont publié leurs résultats. Plusieurs autres équipes ont également pu reproduire le modèle.

Le deuxième secret qui fait que GPT-2 fonctionne est qu’il est construit sur une toute nouvelle façon de modéliser du texte qui est nettement meilleur que tout avant lui – le Transformateur.

Pour comprendre le fonctionnement des modèles basés sur les transformateurs, nous devons commencer par voir comment les choses fonctionnaient.

Bag de modèles de mots

L’un des modèles de langage les plus simples est appelé un modèle «sac de mots», ou Arc. Si vous souhaitez prédire le mot suivant d’une phrase, vous lui dites quels mots sont apparus dans la phrase jusqu’à présent – sans ordre particulier – et demandez-lui de vous dire le mot le plus probable.

Utilisons le texte de départ «Abraham Lincoln était» et lui demandons de prédire le mot suivant:

Les mots sont passés dans le modèle sans ordre particulier, comme si nous les jetions tous dans un sac et que nous avons remis le désordre brouillé au modèle. L’avantage de ce modèle est que nous utilisons n’importe quel algorithme d’apprentissage automatique standard sans aucune modification. Mais le problème évident est que le modèle ne peut considérer que la présence de mots, pas l’ordre dans lequel ils sont apparus. L’ordre des mots compte beaucoup dans le langage. Le besoin de modéliser l’ordre des mots est ce qui rend difficile d’adapter les algorithmes traditionnels d’apprentissage automatique à la langue.

Modèles de séquence et RNN

Au début des années 2010, les réseaux de neurones récurrents, ou RNN, sont devenus très populaires pour la modélisation de texte. Ils combinent la flexibilité des réseaux de neurones avec une capacité inhérente à bien fonctionner avec des séquences de texte variables.

Dans un RNN, le modèle renforce une compréhension de la phrase en regardant chaque mot en séquence. Comme il voit chaque mot, il met à jour une cellule de mémoire avec ce qu’elle pense que le mot actuel signifie – générant ainsi une mémoire qui représente jusqu’à présent la signification de la phrase entière. Lorsque vous lui demandez enfin de prédire le mot suivant, il prédit sur la base de cette mémoire accumulée:

Les RNN nous ont donné un moyen de prendre tout ce que nous avions appris à construire des systèmes de classification d’image avec des réseaux de neurones profonds et de l’appliquer à la modélisation des langues où les phrases varient en longueur. En seulement un an ou deux, tout, des systèmes de traduction du langage automatique aux systèmes de reconnaissance vocale, s’est bien amélioré.

C’est à ce moment que tous ces mèmes «ce texte ont été générés par une IA» ont commencé à apparaître sur Internet. Un RNN bien formé peut générer du texte qui semble assez réel – du moins pour une phrase ou deux.

Rendre les RNN avec l’attention

À l’époque, les RNN semblaient être l’avenir évident de la modélisation de texte, donc les chercheurs ont continué à chercher des moyens d’améliorer leur capacité à modéliser le texte. L’avance la plus importante consistait à ajouter un Attention mécanisme.

Un RNN normal se souvient des mots qu’il a vus jusqu’à un seul tableau de nombres dans sa mémoire interne. Chaque nouveau mot, il voit des mets à jour que la mémoire, de sorte que les mots plus récents ont tendance à dominer les mots antérieurs. En conséquence, les RNN ne fonctionnent pas très bien sur de longs morceaux de texte.

Avec un mécanisme d’attention, le modèle garde une trace de sa mémoire après chaque mot. Ensuite, quand il prédit le mot suivant, il fonde sa prédiction sur une version pondérée de tous ces souvenirs passés:

En pondérant différemment l’ancienne mémoire, il «fait attention» à chaque mot de la phrase en fonction de la façon dont il pense que ce mot aidera à prédire le mot suivant.

Les modèles d’attention ont conduit à des améliorations de performances significatives par rapport aux RNN standard dans presque toutes les situations, y compris la génération de texte. Mais ils n’étaient toujours pas en mesure de générer du texte avec des idées cohérentes sur des paragraphes entiers de texte.

Remplacement des RNN par le transformateur

Après avoir vu à quel point l’ajout d’attention aux RNN a amélioré leur précision, les chercheurs ont commencé à se demander si le RNN lui-même était même vraiment nécessaire. Peut-être que la façon dont l’attention pèse la valeur prédictive de chaque mot précédent dans la phrase est ce qui comptait vraiment.

Imaginez que nous dépassons au hasard un mot d’une vraie phrase:

Si nous formons le modèle à prédire le mot manquant en fonction des mots restants de la phrase, nous pourrions également mesurer à quel point chaque mot restant a contribué à cette prédiction. Cela donnerait une mesure de la force de la force de chaque mot de la phrase est liée au mot manquant:

Nous pouvons également continuer à le faire pour d’autres mots dans la phrase. Voyons quels mots comptent le plus si nous abandonnons «Lincoln»:

Nous pouvons répéter ceci pour chaque mot de la phrase pour savoir à quel point chaque mot est fortement lié à tous les autres mots. Et si nous le faisons sur des millions et des millions de phrases éraquées du Web, le modèle apprendra comment chaque mot en anglais se rapporte à tous les autres mots dans Chaque contexte possible. C’est ce qui se passe à l’intérieur d’un module transformateur.

Un module de transformateur code la signification de chaque mot entièrement basé sur les mots qui l’entourent Dans la phrase en cours. L’utilisation du contexte de la phrase est ce qui le fait fonctionner si bien. Un transformateur n’a aucun problème à comprendre que le même mot peut signifier des choses totalement différentes dans différents contextes. C’est pourquoi il peut modéliser les phrases avec des pronoms si efficacement. Le sens de mots comme «lui» ou «elle» sont définis sur la base des autres mots actuellement dans la phrase.

Et comme des années de recherche en Deep Learning nous ont appris, si quelque chose fonctionne bien seul, pourquoi ne pas essayer de les empiler? Tout comme avec les couches dans un réseau neuronal profond, nous pouvons empiler les modules de transformateur les uns sur les autres:



Source link

Related post

Leave a Reply

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