Ce tweet a été rédigé le 12 février 2023. Il s'agit de mon opinion personnelle et à titre de référence uniquement.
Pourquoi toutes les réplications publiques de GPT-3 échouent-elles ? Pour quelles tâches devons-nous utiliser GPT-3.5 ou ChatGPT ?
Ce tweet inclura mon résumé après avoir soigneusement réexaminé les détails d'une série d'articles, ainsi que mes réflexions personnelles sur les deux questions ci-dessus. Ces articles incluent, sans s'y limiter : GPT-3, PaLM, BLOOM, OPT, FLAN-T5/PaLM, HELM, etc. Si vous disposez de documents de référence plus fiables ou d'une expérience plus pratique, veuillez me corriger.
Pour ceux qui souhaitent reproduire leur propre GPT-3 ou ChatGPT, la première question est cruciale. La deuxième question est importante pour ceux qui souhaitent les utiliser (chaque fois que GPT-3 est mentionné ci-dessous, il fait principalement référence à la dernière version de GPT-3.5 ou InstructGPT, sauf dans certains cas qui renvoient au texte GPT-3 original).
Ici, j'appelle cela « échec », ce qui signifie que le modèle entraîné a un numéro de paramètre proche de GPT-3 ou supérieur, mais ne peut toujours pas correspondre aux performances rapportées dans la littérature GPT-3 originale. Selon ce critère, GPT-3 et PaLM sont « réussis », mais aucun des deux modèles n'est public. Et tous les modèles publics (par exemple : OPT-175B et BLOOM-176B) ont « échoué » dans une certaine mesure. Mais nous pouvons encore tirer quelques leçons de ces « échecs ».
Nous devons noter que si nous pouvons essayer différents paramètres de formation plusieurs fois, la communauté open source pourrait éventuellement être en mesure de reproduire GPT-3. Mais pour l'instant, le coût de formation d'une autre version de l'OPT-175B est encore trop élevé - pour un modèle à si grande échelle, une formation nécessitera au moins 2 mois sur environ 1 000 GPU 80G A100 (données tirées de la littérature originale de OPTER).
Bien que certains articles (tels que OPT-175B et GLM-130B) affirment qu'ils peuvent égaler ou même dépasser les performances du GPT-3 d'origine sur certaines tâches, sur plus de tâches que GPT-3 a été testé, ceci La déclaration reste discutable. Dans le même temps, sur la base de l'expérience de la plupart des utilisateurs sur des tâches plus diverses et de l'évaluation de HELM, les performances récentes de l'API OpenAI GPT-3 sont toujours meilleures que celles de ces modèles open source.
Bien que le modèle derrière lui puisse utiliser le réglage des instructions (tout comme InstructGPT), la version OPT similaire (OPT-IML) et la version BLOOM (BLOOMZ) qui utilisent le réglage fin des instructions sont toujours bien meilleures que InstructGPT et FLAN -PaLM (la version améliorée des instructions de PaLM) est bien pire.
Selon les détails de l'article, il existe plusieurs raisons possibles pour l'échec d'OPT-175B et BLOOM-176B par rapport au succès de GPT-3 et PaLM. Je l'ai divisé en deux parties : les données de pré-entraînement et la stratégie de formation.
Données de pré-entraînement
Observons d'abord comment GPT-3 prépare et utilise les données de pré-entraînement. GPT-3 est entraîné sur un total de 300 milliards de jetons, dont 60 % proviennent du Common Crawl filtré, et les autres proviennent de : webtext2 (le corpus utilisé pour entraîner GPT-2), Books1, Books2 et Wikipedia.
La version mise à jour de GPT-3 utilise également des ensembles de données de code pour la formation (tels que Github Code). La proportion de chaque partie n'est pas proportionnelle à la taille de l'ensemble de données d'origine ; les ensembles de données de meilleure qualité sont échantillonnés plus fréquemment. Ce qui a causé l'échec de l'OPT-175B et du BLOOM-176B peut être les trois difficultés suivantes, qui rendent difficile pour la communauté open source la collecte de données similaires :
1. filtrage du classificateur faible pour des données de qualité . Il a été utilisé pour créer les ensembles de données de pré-formation de GPT-3 et PaLM, mais n'a pas été utilisé dans la formation d'OPT et de BLOOM. Certains articles ont montré qu'un modèle pré-entraîné formé avec des ensembles de données moins nombreux mais de meilleure qualité peut surpasser un autre modèle formé avec des ensembles de données de qualité plus mixte. Bien entendu, la diversité des données reste très importante, comme nous le verrons au point 3. Par conséquent, il convient de gérer très soigneusement le compromis entre la diversité et la qualité des données.
2. Le deuxième point est la duplication de l'ensemble de données de pré-entraînement. La déduplication aide à empêcher les modèles pré-entraînés de mémoriser ou de surajuster les mêmes données après y avoir été confrontés plusieurs fois, contribuant ainsi à améliorer la capacité de généralisation du modèle. GPT-3 et PaLM adoptent la déduplication au niveau du document, qui est également adoptée par OPT. Cependant, il existe encore de nombreuses répétitions dans le corpus Pile de déduplication pré-entraîné OPT, ce qui peut également conduire à ses performances moins bonnes (Remarque : certaines publications récentes montrent que l'importance de la déduplication pour les modèles de langage de pré-entraînement n'est peut-être pas aussi grande qu'on l'imaginait. .
3. Le troisième point est la diversité des ensembles de données de pré-formation, y compris la diversité des domaines, la diversité des formats (par exemple : texte, code et tableaux) et la diversité des langues. Le corpus Pile utilisé par OPT-175B prétend avoir une meilleure diversité, mais le corpus ROOTS utilisé par BLOOM contient trop d'ensembles de données académiques existantes et n'a pas la diversité contenue dans les données Common Crawl. Cela peut entraîner de moins bonnes performances de BLOOM. En comparaison, la proportion de GPT3 du corpus Common Crawl est beaucoup plus élevée, et ils sont diversifiés et proviennent d'un large éventail de domaines. Cela peut également être l'une des raisons pour lesquelles GPT-3 peut être utilisé comme modèle de base du corpus. premier chatbot généraliste ChatGPT.
Veuillez noter : bien qu'en général, des données diverses soient importantes pour la formation d'un LLM général (Large Language Model, modèle de langage à grande échelle), la distribution spécifique des données de pré-formation affectera le LLM dans un domaine spécifique a un impact énorme sur l’exécution des tâches en aval. Par exemple, BLOOM et PaLM ont une proportion plus élevée de données multilingues, ce qui conduit à leurs performances plus élevées sur certaines tâches multilingues et tâches de traduction automatique.
OPT utilise beaucoup de données de conversation (par exemple Reddit), ce qui peut être l'une des raisons pour lesquelles il fonctionne bien dans les conversations. PaLM représente une grande partie des conversations sur les réseaux sociaux, ce qui peut expliquer ses excellentes performances sur une variété de tâches de questions et réponses et d'ensembles de données. De même, PaLM et les versions plus récentes de GPT-3 disposent d'une grande proportion d'ensembles de données de code, ce qui améliore leurs capacités en matière de tâches de codage et éventuellement leurs capacités CoT (Chain-of-Thought).
Un phénomène intéressant est que les performances de BLOOM sur le code et CoT sont encore pires, bien qu'il utilise des données de code dans le processus de pré-formation. Cela peut impliquer que les données de code à elles seules ne garantissent pas les capacités de code et de CoT d'un modèle.
En bref, certains articles ont montré l'importance des trois points ci-dessus, à savoir : éviter la mémoire et le surajustement grâce à la déduplication des données, obtenir des données de haute qualité grâce au filtrage des données et assurer la diversité des données pour assurer la généralisation du LLM. Malheureusement, les détails sur la manière dont PaLM et GPT-3 prétraitent ces données, ou les données de pré-formation elles-mêmes, ne sont toujours pas publiés, ce qui rend difficile leur reproduction par la communauté publique.
Stratégie de formation
La stratégie de formation comprend ici le cadre de formation, la durée de la formation, l'architecture du modèle/les paramètres de formation et les modifications pendant la formation. Ils sont utilisés pour obtenir une meilleure stabilité et convergence lors de la formation de très grands modèles. De manière générale, des pics de perte et un échec de convergence sont largement observés lors de la pré-formation pour des raisons inconnues. Par conséquent, de nombreuses modifications des paramètres de formation et des architectures de modèles ont été proposées pour éviter ces problèmes. Cependant, certaines de ces modifications ne constituent pas des solutions optimales dans OPT et BLOOM, ce qui peut conduire à de mauvaises performances. GPT-3 ne mentionne pas explicitement comment ils résolvent ce problème.
1. Cadre de formation. Un modèle avec plus de 175 B de paramètres nécessite souvent un parallélisme de données de style ZeRO (optimiseur distribué) et un parallélisme de modèle (y compris le parallèle tenseur, le parallèle pipeline et parfois le parallèle séquence)). OPT utilise l'implémentation FSDP de ZeRO et l'implémentation Megatron-LM parallèle au modèle. BLOOM utilise l'implémentation Deepspeed de ZeRO et l'implémentation Megatron-LM parallèle au modèle.
PaLM adopte Pathways, un système de parallélisme de modèles et de parallélisme de données basé sur TPU. Les détails du système de formation de GPT-3 sont encore inconnus, mais ils utilisent au moins dans une certaine mesure le parallélisme des modèles (certains disent qu'il utilise Ray). Différents systèmes et matériels de formation peuvent conduire à différents phénomènes de formation. Évidemment, certains des paramètres présentés dans l'article PaLM pour la formation TPU peuvent ne pas être applicables à la formation GPU utilisée par tous les autres modèles.
Un impact important du matériel et du cadre de formation est de savoir si l'on peut utiliser bfloat16 pour stocker les poids des modèles et les valeurs d'activation des couches intermédiaires, etc. Cela s'est avéré être un facteur important pour une formation stable, car bfloat16 peut représenter une gamme plus large de nombres à virgule flottante et est capable de gérer des valeurs élevées qui se produisent lorsque les pertes augmentent. Sur TPU, bfloat16 est le paramètre par défaut, ce qui peut être le secret du succès de PaLM. Mais sur les GPU, les gens utilisaient principalement float16, qui était la seule option pour un entraînement de précision mixte dans la V100.
OPT utilise float16, qui peut être l'un de ses facteurs instables. BLOOM a découvert un tel problème et a fini par utiliser bfloat16 sur l'A100GPU, mais il n'a pas réalisé l'importance de ce paramètre et a donc introduit une normalisation de couche supplémentaire après la première couche de vecteur de mot pour résoudre les instabilités dans leurs expériences préliminaires utilisant float16. Cependant, il a été démontré que cette normalisation de couche conduisait à une généralisation pire du tir zéro, ce qui pourrait être un facteur d'échec de BLOOM.
2. Modifications pendant l'entraînement. OPT a effectué de nombreux ajustements à mi-parcours et redémarré la formation à partir du point de contrôle le plus récent, notamment en modifiant la norme de gradient de clip et le taux d'apprentissage, en passant à un simple optimiseur SGD, puis en revenant à Adam, et en réinitialisant le scalaire de perte dynamique (). version plus récente de Megatron, etc.
Cet ajustement à mi-parcours peut être une des raisons de l'échec de l'OPT. En revanche, PaLM n’a effectué pratiquement aucun ajustement à mi-parcours. Il redémarre simplement l'entraînement à partir d'un point de contrôle environ 100 étapes avant le pic lorsque le pic de perte se produit, et ignore environ 200 à 500 lots de données. En s'appuyant uniquement sur ce simple redémarrage, PaLM a obtenu un succès miraculeux. Cela est dû au fait qu'il a terminé l'échantillonnage lors de la construction des données de pré-entraînement, le modèle est donc déterministe au sens Bit, et il a apporté de nombreuses modifications à l'architecture du modèle et aux paramètres d'entraînement pour une meilleure stabilité. De telles modifications dans PaLM sont présentées au point suivant.
3. Architecture du modèle/paramètres de formation : Afin de rendre la formation plus stable, PaLM a apporté un certain nombre d'ajustements à l'architecture du modèle et aux paramètres de formation, notamment en utilisant une version modifiée d'Adafactor comme optimiseur, en mettant à l'échelle le logit de sortie. avant softmax, utilisez les pertes auxiliaires pour encourager le normalisateur softmax proche de 0, utilisez une initialisation différente pour les vecteurs de mots et autres poids de couche, n'utilisez aucun terme de biais dans les couches à action directe et la normalisation des couches, et n'utilisez pas d'abandon pendant la pré-entraînement.
Veuillez noter qu'il existe un contenu plus précieux dans GLM-130B sur la façon de former de manière stable de très grands modèles, par exemple en utilisant la normalisation post-couche basée sur DeepNorm au lieu de la normalisation pré-couche et le rétrécissement du dégradé de la couche vectorielle de mots. La plupart des modifications du modèle ci-dessus ne sont pas adoptées par OPT et BLOOM, ce qui peut conduire à leur instabilité et à leur échec.
4. Processus de formation : comme le montre le tableau ci-dessous, le nombre de jetons vus par le processus de pré-formation GPT-3 d'origine est proche de celui d'OPT et de BLOOM, tandis que PaLM les dépasse de loin. De même, les corpus de pré-formation PaLM et GPT-3 sont plus grands que BLOOM et OPT. Par conséquent, la pré-formation sur davantage de jetons et avec un corpus plus large et de haute qualité peut être un facteur important dans le succès de GPT-3 et PaLM.
En plus des quatre points énumérés ci-dessus, il existe d'autres facteurs qui peuvent ne pas être importants pour un entraînement plus stable, mais qui peuvent quand même affecter la performance finale.
Premier point, PaLM et GPT-3 utilisent tous deux une taille de lot qui augmente progressivement de petite à grande au cours du processus de formation, ce qui s'est avéré efficace pour former un meilleur LLM, cependant OPT et BLOOM utilisent une constante taille du lot.
Deuxième point, OPT utilise la fonction d'activation ReLU, tandis que PaLM utilise la fonction d'activation SwiGLU, GPT-3 et BLOOM utilisent GeLU, ce qui améliore généralement les performances du LLM formé.
Troisième point, afin de mieux modéliser des séquences plus longues, PaLM utilise des vecteurs de mots RoPE, BLOOM utilise des vecteurs de mots ALiBi, et les GPT-3 et OPT originaux utilisent des vecteurs de mots appris, ce qui peut affecter les performances sur les longues séquences.
J'essaie d'expliquer pour quelles tâches et applications nous devrions utiliser GPT-3 et lesquelles nous ne devrions pas. Pour montrer si GPT-3 est adapté à une tâche spécifique, j'ai principalement comparé GPT-3 avec invite à des modèles plus petits qui ont été affinés, parfois avec d'autres fonctionnalités spéciales. Ce problème est encore plus important compte tenu des bonnes performances des modèles FLAN-T5, plus petits et plus fins, récemment apparus.
Dans un monde idéal, si la charge de réglage fin de GPT-3 était abordable, cela pourrait conduire à de nouvelles améliorations. Cependant, les améliorations obtenues en ajustant PaLM-540B sur certaines tâches sont si limitées qu'on se demande s'il vaut la peine d'affiner GPT-3 sur certaines tâches. D'un point de vue scientifique, une comparaison plus juste serait entre le GPT-3 affiné et le GPT-3 indicé. Cependant, pour utiliser GPT-3, il serait peut-être plus intéressant de comparer GPT-3 que de peaufiner un modèle plus petit.
Notez que je suis principalement préoccupé par l'exactitude de l'exécution de la tâche en tant que métrique, mais il existe encore de nombreuses autres dimensions importantes, telles que la toxicité, l'équité, etc., qui devraient également être utilisées pour décider d'utiliser ou non le GPT. -3 est pris en compte, comme présenté dans l'article HELM. Le diagramme ci-dessous montre un processus de prise de décision approximatif et nous espérons qu'il servira de guide pratique utile, que ce soit pour une tâche existante ou une tâche complètement nouvelle.
Note 1 : ChatGPT excelle en tant que chatbot en raison de son bon alignement dans les scénarios conversationnels. Mais nous utilisons généralement GPT-3, InstructGPT (GPT-3.5) et Codex, les modèles derrière ChatGPT, comme modèles généraux dans davantage de tâches et de scénarios d'utilisation.
Note 2 : Les conclusions de cette section sont basées sur certaines conclusions sur la version actuelle du modèle, qui pourraient ne pas s'appliquer aux futurs modèles plus puissants. Parce que, en utilisant davantage de données de pré-formation proches de l'ensemble de données cible, un ajustement des instructions de l'ensemble de données académiques (par exemple en suggérant qu'un FLAN-PaLM peut apporter de meilleures performances, il n'est toujours pas public) ou via RLHF pour améliorer le modèle pour la tâche cible Un meilleur alignement, ce qui peut rendre le modèle plus performant dans la tâche cible, même si parfois cela sacrifie la capacité dans d'autres scénarios (par exemple, « Taxe d'alignement/Taxe d'alignement » d'InstructGPT).
Dans ce cas, il est difficile de juger si GPT est une généralisation et une généralisation multi-tâches, ou s'il vient de mémoriser certains échantillons de test pendant la pré-formation, ou s'il a vu ces soi-disant échantillons de test pendant la pré-formation. . Tâches « jamais vues auparavant ». Cependant, on peut se demander si la mémoire constitue réellement un problème sérieux dans la pratique. Étant donné que les utilisateurs sont différents des chercheurs, s'ils constatent que GPT peut déjà fonctionner correctement avec leurs données de test, ils ne se soucieront peut-être pas de savoir si GPT a vu des données identiques ou similaires lors de la pré-formation.
Dans tous les cas, afin de maximiser la valeur pratique actuelle de cette section, j'ai fait de mon mieux pour comparer des modèles publics plus petits de réglage fin (T5, FALN-T5, certains modèles SOTA de réglage fin spécialement conçus, etc. ) et Les meilleures performances des récents GPT-3 (GPT-3.5, InstructGPT), PaLM (ou FLAN-PaLM), si les données d'évaluation de ces modèles sont disponibles.
Tâches adaptées à l'utilisation de GPT-3
De manière générale, les situations suivantes sont plus adaptées à l'utilisation de GPT-3. Étonnamment, si nous revenons à la section d'introduction du document GPT-3, une grande partie des objectifs de conception initiaux couvraient ces tâches. Cela signifie que ces objectifs initialement ambitieux ont été partiellement atteints.
1. Tâches créatives et complexes : y compris le code (complétion de code, code de génération d'instructions en langage naturel, traduction de code, correction de bugs), résumé de texte, traduction, écriture créative (telle que la rédaction d'histoires, d'articles, d'e-mails). , rapports et améliorations de la rédaction, etc.). Comme le montre la littérature originale de GPT-3, GPT-3 est conçu pour ces tâches difficiles et « impossibles ». Ce sont des tâches dans la mesure où des modèles auparavant affinés auraient été impossibles à appliquer aux applications du monde réel ; GPT-3 les rend possibles. Par exemple, des articles récents montrent que les résumés de textes annotés par des humains ont été dépassés par les résumés générés par LLM.
En invitant le PaLM-540B, il est même capable de surpasser les modèles affinés dans certaines tâches de traduction automatique qui nécessitent une traduction de langues à ressources faibles et moyennes vers l'anglais.
Une tendance similaire a été observée dans BLOOM-176B. En effet, les données en anglais représentent généralement une grande proportion du corpus de pré-formation, le LLM est donc efficace pour générer des phrases en anglais. Notez que pour obtenir de bonnes performances dans les tâches de codage, bien que Codex et PaLM aient globalement de meilleures performances que les modèles précédents, nous devons toujours permettre à LLM d'échantillonner plusieurs fois (k fois) pour réussir l'échantillon de test (en utilisant pass @k comme paramètre). métrique).
2. Tâches avec seulement quelques données étiquetées ou non . Comme l'indique la documentation originale de GPT-3, GPT-3 est conçu pour les tâches « d'annotation coûteuses ». Dans ce cas, il est généralement impossible d'affiner un modèle plus petit avec une très petite quantité de données étiquetées pour obtenir des performances inférieures à GPT-3 dans le cas d'un tir nul, d'un tir unique ou de quelques tirs.
3. Généralisation hors distribution (OOD). Compte tenu de certaines données de formation, le réglage fin traditionnel peut surajuster l'ensemble de formation et avoir une mauvaise généralisation hors distribution, tandis que l'apprentissage en contexte sur quelques échantillons peut avoir une meilleure généralisation hors distribution ; Par exemple, PaLM avec des indices peut surpasser un modèle SOTA affiné sur la tâche ANLI (Adversarial Natural Language Inference), alors qu'il peut toujours être inférieur au modèle SOTA affiné sur les tâches d'inférence linguistique normales.
Un autre exemple est l'indice selon lequel LLM montre une meilleure généralisation combinatoire que les modèles affinés. Une meilleure généralisation hors distribution peut être due au fait que les paramètres n'ont pas besoin d'être mis à jour pendant l'apprentissage du contexte, évitant ainsi le surajustement, ou au fait que ces exemples passés hors distribution sont en distribution dans le LLM. Ce scénario d'utilisation a été expliqué comme l'un des objectifs de conception initiaux de GPT-3 : « Des modèles affinés peuvent atteindre des performances dites humaines sur un ensemble de données pour une tâche spécifique, ce qui peut en fait surestimer les performances de cette tâche dans le monde réel." , en effet, le modèle n'a appris que les fausses corrélations qui existaient dans l'ensemble de formation, et le modèle a surajusté la distribution étroite de cet ensemble de formation. "
4. La capacité à gérer plusieurs tâches est requis , plutôt que de se concentrer sur l'excellence dans des tâches spécifiques. Les chatbots sont l’un de ces scénarios dans lesquels les utilisateurs s’attendent à ce qu’ils répondent correctement à diverses tâches. C'est probablement pourquoi ChatGPT est l'un des cas d'utilisation les plus réussis de GPT-3.
5. Ces tâches à forte intensité de connaissances pour lesquelles la récupération n'est pas réalisable. Les connaissances stockées dans LLM peuvent améliorer considérablement les performances sur les tâches à forte intensité de connaissances, telles que la réponse aux questions à livre fermé et le MMLU (un ensemble de données de référence comprenant des questions à choix multiples provenant de 57 disciplines telles que les STEM, les sciences humaines, les sciences sociales, etc.). qui est utilisé pour tester les connaissances du monde et les capacités de résolution de problèmes de LLM). Cependant, si une étape de pré-récupération peut être ajoutée pour générer des améliorations de récupération, un modèle plus petit et affiné (tel que le modèle Atlas) peut même avoir de meilleures performances (Atlas que PaLM sur les ensembles de données NaturalQuestions et TrivialQA à volume fermé). les derniers InstructGPT sont meilleurs).
La récupération ou recherche traditionnelle est également une étape nécessaire pour intégrer GPT-3 ou ChatGPT dans le moteur de recherche, ce qui peut améliorer la précision de la génération et fournir davantage de liens de référence pour améliorer le pouvoir de persuasion. Mais nous devons admettre qu'il existe certains cas où la récupération n'est pas autorisée ou n'est pas facile, comme par exemple pour passer l'USMLE (United States Medical Licensing Examination), où Google a montré que le modèle basé sur FLAN-PaLM pouvait donner de bons résultats.
De même, dans l'ensemble de référence MMLU, le PaLM-540B a de meilleures performances que les autres modèles affinés, même ces derniers combinés à la récupération, bien que la dernière version d'InstructGPT soit encore pire que ces SOTA affinés avec récupération. Notez également que le réglage des commandes d'un modèle plus petit peut obtenir des résultats proches de ceux d'un modèle LLM plus grand, comme cela a été montré dans FLAN-T5.
6. Certaines tâches difficiles qui nécessitent la capacité émergente du LLM, comme le raisonnement avec CoT et les tâches complexes dans BIG-Bench (y compris le raisonnement logique, la traduction, les questions et réponses, les tâches mathématiques, etc.) . Par exemple, PaLM a montré que sur 7 tâches de raisonnement en plusieurs étapes, y compris le raisonnement mathématique et de bon sens, le CoT à 8 échantillons est meilleur que le SOTA affiné sur 4 des tâches, et est fondamentalement le même sur les 3 autres tâches. .
De telles performances réussies peuvent être attribuées à la fois au modèle plus grand et au CoT. PaLM montre également des améliorations discrètes des performances sur la tâche BIG-Bench des modèles 8B à 62B jusqu'à 540B, ce qui dépasse la loi d'échelle, connue sous le nom de puissance émergente des LLM. De plus, le PaLM-540B avec 5 invites surpasse le précédent SOTA (quelques échantillons) sur 44 des 58 tâches courantes sur Big-Bench. Les performances globales du PaLM-540B sur Big-Bench sont également meilleures que les performances humaines moyennes.
7. Certains scénarios nécessitent imitation d'humains, ou le but est de faire une intelligence artificielle générale dont les performances atteignent le niveau humain. De même, ChatGPT est l’un de ces cas où ChatGPT a obtenu un succès phénoménal en se faisant davantage ressembler à un être humain. Cela a également été expliqué comme l'un des objectifs de conception initiaux de GPT-3 : « Les humains n'ont pas besoin d'ensembles de données supervisés à grande échelle pour apprendre la plupart des tâches linguistiques. Avec seulement quelques exemples tout au plus, les humains peuvent intégrer de manière transparente diverses tâches et techniques. ensemble ou basculer entre eux. Ainsi, les modèles affinés traditionnels conduisent à des comparaisons injustes avec les humains, malgré leurs affirmations de performances au niveau humain sur de nombreux ensembles de données de référence
8. Le PaLM-540B peut à peu près correspondre, voire dépasser, le SOTA affiné, tel que : le remplissage cloze de la dernière phrase et du dernier mot d'un paragraphe, et l'analyse des anaphores. Il convient de noter que dans ce cas, un LLM à échantillon nul est suffisant et que les exemples à échantillon unique ou à quelques échantillons sont généralement peu utiles. D'autres tâches ne nécessitent pas d'inviter un modèle de la taille de GPT-3 :
Les tâches qui ne conviennent pas à l'utilisation de GPT-3
1 Appelez les API OpenAI GPT-3 sont disponibles. du budget (par exemple pour les startups qui n'ont pas beaucoup d'argent).
2. Il existe des problèmes de sécurité lors de l'appel de l'API d'OpenAI GPT-3 (comme une fuite de données vers OpenAI ou du contenu nuisible qui peut être généré).
3. Il n'y a pas suffisamment de ressources d'ingénierie ou matérielles pour déployer un modèle de taille similaire et éliminer le problème de retard d'inférence. Par exemple, sans 80G A100 de pointe ni ressources d'ingénierie pour optimiser la vitesse d'inférence, la simple utilisation d'Alpa pour déployer l'OPT-175B sur 16 40G A100 prend 10 secondes pour terminer l'inférence d'un seul échantillon, ce qui n'est pas réalisable pour applications à grande échelle. Il s’agit d’une latence inacceptable pour la plupart des applications en ligne du monde réel.
4. Si vous souhaitez utiliser GPT-3 pour remplacer un modèle affiné avec de bonnes performances et une grande précision, ou si vous souhaitez déployer un NLU (Natural Language Understanding) dans certaines tâches uniques et scénarios d'utilisation spécifiques. Modèle NLG (Natural Language Generating, génération de langage naturel), veuillez réfléchir à deux fois si cela en vaut la peine.
Pour résumer, ces tâches ci-dessus peuvent être classées dans l'une des catégories suivantes :
1 Certaines tâches NLU ne nécessitent ni connaissances supplémentaires ni capacité de génération de LLM. Cela signifie que les données de test se trouvent pour la plupart dans la même distribution que les données d'entraînement disponibles. Dans ces tâches, des modèles plus petits, peaufinés dans le passé, se sont très bien comportés.
2. Certaines tâches qui ne nécessitent pas de connaissances supplémentaires de LLM, car chaque exemple contient déjà suffisamment de connaissances dans le contexte ou dans les invites, comme la compréhension en lecture automatique.
3. Certains nécessitent des connaissances supplémentaires, mais il est peu probable qu'ils obtiennent de telles connaissances grâce au LLM , ou il est peu probable que le LLM ait vu des tâches réparties de manière similaire , comme certaines langues à faibles ressources. Pour les tâches dans ces langages, LLM ne dispose que d'échantillons de pré-formation limités.
4.Certaines tâches nécessitent des connaissances qui ne correspondent pas à celles contenues dans le LLM, ou des connaissances qui ne sont pas basées sur des données linguistiques réelles. Étant donné que LLM est formé sur des données linguistiques du monde réel, il lui est difficile d'utiliser des connaissances contrefactuelles pour couvrir les connaissances originales dans de nouvelles tâches. En plus du problème de « redéfinir la notation mathématique » dans le défi de la loi de l'échelle inverse, il existe une autre tâche, raconter une citation légèrement modifiée, dans laquelle le LLM est invité à répéter une citation modifiée qui apparaît dans l'invite. Dans ce cas, LLM a tendance à répéter la version originale du devis plutôt que la version modifiée.
5.Certaines tâches nécessitent des connaissances du LM, mais reposent également fortement sur la manipulation de ces connaissances, et l'objectif du LLM de "prédire le prochain jeton" ne peut pas facilement réaliser cette manipulation. Un exemple est celui de certaines tâches de raisonnement de bon sens. La raison pour laquelle CoT et les indices du moins au plus peuvent aider à l'inférence LLM est peut-être qu'ils peuvent mieux évoquer ces textes de pré-formation continue qui imitent le processus de planification et de décomposition/combinaison des connaissances.
Ainsi, CoT et les invites du moins au plus fonctionnent bien dans certaines tâches de raisonnement mathématique, de codage et d'autres tâches simples de raisonnement en langage naturel, mais échouent dans de nombreuses tâches de raisonnement de bon sens telles que les tâches de raisonnement déductif démontrées dans l'échelle inverse. Concours de droit) et ont toujours de mauvais résultats dans les tâches de raisonnement symbolique personnalisées. Ces tâches ne sont généralement pas couvertes par les séquences continues les plus réelles de données en langage naturel, mais nécessitent la manipulation de connaissances dispersées pour être complétées.
6. Certaines tâches qui sont facilement affectées par des exemples d'apprentissage contextuel ou de fausses corrélations qui existent dans les données du monde réel. Un exemple est une question et une réponse impliquant des mots négatifs du concours Inverse Law of Scale. Si l'on demande à un LLM : « Si la température corporelle d'un chat est inférieure à la moyenne, il n'est pas dans... », il aura tendance à répondre « à risque » plutôt que « plage de sécurité ». En effet, le LLM est dominé par la relation commune entre « température corporelle inférieure à la moyenne » et « danger », qui dans le cas négatif est une corrélation fallacieuse.
7. Certaines tâches dont les objectifs sont significativement différents du traitement des données linguistiques, comme les problèmes de régression, où les modèles affinés sont difficiles à remplacer par le LLM. Quant aux tâches multimodales, elles ne peuvent pas être résolues par LLM, mais peuvent bénéficier de modèles multimodaux pré-entraînés à grande échelle.
8. Certaines tâches ne nécessitent pas la capacité émergente du LLM. Pour distinguer avec précision un plus grand nombre de ces tâches, nous devons mieux comprendre où les capacités émergentes apparaissent au cours de la formation LLM.
Notez que dans des scénarios d'utilisation réels, même si LLM ne peut pas être utilisé en ligne en raison de l'incapacité de répondre aux exigences de latence, LLM peut toujours être utilisé pour générer ou étiqueter des données hors ligne. De telles étiquettes annotées automatiquement peuvent être trouvées en ligne et fournies aux utilisateurs, ou utilisées pour affiner des modèles plus petits. L'utilisation de ces données pour affiner des modèles plus petits peut réduire les données annotées manuellement nécessaires à la formation du modèle et injecter certaines des fonctionnalités émergentes de LLM (telles que CoT) dans des modèles plus petits.
En résumé, compte tenu des performances étonnantes du FLAN-T5 open source sur de nombreuses tâches lorsqu'il y a suffisamment de données étiquetées, je recommande aux personnes disposant de ressources limitées appelant l'API OpenAI d'essayer d'abord d'affiner FLAN-T5 sur le tâche cible. T5-11B. De plus, sur la base des performances récentes de FLAN-PaLM-540B sur l'ensemble de données MMLU, qui sont étonnamment bonnes par rapport aux performances de la dernière version d'InstructGPT (selon HELM), Google pourrait disposer d'un modèle de base plus puissant qu'OpenAI, si OpenAI a passé l'API et a publié le LLM le plus puissant jamais obtenu.
La seule étape restante pour Google est d'aligner ce LLM sur des scénarios conversationnels via des retours humains. Je ne serais pas surpris s'ils publient bientôt un chatbot de type ChatGPT ou meilleur - malgré leur récent "échec" à présenter une version de Bard qui pourrait être basée sur LaMDA.
À propos de l'auteur
Auteur original anglais : Yang Jingfeng, actuellement scientifique amazonien, est diplômé de l'Université de Pékin avec un baccalauréat et une maîtrise du Georgia Institute of Technology, sous la tutelle du professeur Yang Diyi de Stanford.
Traduit par Yang Haotong et révisé par Wang Xiao.
Merci à Jin Hongye pour ses suggestions sur la première version du manuscrit, et à Chen Sanxing et Fu Yao pour leurs discussions et suggestions.
Version originale anglaise : https://jingfengyang.github.io/gpt
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!