Dieser Tweet wurde am 12. Februar 2023 geschrieben. Es ist meine persönliche Meinung und dient nur als Referenz.
Warum schlagen alle öffentlichen Replikationen von GPT-3 fehl? Für welche Aufgaben sollten wir GPT-3.5 oder ChatGPT verwenden?
Dieser Tweet enthält meine Zusammenfassung nach sorgfältiger Prüfung der Details einer Artikelserie sowie meine persönlichen Gedanken zu den beiden oben genannten Themen. Zu diesen Artikeln gehören unter anderem: GPT-3, PaLM, BLOOM, OPT, FLAN-T5/PaLM, HELM usw. Wenn Sie über zuverlässigere Referenzmaterialien oder mehr praktische Erfahrung verfügen, korrigieren Sie mich bitte.
Für diejenigen, die ihr eigenes GPT-3 oder ChatGPT reproduzieren möchten, ist die erste Frage entscheidend. Die zweite Frage ist wichtig für diejenigen, die sie verwenden möchten (wenn unten von GPT-3 die Rede ist, bezieht sich dies hauptsächlich auf die neueste Version von GPT-3.5 oder InstructGPT, außer in einigen Fällen, die auf den ursprünglichen GPT-3-Text verweisen).
Hier nenne ich es „Fehler“, was bedeutet, dass das trainierte Modell eine Parameterzahl hat, die nahe an GPT-3 oder höher liegt, aber immer noch nicht mit der in der ursprünglichen GPT-3-Literatur angegebenen Leistung mithalten kann. Nach diesem Kriterium sind GPT-3 und PaLM „erfolgreich“, aber keines der beiden Modelle ist öffentlich. Und alle öffentlichen Modelle (zum Beispiel: OPT-175B und BLOOM-176B) sind in gewissem Maße „durchgefallen“. Dennoch können wir aus diesen „Misserfolgen“ einige Lehren ziehen.
Wir müssen beachten, dass die Open-Source-Community möglicherweise GPT-3 reproduzieren kann, wenn wir verschiedene Trainingseinstellungen mehrmals ausprobieren können. Aber zum jetzigen Zeitpunkt sind die Kosten für das Training einer anderen Version des OPT-175B immer noch zu hoch – für ein solch großes Modell wird ein Training mindestens zwei Monate auf etwa 1000 80G A100 GPUs erfordern (Daten aus der Originalliteratur von). OPT).
Obwohl einige Artikel (wie OPT-175B und GLM-130B) behaupten, dass sie bei einigen Aufgaben mit der Leistung des ursprünglichen GPT-3 mithalten oder diese sogar übertreffen können, wurde GPT-3 bei weiteren Aufgaben getestet Die Aussage bleibt fraglich. Gleichzeitig ist die Leistung der aktuellen OpenAI GPT-3-API, basierend auf den Erfahrungen der meisten Benutzer mit vielfältigeren Aufgaben und der Bewertung von HELM, immer noch besser als diese Open-Source-Modelle.
Obwohl das Modell dahinter möglicherweise eine Befehlsoptimierung verwendet (genau wie InstructGPT), sind die ähnlichen OPT-Versionen (OPT-IML) und BLOOM-Versionen (BLOOMZ), die eine Befehlsfeinabstimmung verwenden, immer noch weitaus besser als InstructGPT und FLAN-PaLM (die an die Anweisungen angepasste Version von PaLM) ist viel schlimmer.
Den Details des Artikels zufolge gibt es mehrere mögliche Gründe für das Scheitern von OPT-175B und BLOOM-176B im Vergleich zum Erfolg von GPT-3 und PaLM. Ich habe es in zwei Teile unterteilt: Daten vor dem Training und Trainingsstrategie.
Daten vor dem Training
Schauen wir uns zunächst an, wie GPT-3 Daten vor dem Training vorbereitet und verwendet. GPT-3 wird auf insgesamt 300 Milliarden Token trainiert, von denen 60 % aus dem gefilterten Common Crawl stammen und die anderen aus: webtext2 (dem Korpus, der zum Trainieren von GPT-2 verwendet wird), Books1, Books2 und Wikipedia.
Die aktualisierte Version von GPT-3 verwendet auch Codedatensätze für das Training (z. B. Github-Code). Der Anteil jedes Teils ist nicht proportional zur Größe des Originaldatensatzes; stattdessen werden Datensätze mit höherer Qualität häufiger abgetastet. Was den Ausfall von OPT-175B und BLOOM-176B verursacht hat, könnten die folgenden drei Schwierigkeiten sein, die es der Open-Source-Community erschweren, ähnliche Daten zu sammeln:
1 Der erste Punkt ist ein Filter mit guter Leistung für Screening niedriger Klassifikatoren für Qualitätsdaten . Es wurde zum Erstellen der Pre-Training-Datensätze von GPT-3 und PaLM verwendet, wurde jedoch nicht beim Training von OPT und BLOOM verwendet. Einige Artikel haben gezeigt, dass ein vorab trainiertes Modell, das mit weniger, aber qualitativ hochwertigeren Datensätzen trainiert wurde, ein anderes Modell, das mit Datensätzen unterschiedlicher Qualität trainiert wurde, übertreffen kann. Natürlich ist die Datenvielfalt immer noch sehr wichtig, wie wir in Punkt 3 besprechen werden. Daher sollte man den Kompromiss zwischen Datenvielfalt und -qualität sehr sorgfältig handhaben.
2. Der zweite Punkt ist die Vervielfältigung des Datensatzes vor dem Training. Die Deduplizierung trägt dazu bei, zu verhindern, dass sich vorab trainierte Modelle dieselben Daten merken oder überpassen, nachdem sie mehrmals damit konfrontiert wurden, und trägt so dazu bei, die Generalisierungsfähigkeit des Modells zu verbessern. GPT-3 und PaLM übernehmen die Deduplizierung auf Dokumentebene, die auch von OPT übernommen wird. Es gibt jedoch immer noch viele Wiederholungen im vorab trainierten OPT-Deduplizierungs-Pile-Korpus, was auch zu einer schlechteren Leistung führen kann (Hinweis: Einige neuere Literatur zeigt, dass die Bedeutung der Deduplizierung für vorab trainierte Sprachmodelle möglicherweise nicht so groß ist wie angenommen . ).
3. Der dritte Punkt ist die Vielfalt der Datensätze vor dem Training, einschließlich Domänenvielfalt, Formatvielfalt (zum Beispiel: Text, Code und Tabellen) und Sprachvielfalt. Der von OPT-175B verwendete Pile-Korpus soll eine bessere Diversität aufweisen, aber der von BLOOM verwendete ROOTS-Korpus verfügt über zu viele vorhandene akademische Datensätze und es fehlt ihm die Diversität, die in den Common Crawl-Daten enthalten ist. Dies kann zu einer schlechteren BLOOM-Leistung führen. Im Vergleich dazu ist der Anteil von GPT3 aus dem Common Crawl-Korpus viel höher, und sie sind vielfältig und stammen aus den unterschiedlichsten Bereichen. Dies könnte auch einer der Gründe sein, warum GPT-3 als Basismodell des verwendet werden kann erster allgemeiner Chatbot ChatGPT.
Bitte beachten Sie: Obwohl im Allgemeinen verschiedene Daten für das Training eines allgemeinen LLM (Large Language Model, groß angelegtes Sprachmodell) wichtig sind, hat die spezifische Datenverteilung vor dem Training große Auswirkungen auf das LLM in einem bestimmten Fall auf die Leistung nachgelagerter Aufgaben. BLOOM und PaLM verfügen beispielsweise über einen höheren Anteil mehrsprachiger Daten, was zu einer höheren Leistung bei einigen mehrsprachigen Aufgaben und maschinellen Übersetzungsaufgaben führt.
OPT verwendet viele Konversationsdaten (z. B. Reddit), was einer der Gründe dafür sein kann, dass es in Konversationen eine gute Leistung erbringt. PaLM macht einen großen Teil der Social-Media-Konversationen aus, was möglicherweise der Grund für seine hervorragende Leistung bei einer Vielzahl von Frage- und Antwortaufgaben und Datensätzen ist. Ebenso verfügen PaLM und neuere Versionen von GPT-3 über einen großen Anteil an Codedatensätzen, was ihre Fähigkeiten bei Codierungsaufgaben und möglicherweise ihre CoT-Fähigkeiten (Chain-of-Thought) verbessert.
Ein interessantes Phänomen ist, dass die Leistung von BLOOM bei Code und CoT immer noch schlechter ist, obwohl im Vortrainingsprozess Codedaten verwendet werden. Dies kann bedeuten, dass Codedaten allein nicht die Code- und CoT-Fähigkeiten eines Modells garantieren.
Kurz gesagt, einige Artikel haben die Bedeutung der oben genannten drei Punkte gezeigt, nämlich: Vermeidung von Speicher und Überanpassung durch Datendeduplizierung, Erhalt hochwertiger Daten durch Datenüberprüfung und Gewährleistung der Datenvielfalt, um die Verallgemeinerung von LLM sicherzustellen. Leider sind die Details darüber, wie PaLM und GPT-3 diese Daten vorverarbeiten, oder die Vortrainingsdaten selbst immer noch nicht veröffentlicht, was es für die öffentliche Gemeinschaft schwierig macht, sie zu reproduzieren.
Trainingsstrategie
Die Trainingsstrategie umfasst hier den Trainingsrahmen, die Trainingsdauer, die Modellarchitektur/Trainingseinstellungen und Änderungen während des Trainings. Sie werden verwendet, um beim Training sehr großer Modelle eine bessere Stabilität und Konvergenz zu erreichen. Im Allgemeinen werden während des Vortrainings aus unbekannten Gründen häufig Verlustspitzen und Konvergenzfehler beobachtet. Daher wurden zahlreiche Änderungen an Trainingseinstellungen und Modellarchitekturen vorgeschlagen, um diese Probleme zu vermeiden. Einige dieser Modifikationen sind jedoch keine optimalen Lösungen in OPT und BLOOM, was zu einer schlechten Leistung führen kann. GPT-3 erwähnt nicht explizit, wie sie dieses Problem lösen.
1. Trainingsrahmen. Ein Modell mit mehr als 175B Parametern erfordert häufig Datenparallelität im ZeRO-Stil (verteilter Optimierer) und Modellparallelität (einschließlich Tensorparallelität, Pipelineparallelität und manchmal Sequenzparallelität). OPT nutzt die FSDP-Implementierung von ZeRO und die modellparallele Megatron-LM-Implementierung. BLOOM nutzt die Deepspeed-Implementierung von ZeRO und die modellparallele Megatron-LM-Implementierung.
PaLM übernimmt Pathways, ein TPU-basiertes Modellparallelitäts- und Datenparallelitätssystem. Die Details des GPT-3-Trainingssystems sind noch unbekannt, aber sie nutzen zumindest teilweise Modellparallelität (einige sagen, dass es Ray verwendet). Unterschiedliche Trainingssysteme und Hardware können zu unterschiedlichen Trainingsphänomenen führen. Offensichtlich sind einige der im PaLM-Artikel vorgestellten Einstellungen für das TPU-Training möglicherweise nicht auf das GPU-Training anwendbar, das von allen anderen Modellen verwendet wird.
Ein wichtiger Einfluss der Hardware und des Trainingsrahmens ist, ob man bfloat16 zum Speichern von Modellgewichten und Zwischenschichtaktivierungswerten usw. verwenden kann. Dies hat sich als wichtiger Faktor für ein stabiles Training erwiesen, da bfloat16 einen größeren Bereich von Gleitkommazahlen darstellen kann und große Werte verarbeiten kann, die bei Verlustspitzen auftreten. Auf TPU ist bfloat16 die Standardeinstellung, was möglicherweise ein Geheimnis für den Erfolg von PaLM ist. Aber auf GPUs wurde früher hauptsächlich float16 verwendet, was in V100 die einzige Option für gemischtes Präzisionstraining war.
OPT verwendet float16, was einer seiner instabilen Faktoren sein kann. BLOOM entdeckte ein solches Problem und verwendete schließlich bfloat16 auf der A100GPU, erkannte jedoch nicht die Bedeutung dieser Einstellung und führte daher nach der ersten Wortvektorschicht eine zusätzliche Schichtnormalisierung ein, um Instabilitäten in ihren vorläufigen Experimenten mit float16 zu beheben. Es hat sich jedoch gezeigt, dass diese Layer-Normalisierung zu einer schlechteren Zero-Shot-Generalisierung führt, was möglicherweise ein Faktor für das Scheitern von BLOOM ist.
2. Änderungen während des Trainings. OPT hat viele Midstream-Anpassungen vorgenommen und das Training vom letzten Prüfpunkt aus neu gestartet, einschließlich der Änderung der Clip-Gradientennorm und der Lernrate, des Wechsels zu einem einfachen SGD-Optimierer und dann zurück zu Adam sowie dem Zurücksetzen des dynamischen Verlustskalars neuere Version von Megatron usw.
Diese Anpassung während des Kurses kann einer der Gründe für das Scheitern des OPT sein. Im Gegensatz dazu nahm PaLM fast keine Midstream-Anpassungen vor. Es startet das Training einfach von einem Kontrollpunkt aus etwa 100 Schritte vor der Spitze neu, wenn die Verlustspitze auftritt, und überspringt etwa 200–500 Datenstapel. Allein durch diesen einfachen Neustart erzielte PaLM einen magischen Erfolg. Dies ist auf die Tatsache zurückzuführen, dass das Sampling während der Erstellung der Vortrainingsdaten abgeschlossen wurde, sodass das Modell im Bit-Sinn deterministisch ist, und dass viele Änderungen an der Modellarchitektur und den Trainingseinstellungen vorgenommen wurden, um die Stabilität zu verbessern. Solche Modifikationen in PaLM werden im nächsten Punkt gezeigt.
3. Modellarchitektur/Trainingseinstellungen: Um das Training stabiler zu machen, hat PaLM eine Reihe von Anpassungen an der Modellarchitektur und den Trainingseinstellungen vorgenommen, einschließlich der Verwendung einer modifizierten Version von Adafactor als Optimierer und der Skalierung des Ausgabeprotokolls Verwenden Sie vor Softmax Hilfsverluste, um den Softmax-Normalisierer nahe bei 0 zu halten, verwenden Sie unterschiedliche Initialisierungen für Wortvektoren und andere Schichtgewichte, verwenden Sie keine Bias-Terme in Feedforward-Schichten und Schichtnormalisierungen und verwenden Sie während des Vortrainings kein Dropout.
Bitte beachten Sie, dass es in GLM-130B weitere wertvolle Inhalte zum stabilen Trainieren sehr großer Modelle gibt, z. B. die Verwendung der DeepNorm-basierten Post-Layer-Normalisierung anstelle der Pre-Layer-Normalisierung und der Verkleinerung des Wortvektor-Layer-Gradienten. Die meisten der oben genannten Modellmodifikationen werden von OPT und BLOOM nicht übernommen, was zu Instabilität und Ausfall führen kann.
4. Trainingsprozess: Wie in der Tabelle unten gezeigt, liegt die Anzahl der beim ursprünglichen GPT-3-Vortrainingsprozess angezeigten Token nahe an der von OPT und BLOOM, während PaLM diese bei weitem übertrifft. Ebenso sind sowohl PaLM- als auch GPT-3-Vortrainingskorpora größer als BLOOM und OPT. Daher kann das Vortraining mit mehr Token und einem größeren, qualitativ hochwertigen Korpus ein wichtiger Faktor für den Erfolg von GPT-3 und PaLM sein.
Zusätzlich zu den vier oben aufgeführten Punkten gibt es noch einige weitere Faktoren, die für ein stabileres Training möglicherweise nicht wichtig sind, sich aber dennoch auf die endgültige Leistung auswirken können.
Erster Punkt: Sowohl PaLM als auch GPT-3 verwenden eine Batch-Größe, die während des Trainingsprozesses allmählich von klein auf groß zunimmt, was sich als effektiv für das Training eines besseren LLM erwiesen hat, jedoch verwenden sowohl OPT als auch BLOOM eine A-Konstante Chargengröße.
Zweiter Punkt: OPT verwendet die ReLU-Aktivierungsfunktion, während PaLM die SwiGLU-Aktivierungsfunktion verwendet, GPT-3 und BLOOM GeLU verwenden, was normalerweise die Leistung des trainierten LLM verbessert.
Dritter Punkt: Um längere Sequenzen besser modellieren zu können, verwendet PaLM RoPE-Wortvektoren, BLOOM verwendet ALiBi-Wortvektoren und das ursprüngliche GPT-3 und OPT verwenden erlernte Wortvektoren, was sich auf die Leistung bei langen Sequenzen auswirken kann.
Ich versuche zu erklären, für welche Aufgaben und Anwendungen wir GPT-3 verwenden sollten und für welche nicht. Um zu zeigen, ob GPT-3 für eine bestimmte Aufgabe geeignet ist, habe ich GPT-3 mit Prompting hauptsächlich mit kleineren Modellen verglichen, die fein abgestimmt wurden, teilweise mit anderen Besonderheiten. Dieses Problem ist umso wichtiger, wenn man die gute Leistung der kürzlich auf den Markt gekommenen kleineren und feinabstimmbareren FLAN-T5-Modelle bedenkt.
Wenn in einer idealen Welt die Last der Feinabstimmung von GPT-3 erschwinglich ist, könnte dies zu weiteren Verbesserungen führen. Allerdings sind die Verbesserungen, die durch die Feinabstimmung von PaLM-540B bei einigen Aufgaben erzielt werden, so begrenzt, dass man sich fragt, ob sich die Feinabstimmung von GPT-3 bei einigen Aufgaben lohnt. Aus wissenschaftlicher Sicht wäre ein fairerer Vergleich zwischen fein abgestimmtem GPT-3 und getuntem GPT-3. Um GPT-3 zu verwenden, könnte man jedoch eher daran interessiert sein, Hinweise mit GPT-3 zu vergleichen und ein kleineres Modell zu optimieren.
Beachten Sie, dass es mir hauptsächlich um die Genauigkeit der Aufgabenerledigung als Metrik geht, es aber noch viele andere wichtige Dimensionen wie Toxizität, Fairness usw. gibt, die ebenfalls bei der Entscheidung über die Verwendung von GPT berücksichtigt werden sollten -3 wird berücksichtigt, wie im HELM-Artikel dargestellt. Das folgende Diagramm zeigt einen groben Entscheidungsprozess und dient hoffentlich als nützlicher praktischer Leitfaden, sei es für eine bestehende oder eine völlig neue Aufgabe.
Hinweis 1: ChatGPT zeichnet sich als Chatbot durch seine gute Ausrichtung auf Gesprächsszenarien aus. Aber normalerweise verwenden wir GPT-3, InstructGPT (GPT-3.5) und Codex, die Modelle hinter ChatGPT, als allgemeine Modelle für mehr Aufgaben und Nutzungsszenarien.
Hinweis 2: Die Schlussfolgerungen in diesem Abschnitt basieren auf einigen Erkenntnissen zur aktuellen Version des Modells, die möglicherweise nicht auf künftige stärkere Modelle anwendbar sind. Da mehr Pre-Training-Daten verwendet werden, die nahe am Zieldatensatz liegen, werden akademische Anweisungen zum Anpassen des Datensatzes verwendet (z. B. wird darauf hingewiesen, dass ein FLAN-PaLM möglicherweise eine stärkere Leistung bringt, was noch nicht bekannt gegeben wird) oder das Modell wird durch RLHF verbessert Die Zielaufgabe Bessere Ausrichtung, wodurch das Modell bei der Zielaufgabe möglicherweise eine bessere Leistung erbringt, auch wenn dies manchmal die Fähigkeit in anderen Szenarien beeinträchtigt (z. B. „Ausrichtungssteuer/Ausrichtungssteuer“ von InstructGPT).
In diesem Fall ist es schwierig zu beurteilen, ob GPT aufgabenübergreifend verallgemeinert und verallgemeinert oder ob es sich nur einige Testbeispiele während des Vortrainings eingeprägt hat oder diese sogenannten Testbeispiele während des Vortrainings gesehen hat. „Noch nie dagewesene“ Aufgaben. Es bleibt jedoch fraglich, ob das Gedächtnis in der Praxis tatsächlich ein ernstes Problem darstellt. Da sich Benutzer von Forschern unterscheiden, ist es ihnen möglicherweise egal, ob GPT während des Vortrainings dieselben oder ähnliche Daten gesehen hat, wenn sie feststellen, dass GPT bei ihren Testdaten bereits eine gute Leistung erbringt.
Auf jeden Fall habe ich mein Bestes gegeben, um die Feinabstimmung öffentlicher kleinerer Modelle (T5, FALN-T5, einige speziell entwickelte Feinabstimmungs-SOTA-Modelle usw.) zu vergleichen, um den aktuellen praktischen Wert dieses Abschnitts zu maximieren. ) und die beste Leistung des aktuellen GPT-3 (GPT-3.5, InstructGPT), PaLM (oder FLAN-PaLM), wenn die Bewertungsdaten dieser Modelle verfügbar sind.
Aufgaben, die für die Verwendung von GPT-3 geeignet sind
Generell sind die folgenden Situationen besser für die Verwendung von GPT-3 geeignet. Wenn wir auf den Einführungsabschnitt des GPT-3-Papiers zurückblicken, ist es überraschend, dass viele der anfänglichen Entwurfsziele diese Aufgaben abdeckten. Damit wurden die ursprünglich ehrgeizigen Ziele teilweise erreicht.
1. Kreative und komplexe Aufgaben : einschließlich Code (Codevervollständigung, Code zur Generierung natürlicher Anweisungen, Codeübersetzung, Fehlerbehebung), Textzusammenfassung, Übersetzung, kreatives Schreiben (z. B. Schreiben von Geschichten, Artikeln, E-Mails). , Berichte und Schreibverbesserungen usw.). Wie in der Originalliteratur zu GPT-3 gezeigt, ist GPT-3 für diese schwierigen und „unmöglichen Annotations“-Aufgaben konzipiert. Dabei handelt es sich um Aufgaben, die mit bisher fein abgestimmten Modellen nicht auf reale Anwendungen anwendbar gewesen wären. GPT-3 macht sie möglich. Jüngste Artikel zeigen beispielsweise, dass frühere von Menschen kommentierte Textzusammenfassungen von LLM-generierten Zusammenfassungen übertroffen wurden.
Durch die Eingabe von PaLM-540B ist es sogar in der Lage, fein abgestimmte Modelle bei bestimmten maschinellen Übersetzungsaufgaben zu übertreffen, die eine Übersetzung aus Sprachen mit geringen und mittleren Ressourcen ins Englische erfordern.
Ein ähnlicher Trend wurde bei BLOOM-176B beobachtet. Dies liegt daran, dass englische Daten normalerweise einen großen Teil des Korpus vor dem Training ausmachen, sodass LLM gut darin ist, englische Sätze zu generieren. Beachten Sie, dass Codex und PaLM zwar insgesamt eine bessere Leistung als frühere Modelle aufweisen, um eine gute Leistung bei Codierungsaufgaben zu erzielen, wir aber dennoch zulassen müssen, dass LLM mehrmals (k-mal) abtastet, um die Testprobe zu bestehen (unter Verwendung von pass @k als a metrisch).
2. Aufgaben mit nur wenigen beschrifteten oder unbeschrifteten Daten . Wie es in der ursprünglichen GPT-3-Dokumentation heißt, ist GPT-3 für „teure Annotations“-Aufgaben konzipiert. In diesem Fall ist es normalerweise unmöglich, ein kleineres Modell mit einer sehr kleinen Menge an gekennzeichneten Daten zu optimieren, um GPT-3 im Zero-Shot-, One-Shot- oder Fence-Shot-Fall zu erreichen.
3. Out-of-Distribution (OOD)-Verallgemeinerung. Angesichts einiger Trainingsdaten kann die herkömmliche Feinabstimmung zu einer Überanpassung des Trainingssatzes führen und zu einer schlechten Verallgemeinerung außerhalb der Verteilung führen, während das Lernen im Kontext bei wenigen Stichproben eine bessere Verallgemeinerung außerhalb der Verteilung erzielen kann. Beispielsweise kann PaLM mit Hinweisen ein fein abgestimmtes SOTA-Modell bei der ANLI-Aufgabe (Adversarial Natural Language Inference) übertreffen, während es bei normalen Sprachinferenzaufgaben dem fein abgestimmten SOTA-Modell immer noch unterlegen sein kann.
Ein weiteres Beispiel ist der Hinweis, dass LLM eine bessere kombinatorische Verallgemeinerung zeigt als fein abgestimmte Modelle. Eine bessere Verallgemeinerung außerhalb der Verteilung kann darauf zurückzuführen sein, dass Parameter während des Kontextlernens nicht aktualisiert werden müssen, um eine Überanpassung zu vermeiden, oder weil diese früheren Beispiele außerhalb der Verteilung für das LLM in der Verteilung liegen. Dieses Nutzungsszenario wurde als eines der ursprünglichen Entwurfsziele von GPT-3 erklärt: „Fein abgestimmte Modelle können eine sogenannte Leistung auf menschlicher Ebene für einen Datensatz für eine bestimmte Aufgabe erreichen, was die Leistung für diese Aufgabe in der Tat möglicherweise überbewertet.“ reale Welt.“ Dies liegt daran, dass das Modell nur die falschen Korrelationen gelernt hat, die im Trainingssatz vorhanden waren, und das Modell die enge Verteilung dieses Trainingssatzes überangepasst hat.
4. Die Fähigkeit, mehrere Aufgaben zu bewältigen, ist erforderlich, anstatt sich auf Exzellenz bei bestimmten Aufgaben zu konzentrieren. Chatbots sind ein solches Szenario, bei dem Benutzer erwarten, dass sie auf eine Vielzahl von Aufgaben richtig reagieren. Dies ist wahrscheinlich der Grund, warum ChatGPT einer der erfolgreichsten Anwendungsfälle für GPT-3 ist.
5. Diese wissensintensiven Aufgaben, für die das Abrufen nicht machbar ist. Das in LLM gespeicherte Wissen kann die Leistung bei wissensintensiven Aufgaben wie der Beantwortung geschlossener Fragen und MMLU (ein Benchmark-Datensatz mit Multiple-Choice-Fragen aus 57 Disziplinen wie MINT, Geisteswissenschaften, Sozialwissenschaften usw.) erheblich verbessern. der zum Testen des LLM-Weltwissens und der Problemlösungsfähigkeiten verwendet wird). Wenn jedoch ein Vorab-Abrufschritt hinzugefügt werden kann, um Abrufverbesserungen zu generieren, kann ein fein abgestimmtes kleineres Modell (wie das Atlas-Modell) sogar eine bessere Leistung erzielen (Atlas als PaLM bei den NaturalQuestions- und TrivialQA-Datensätzen mit geschlossenem Volumen). die neuesten InstructGPT sind besser).
Abrufen oder traditionelle Suche ist auch ein notwendiger Schritt, um GPT-3 oder ChatGPT in die Suchmaschine zu integrieren, was die Genauigkeit der Generierung verbessern und mehr Referenzlinks bereitstellen kann, um die Überzeugungskraft zu steigern. Wir sollten jedoch zugeben, dass es einige Fälle gibt, in denen der Abruf nicht erlaubt oder nicht einfach ist, wie zum Beispiel die Teilnahme an der USMLE (United States Medical Licensing Examination), bei der Google gezeigt hat, dass das auf FLAN-PaLM basierende Modell gut funktioniert.
In ähnlicher Weise weist PaLM-540B im MMLU-Benchmark-Set eine bessere Leistung als andere fein abgestimmte Modelle auf, sogar letztere in Kombination mit Abruf, obwohl die neueste Version von InstructGPT immer noch schlechter ist als diese fein abgestimmten SOTA mit Abruf. Beachten Sie auch, dass durch die Befehlsoptimierung eines kleineren Modells Ergebnisse erzielt werden können, die denen eines größeren LLM-Modells nahe kommen, wie in FLAN-T5 gezeigt wurde.
6. Einige schwierige Aufgaben, die die aufkommenden Fähigkeiten von LLM erfordern, wie das Denken mit CoT und komplexe Aufgaben in BIG-Bench (einschließlich logisches Denken, Übersetzung, Fragen und Antworten, mathematische Aufgaben usw.) . Beispielsweise hat PaLM gezeigt, dass bei 7 Aufgaben zum mehrstufigen Denken, einschließlich mathematischer und logischer Schlussfolgerungen, der 8-Stichproben-CoT bei 4 Aufgaben besser ist als der fein abgestimmte SOTA und bei den anderen 3 Aufgaben grundsätzlich gleich ist . .
Diese erfolgreiche Leistung ist sowohl dem größeren Modell als auch dem CoT zuzuschreiben. PaLM zeigt auch diskrete Leistungsverbesserungen bei der BIG-Bench-Aufgabe von 8B- über 62B- bis hin zu 540B-Modellen, was über das Skalierungsgesetz hinausgeht, das als Emergenzleistung von LLMs bekannt ist. Darüber hinaus übertrifft PaLM-540B mit 5 Eingabeaufforderungen das vorherige SOTA (mit wenigen Stichproben) bei 44 von 58 häufigen Aufgaben im Big-Bench. Die Gesamtleistung des PaLM-540B auf Big-Bench ist ebenfalls besser als die durchschnittliche menschliche Leistung.
7. Einige Szenarien erfordern Nachahmung von Menschen, oder das Ziel besteht darin, allgemeine künstliche Intelligenz zu schaffen , deren Leistung das menschliche Niveau erreicht. Ebenso ist ChatGPT einer der Fälle, in denen ChatGPT phänomenale Erfolge erzielte, indem es sich selbst mehr zu einem Menschen machte. Dies wurde auch als eines der ursprünglichen Designziele von GPT-3 erklärt: „Menschen benötigen keine großen überwachten Datensätze, um die meisten Sprachaufgaben zu lernen. Mit nur wenigen Beispielen können Menschen verschiedene Aufgaben und Techniken nahtlos integrieren.“ Daher führen traditionelle, fein abgestimmte Modelle zu unfairen Vergleichen mit Menschen, obwohl sie bei vielen Benchmark-Datensätzen eine Leistung auf menschlicher Ebene beanspruchen
8 PaLM-540B kann in etwa dem fein abgestimmten SOTA entsprechen oder es sogar übertreffen, z. B. Lückentextfüllung des letzten Satzes und des letzten Wortes eines Absatzes sowie Analyse von Anaphoren. Es ist zu beachten, dass in diesem Fall ein Zero-Sample-LLM ausreichend ist und Beispiele mit einer oder wenigen Stichproben in der Regel wenig hilfreich sind. Andere Aufgaben erfordern keine Eingabe eines Modells der Größe von GPT-3:
Aufgaben, die nicht für die Verwendung von GPT-3 geeignet sind
1. Rufen Sie OpenAI GPT-3 APIs auf des Budgets (z. B. für Startups, die nicht viel Geld haben).
2. Beim Aufruf der API von OpenAI GPT-3 gibt es Sicherheitsprobleme (z. B. Datenlecks an OpenAI oder möglicherweise generierte schädliche Inhalte).
3. Es sind nicht genügend technische oder Hardware-Ressourcen vorhanden, um ein Modell ähnlicher Größe bereitzustellen und das Verzögerungsproblem der Inferenz zu beseitigen. Ohne hochmoderne 80G A100s oder technische Ressourcen zur Optimierung der Inferenzgeschwindigkeit würde beispielsweise die einfache Verwendung von Alpa zur Bereitstellung von OPT-175B auf 16 40G A100s 10 Sekunden dauern, um die Inferenz einer einzelnen Probe abzuschließen, was nicht machbar ist Für große Anwendungen ist dies eine inakzeptable Latenz für die meisten realen Online-Anwendungen.
4. Wenn Sie GPT-3 verwenden möchten, um ein fein abgestimmtes Modell mit guter Leistung und hoher Genauigkeit zu ersetzen, oder wenn Sie ein NLU (Natural Language Understanding) in bestimmten Einzelaufgaben und Nutzungsszenarien einsetzen möchten Denken Sie bitte zweimal darüber nach, ob sich das NLG-Modell (Natural Language Generating, Erzeugung natürlicher Sprache) lohnt.
Zusammenfassend können diese oben genannten Aufgaben in eine der folgenden Kategorien eingeteilt werden:
1. Einige NLU-Aufgaben erfordern weder zusätzliche Kenntnisse noch die Generierungsfähigkeit von LLM. Dies bedeutet, dass die Testdaten größtenteils in der gleichen Verteilung liegen wie die vorliegenden Trainingsdaten. Bei diesen Aufgaben haben kleinere, in der Vergangenheit optimierte Modelle gute Ergebnisse erzielt.
2. Einige Aufgaben, die keine zusätzlichen Kenntnisse von LLM erfordern, da jedes Beispiel bereits ausreichende Kenntnisse im Kontext oder Eingabeaufforderungen enthält, wie z. B. maschinelles Leseverständnis.
3. Einige erfordern zusätzliche Kenntnisse, aber es ist unwahrscheinlich, dass man solche Kenntnisse von LLM erhält , oder es ist unwahrscheinlich, dass LLM ähnlich verteilte Aufgaben gesehen hat , wie etwa einige ressourcenarme Sprachen Für Aufgaben in diesen Sprachen verfügt LLM nur über begrenzte Beispiele vor dem Training.
4.Einige Aufgaben erfordern Kenntnisse, die nicht mit den im LLM enthaltenen Kenntnissen übereinstimmen, oder Kenntnisse, die nicht auf realen Sprachdaten basieren. Da LLM auf realen Sprachdaten trainiert wird, ist es schwierig, kontrafaktisches Wissen zu nutzen, um das ursprüngliche Wissen in neuen Aufgaben abzudecken. Zusätzlich zum Problem „mathematische Notation neu definieren“ in der Herausforderung „Gesetz der umgekehrten Skala“ gibt es eine weitere Aufgabe, das Nacherzählen eines leicht veränderten Zitats, bei der der LLM gebeten wird, ein modifiziertes Zitat, das in der Eingabeaufforderung erscheint, nachzuerzählen. In diesem Fall wiederholt LLM eher die Originalversion des Zitats als die modifizierte Version.
5.Einige Aufgaben erfordern Wissen vom LM, basieren aber auch stark auf der Manipulation dieses Wissens, und das Ziel des LLM, „den nächsten Token vorherzusagen“, kann diese Manipulation nicht einfach erreichen. Ein Beispiel sind einige Aufgaben zum gesunden Menschenverstand. Der Grund, warum CoT und „Least-to-most“-Hinweise die LLM-Schlussfolgerung unterstützen können, liegt möglicherweise darin, dass sie die kontinuierlichen Pre-Training-Texte besser hervorheben können, die zufällig den Prozess der Planung und Zerlegung/Kombination von Wissen nachahmen.
Somit funktionieren CoT und „Least-to-most“-Eingabeaufforderungen bei einigen mathematischen Argumentations-, Code- und anderen einfachen logischen Denkaufgaben in natürlicher Sprache gut, scheitern jedoch bei vielen logischen Argumentationsaufgaben (z. B. den deduktiven Argumentationsaufgaben, die im Gesetz der umgekehrten Skala demonstriert werden). Konkurrenz) und schnitt bei benutzerdefinierten Aufgaben zum symbolischen Denken immer noch schlecht ab. Diese Aufgaben werden in der Regel nicht durch die realsten kontinuierlichen Sequenzen in natürlichsprachlichen Daten abgedeckt, sondern erfordern zur Vervollständigung die Manipulation verstreuten Wissens.
6. Einige Aufgaben, die leicht durch kontextbezogene Lernbeispiele oder falsche Korrelationen in realen Daten beeinflusst werden können. Ein Beispiel ist eine Frage und Antwort mit negativen Wörtern aus dem Wettbewerb „Inverse Law of Scale“. Wenn ein LLM gefragt wird: „Wenn die Körpertemperatur einer Katze unter dem Durchschnitt liegt, ist sie nicht in …“, antwortet sie eher mit „gefährdet“ als mit „sicherer Bereich“. Dies liegt daran, dass LLM von der gemeinsamen Beziehung zwischen „unterdurchschnittlicher Körpertemperatur“ und „Gefahr“ dominiert wird, was im negativen Fall eine falsche Korrelation darstellt.
7. Einige Aufgaben, deren Ziele sich erheblich von der Verarbeitung von Sprachdaten unterscheiden, wie z. B. Regressionsprobleme, bei denen fein abgestimmte Modelle nur schwer durch LLM zu ersetzen sind. Multimodale Aufgaben können nicht durch LLM gelöst werden, können aber von groß angelegten vorab trainierten multimodalen Modellen profitieren.
8. Einige Aufgaben erfordern nicht die Emerging-Fähigkeit von LLM. Um weitere dieser Aufgaben genau beurteilen zu können, müssen wir besser verstehen, wo während der LLM-Ausbildung neue Fähigkeiten entstehen.
Beachten Sie, dass LLM in realen Nutzungsszenarien, auch wenn LLM nicht online verwendet werden kann, weil die Latenzanforderungen nicht erfüllt werden können, dennoch zum Offline-Generieren oder Kennzeichnen von Daten verwendet werden kann. Solche automatisch mit Anmerkungen versehenen Beschriftungen können online gefunden und den Benutzern zur Verfügung gestellt oder zur Feinabstimmung kleinerer Modelle verwendet werden. Die Verwendung solcher Daten zur Feinabstimmung kleinerer Modelle reduziert die manuell annotierten Daten, die zum Trainieren des Modells erforderlich sind, und fügt einige der neuen Funktionen von LLM (z. B. CoT) in kleinere Modelle ein.
Zusammenfassend empfehle ich angesichts der erstaunlichen Leistung von Open-Source-FLAN-T5 bei vielen Aufgaben, wenn genügend gekennzeichnete Daten vorhanden sind, dass Personen mit begrenzten Ressourcen, die die OpenAI-API aufrufen, zunächst versuchen sollten, FLAN-T5 auf dem zu optimieren Zielaufgabe. T5-11B. Basierend auf der aktuellen Leistung von FLAN-PaLM-540B im MMLU-Datensatz, die im Vergleich zur Leistung der neuesten Version von InstructGPT (laut HELM) überraschend gut ist, verfügt Google möglicherweise über ein leistungsfähigeres Basismodell als OpenAI, wenn OpenAI hat die API veröffentlicht und das stärkste LLM veröffentlicht, das sie jemals erhalten haben.
Der einzige verbleibende Schritt für Google besteht darin, dieses LLM durch menschliches Feedback an Konversationsszenarien auszurichten. Es würde mich nicht wundern, wenn sie bald einen ChatGPT-ähnlichen oder besseren Chatbot veröffentlichen würden – obwohl es ihnen kürzlich „versagt“ hat, eine Version von Bard zu präsentieren, die möglicherweise auf LaMDA basiert.
Über den Autor
Original englischer Autor: Yang Jingfeng, derzeit Amazonas-Wissenschaftler, schloss sein Studium an der Universität Peking mit einem Bachelor-Abschluss und einem Master-Abschluss am Georgia Institute of Technology ab und studierte bei Professor Yang Diyi aus Stanford.
Übersetzt von Yang Haotong und überarbeitet von Wang Xiao.
Vielen Dank an Jin Hongye für seine Vorschläge zur ersten Version des Manuskripts und an Chen Sanxing und Fu Yao für ihre Diskussionen und Vorschläge.
Englische Originalversion: https://jingfengyang.github.io/gpt
Das obige ist der detaillierte Inhalt vonWarum schlagen alle GPT-3-Replikationen fehl? Was Sie über die Verwendung von ChatGPT wissen sollten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!