En voyant la magnifique naissance de ChatGPT, j'ai des émotions mitigées, notamment de la joie, de la surprise et de la panique. Ce qui me rend heureux et surpris, c'est que je ne m'attendais pas à assister aussi rapidement à une avancée majeure dans la technologie de traitement du langage naturel (NLP) et à expérimenter le charme infini de la technologie générale. Ce qui est effrayant, c'est que ChatGPT peut presque accomplir la plupart des tâches en PNL avec une haute qualité, et on se rend progressivement compte que de nombreuses directions de recherche en PNL ont rencontré de grands défis.
Dans l'ensemble, la chose la plus étonnante de ChatGPT est sa polyvalence. Par rapport à GPT-3, qui nécessite des invites très élaborées pour obtenir diverses fonctionnalités PNL qui ne sont pas très efficaces, ChatGPT a permis aux utilisateurs de ne pas ressentir la présence d'invites.
En tant que système de dialogue, ChatGPT permet aux utilisateurs de poser des questions naturellement pour réaliser une variété de tâches de la compréhension à la génération, et ses performances ont presque atteint le meilleur niveau actuel dans les domaines ouverts, et de nombreuses tâches dépassent celles conçues pour des tâches spécifiques. . modéliser et exceller en programmation de code.
Plus précisément, les capacités de compréhension du langage naturel (en particulier la capacité de comprendre les intentions des utilisateurs) sont très importantes, qu'il s'agisse de questions et réponses, de chat, de classification, de résumé, de traduction et d'autres tâches, même si les réponses peuvent ne pas être complètement correctes. les utilisateurs peuvent presque toujours les comprendre. L'intention, la compréhension a largement dépassé les attentes.
Par rapport à la capacité de compréhension, la capacité de génération de ChatGPT est plus puissante et peut générer de longs textes avec une certaine logique et diversité pour diverses questions. En général, ChatGPT est plus étonnant et constitue la première étape vers l’AGI. Il deviendra plus puissant une fois certains goulots d’étranglement techniques résolus.
Il existe déjà de nombreux résumés de cas de performances de ChatGPT. Ici, je résume principalement certaines de mes réflexions sur les problèmes techniques de ChatGPT. Cela peut être considéré comme un simple résumé de plus de deux mois d'interaction intermittente avec ChatGPT. Comme nous ne sommes pas en mesure de comprendre la technologie de mise en œuvre spécifique et les détails de ChatGPT, ce sont presque toutes des conjectures subjectives. Il doit y avoir de nombreuses erreurs. Bienvenue pour en discuter ensemble.
Tant que nous aurons utilisé ChatGPT, nous constaterons qu'il ne s'agit pas d'un système de dialogue homme-machine au sens traditionnel, mais qu'il s'agit en fait d'une plateforme générale de traitement du langage qui utilise le langage naturel comme méthode d'interaction.
Bien que GPT-3 en 2020 ait le prototype de capacités générales, il nécessite des invites soigneusement conçues pour déclencher les fonctions correspondantes. ChatGPT permet aux utilisateurs d'identifier avec précision les intentions et d'effectuer diverses fonctions à l'aide de questions très naturelles. Les méthodes traditionnelles identifient souvent d'abord les intentions de l'utilisateur, puis appellent des modules de traitement avec les fonctions correspondantes pour différentes intentions. Par exemple, en identifiant les intentions de résumé ou de traduction via les données utilisateur, puis en appelant des modèles de résumé de texte ou de traduction automatique.
La précision des méthodes traditionnelles de reconnaissance d'intentions de domaine ouvert n'est pas assez idéale, et différents modules fonctionnels fonctionnent indépendamment et ne peuvent pas partager d'informations, ce qui rend difficile la création d'une puissante plate-forme universelle NLP. ChatGPT brise le modèle séparé et ne fait plus de distinction entre les différentes fonctions. Il est unifié en tant que besoin spécifique dans le processus de conversation. Alors, pourquoi ChatGPT est-il si polyvalent ? Je réfléchis à cette question depuis longtemps. Puisqu'il n'y a pas de confirmation expérimentale conditionnelle, je ne peux que deviner.
Selon le travail de recherche FLAN de Google Instruction Tuning, lorsque le modèle atteint une certaine taille (par exemple 68B) et que les types de tâches d'instruction atteignent un certain nombre (par exemple 40), le modèle émerge avec la capacité de reconnaître de nouvelles intentions. OpenAI collecte des données de dialogue de divers types de tâches auprès d'utilisateurs mondiaux à partir de son API ouverte, les classe et les annote en fonction de l'intention, puis effectue un réglage des instructions sur le paramètre 175B GPT-3.5. Des capacités universelles de reconnaissance d'intention émergent naturellement.
Le problème catastrophique de l'oubli a toujours été un défi dans le deep learning. Il est souvent causé par la perte de performance sur d'autres tâches après un entraînement sur une certaine tâche. Par exemple, si un modèle de base avec 3 milliards de paramètres est d'abord affiné sur des données de questions et réponses automatiques, puis affiné sur plusieurs séries de données de dialogue, on constatera que la capacité de questions et réponses du modèle a considérablement diminué. ChatGPT ne semble pas avoir ce problème. Il a effectué deux ajustements sur le modèle de base GPT-3.5. Le premier ajustement était basé sur des données de conversation annotées manuellement, et le second ajustement était basé sur un apprentissage par renforcement. Commentaires humains. Les données utilisées pour le réglage fin sont très petites. Il y a peu de données de notation et de classement des commentaires humains. Après un réglage fin, elles montrent toujours de fortes capacités générales, mais elles ne sont pas complètement suradaptées à la conversation. tâche.
C'est un phénomène très intéressant, et c'est aussi un phénomène que nous n'avons aucune condition pour vérifier. Il peut y avoir deux raisons de spéculer. D'une part, les données de réglage fin du dialogue utilisées par ChatGPT peuvent en fait inclure une gamme très complète de tâches PNL, comme le montre la classification des questions des utilisateurs utilisant l'API dans InstructGPT. parmi eux ne sont pas de simples conversations, mais il y a aussi la classification, les questions et réponses, la synthèse, la traduction, la génération de code, etc. Par conséquent, ChatGPT affine en fait plusieurs tâches en même temps, lorsque le modèle de base est ; suffisamment grand, un réglage fin sur des données plus petites n'améliorera pas le modèle, a un impact important et ne peut être optimisé que dans un très petit voisinage de l'espace des paramètres du modèle de base, de sorte qu'il n'affecte pas de manière significative les capacités générales du modèle de base.
Lorsque vous utilisez ChatGPT, vous découvrirez une capacité très surprenante Même après avoir interagi avec ChatGPT pendant plus de dix tours, il se souvient toujours des informations du premier tour et peut identifier plus précisément les omissions et les références en fonction de l'intention de l'utilisateur. . et d'autres phénomènes linguistiques à grain fin. Cela ne semble peut-être pas être un problème pour nous, humains, mais dans l’histoire de la recherche en PNL, les problèmes tels que l’omission et la référence ont toujours constitué un défi insurmontable. De plus, dans les systèmes de dialogue traditionnels, après trop de tours de dialogue, il est difficile d'assurer la cohérence des sujets.
Cependant, ChatGPT n'a presque pas ce problème, et il semble qu'il puisse maintenir la cohérence et la concentration du sujet de conversation même s'il y a plus de tours. On suppose que cette capacité pourrait provenir de trois sources. Tout d'abord, des données de dialogue multi-tours de haute qualité sont la base et la clé. Tout comme LaMDA de Google, OpenAI utilise également l'annotation manuelle pour construire une grande quantité de données de dialogue multi-tours de haute qualité. stimulera les données de dialogue multi-tours du modèle.
Deuxièmement, l'apprentissage par renforcement basé sur la rétroaction humaine améliore l'anthropomorphisme des réponses du modèle, ce qui améliorera également indirectement la cohérence du modèle dans plusieurs cycles de dialogue. Enfin, la capacité de modélisation explicite du modèle de 8 192 unités linguistiques (jetons) lui permet de mémoriser presque une journée entière de données de conversation de personnes ordinaires. Il est donc difficile de dépasser cette longueur dans un échange de conversation. Par conséquent, tout l'historique des conversations a été mémorisé efficacement. ce qui peut améliorer considérablement la capacité de tenir plusieurs cycles de conversations consécutifs.
La capacité de correction interactive est une manifestation avancée de l'intelligence. Les choses qui nous sont courantes sont les points faibles des machines. Au cours du processus de communication, lorsqu'un problème est signalé, nous nous en rendrons immédiatement compte et corrigerons les informations pertinentes rapidement et avec précision. Chaque étape consistant à réaliser un problème, à identifier l'étendue du problème et à corriger les informations correspondantes n'est pas une tâche facile pour une machine. Avant l’émergence de ChatGPT, nous n’avions pas vu de modèle général doté de fortes capacités de correction interactive.
Après avoir interagi avec ChatGPT, vous constaterez que si l'utilisateur modifie sa déclaration précédente ou signale des problèmes dans la réponse de ChatGPT, ChatGPT peut capturer l'intention de modification, identifier avec précision les parties qui doivent être modifiées et enfin pouvoir Faites les corrections correctes.
Jusqu'à présent, aucun facteur lié au modèle n'a été trouvé directement lié à la capacité de correction interactive, et nous ne pensons pas que ChatGPT ait la capacité d'apprendre en temps réel. D'une part, ChatGPT peut encore faire. les mêmes erreurs après avoir redémarré la conversation ; par contre, ce sont les bases. L'apprentissage de l'optimisation des grands modèles a toujours consisté à résumer des modèles fréquents à partir de données à haute fréquence, et il est de toute façon difficile de mettre à jour le modèle de base en une seule conversation.
Je pense qu'il s'agit davantage d'une technique de traitement de l'information historique du modèle linguistique de base. Les facteurs incertains peuvent inclure :
.Lorsque nous posons à ChatGPT des questions liées au raisonnement logique, il ne donne pas de réponses directement, mais montre les étapes détaillées du raisonnement logique et donne enfin les résultats du raisonnement. Bien que de nombreux cas, comme celui d'un poulet et d'un lapin dans la même cage, montrent que ChatGPT n'a pas appris l'essence du raisonnement, mais seulement la logique superficielle du raisonnement, les étapes de raisonnement et le cadre affichés sont fondamentalement corrects.
La capacité d'un modèle de langage à apprendre des modèles de raisonnement logique de base a largement dépassé les attentes. Retracer l'origine de ses capacités de raisonnement est une question très intéressante. Des études comparatives pertinentes ont montré que lorsque le modèle est suffisamment grand et que le code du programme et les données textuelles sont mélangés pour la formation, la chaîne logique complète du code du programme sera migrée et généralisée vers le grand modèle de langage, de sorte que le grand modèle ait certaines capacités de raisonnement.
L'acquisition de ce type de capacité de raisonnement est un peu magique, mais elle est aussi compréhensible. Peut-être que les commentaires de code sont le pont pour le transfert et la généralisation de la capacité de raisonnement du code logique au grand modèle de langage. Les capacités multilingues devraient être similaires. La plupart des données de formation de ChatGPT sont en anglais et les données chinoises représentent très peu. Cependant, nous avons constaté que même si les capacités chinoises de ChatGPT ne sont pas aussi bonnes que l'anglais, elles restent très puissantes. Certaines données parallèles chinois-anglais dans les données de formation peuvent constituer un pont pour transférer les compétences en anglais vers les capacités en chinois.
ChatGPT a de nombreuses performances étonnantes, dont l'une est qu'il peut générer plusieurs réponses différentes à la même question, ce qui semble très intelligent.
Par exemple, si nous ne sommes pas satisfaits de la réponse de ChatGPT, nous pouvons cliquer sur le bouton « Régénérer » et il générera immédiatement une autre réponse. Si nous ne sommes toujours pas satisfaits, nous pouvons continuer à la régénérer. Ce n’est pas un mystère dans le domaine du PNL. Pour les modèles de langage, il s’agit d’une capacité de base, qui est le décodage par échantillonnage.
Un fragment de texte peut être suivi de différents mots. Le modèle de langage calculera la probabilité d'apparition de chaque mot. Si la stratégie de décodage sélectionne le mot avec la probabilité la plus élevée, le résultat sera certain à chaque fois et la diversité ne sera pas possible. être généré. Si l'échantillonnage est effectué selon la distribution de probabilité de la sortie du vocabulaire, par exemple, la probabilité de « stratégie » est de 0,5 et la probabilité de « algorithme » est de 0,3, alors la probabilité d'échantillonnage de la sortie de décodage « stratégie » est de 50 %, et la probabilité de sortie de « l'algorithme » est de 30 %, garantissant ainsi la diversité des sorties. Étant donné que le processus d'échantillonnage est effectué selon la distribution de probabilité, même si les résultats de sortie sont divers, le résultat avec une probabilité plus élevée est sélectionné à chaque fois, de sorte que les différents résultats semblent relativement raisonnables. En comparant différents types de tâches, nous constaterons que la diversité des réponses de ChatGPT varie considérablement pour les différentes tâches en aval.
Pour les tâches de type "Comment" et "Pourquoi" telles que "Comment" et "Pourquoi", la réponse régénérée est assez différente de la réponse précédente en termes d'expression et de contenu spécifique. Elle est destinée à la traduction automatique et aux mathématiques. Dans les tâches de type « Quoi » telles que les questions, les différences entre les réponses sont très subtiles et parfois il n'y a presque aucun changement. Si elles sont toutes basées sur un décodage par échantillonnage de distributions de probabilité, pourquoi les différences entre les différentes réponses sont-elles si faibles ?
Devinez qu'une situation idéale pourrait être que la distribution de probabilité apprise par le grand modèle basé sur la tâche de type "Quoi" soit très précise (Sharp). Par exemple, la probabilité de "stratégie" apprise est de 0,8 et "l'algorithme". " La probabilité est de 0,1, donc grande La plupart du temps, le même résultat est échantillonné, c'est-à-dire que dans l'exemple précédent, il y a une probabilité de 80 % d'échantillonner la « stratégie » ; la distribution de probabilité apprise par le grand modèle basé sur Les tâches « Comment » et « Pourquoi » sont relativement fluides (lisse), telles que « La probabilité de « Stratégie » est de 0,4 et la probabilité de « Algorithme » est de 0,3, vous pouvez donc échantillonner des résultats avec de grandes différences à différents moments.
Si ChatGPT peut apprendre une distribution de probabilité très idéale liée à la tâche, elle sera vraiment puissante la stratégie de décodage basée sur l'échantillonnage pourra être appliquée à toutes les tâches. Habituellement, pour des tâches telles que la traduction automatique, les calculs mathématiques, les questions et réponses factuelles, etc., où les réponses sont relativement certaines ou certaines à 100 %, un décodage glouton est généralement utilisé, c'est-à-dire que le mot avec la probabilité la plus élevée est émis à chaque fois. . Si vous souhaitez générer des sorties diverses avec la même sémantique, les méthodes de décodage basées sur la recherche de colonnes sont principalement utilisées, mais les stratégies de décodage basées sur l'échantillonnage sont rarement utilisées.
D'après l'interaction avec ChatGPT, il semble utiliser une méthode de décodage basée sur l'échantillonnage pour toutes les tâches, ce qui est d'une esthétique vraiment violente.
Le manque de fiabilité des réponses est actuellement le plus grand défi auquel ChatGPT est confronté. Surtout pour les questions et réponses liées aux faits et aux connaissances, ChatGPT invente parfois des bêtises et génère de fausses informations. Même lorsqu'on lui demande de donner des sources et des références, ChatGPT génère souvent une URL inexistante ou un document qui n'a jamais été publié.
Cependant, ChatGPT donne généralement aux utilisateurs un meilleur sentiment, c'est-à-dire qu'il semble connaître de nombreux faits et connaissances. En fait, ChatGPT est un grand modèle de langage. L'essence d'un grand modèle de langage est un réseau neuronal profond. L'essence d'un réseau neuronal profond est un modèle statistique, qui consiste à apprendre des modèles pertinents à partir de données haute fréquence. De nombreuses connaissances ou faits communs apparaissent fréquemment dans les données d'entraînement. Les modèles entre les contextes sont relativement fixes. La distribution de probabilité prédite des mots est relativement précise et l'entropie est relativement faible. Les grands modèles sont faciles à mémoriser et génèrent des mots corrects pendant le processus de décodage. . Fait ou connaissance.
Cependant, de nombreux événements et connaissances apparaissent rarement, même dans de très grandes données d'entraînement. Les modèles importants ne peuvent pas apprendre de modèles pertinents. Les modèles entre les contextes sont relativement lâches. La distribution de probabilité de la prédiction des mots est relativement fluide. , les grands modèles ont tendance à produire des sorties aléatoires incertaines pendant le processus d'inférence.
Il s'agit d'un problème inhérent à tous les modèles génératifs, y compris ChatGPT. Si l'architecture de la série GPT est maintenue et que le modèle de base n'est pas modifié, il est théoriquement difficile de résoudre le problème de fiabilité factuelle des réponses ChatGPT. La combinaison avec les moteurs de recherche est actuellement une solution très pragmatique. Les moteurs de recherche se chargent de rechercher des sources fiables d'informations factuelles, et ChatGPT se charge de résumer et de synthétiser.
Si vous souhaitez que ChatGPT résout le problème de fiabilité des réponses factuelles, vous devrez peut-être améliorer davantage la capacité de rejet du modèle, c'est-à-dire filtrer les questions auxquelles le modèle détermine qu'il ne peut pas répondre, et vous avez également besoin d'un module de vérification des faits. pour vérifier l'exactitude des réponses ChatGPT. On espère que la prochaine génération de GPT pourra faire une percée sur cette question.
ChatGPT donne l’impression qu’il dispose de capacités d’apprentissage autonome en temps réel.
Comme indiqué ci-dessus, ChatGPT peut immédiatement modifier les réponses pertinentes en fonction de l'intention de modification ou des informations de correction fournies par l'utilisateur, démontrant la capacité d'apprentissage en temps réel. En fait, ce n'est pas le cas. La capacité d'apprentissage reflète que les connaissances acquises sont universelles et peuvent être utilisées à d'autres moments et à d'autres occasions. Cependant, ChatGPT ne démontre pas cette capacité. ChatGPT ne peut apporter des corrections qu'en fonction des commentaires des utilisateurs dans la conversation en cours. Lorsque nous redémarrons une conversation et testons le même problème, ChatGPT commettra toujours des erreurs identiques ou similaires.
Une question est de savoir pourquoi ChatGPT ne stocke pas les informations modifiées et correctes dans le modèle ? Le problème présente ici deux aspects. Tout d'abord, les informations renvoyées par les utilisateurs ne sont pas nécessairement correctes. Parfois, ChatGPT est délibérément guidé pour donner des réponses déraisonnables, simplement parce que ChatGPT s'appuie davantage sur les utilisateurs dans l'apprentissage par renforcement basé sur les commentaires humains, donc ChatGPT est dans la même situation. conversation. Nous nous appuierons fortement sur les commentaires des utilisateurs pendant le processus. Deuxièmement, même si les informations renvoyées par les utilisateurs sont correctes, parce que la fréquence d'occurrence peut ne pas être élevée, le grand modèle de base ne peut pas mettre à jour les paramètres basés sur des données basse fréquence, sinon le grand modèle surajustera certaines données à longue traîne et. perdre sa polyvalence.
Il est donc très difficile pour ChatGPT d'apprendre en temps réel. Une solution simple et intuitive consiste à utiliser de nouvelles données pour affiner ChatGPT à chaque fois. Vous pouvez également utiliser un mécanisme de déclenchement pour déclencher la mise à jour des paramètres du modèle lorsque plusieurs utilisateurs soumettent des commentaires identiques ou similaires, améliorant ainsi la capacité d'apprentissage dynamique du modèle.
L'auteur de cet article, Zhang Jiajun, est chercheur à l'Institut d'automatisation de l'Académie chinoise des sciences. Lien original :
https://zhuanlan.zhihu.com/p/606478660.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!