Einführung
Was ist automatisches Chain-of-Thought-Prompting in großen Sprachmodellen? In diesem Blog werden wir diese Frage in kleine Teile zerlegen – von der Definition des Chain-of-Thought (CoT) Prompting über die Vorteile und die Entwicklung von Auto CoT bis hin zur LLM-API als Kernkomponente der Anwendung von Auto CoT. Bleiben Sie dran, um das leistungsstarke Auto CoT zu entdecken!
Was ist CoT-Prompting?
Chain-of-Thought (CoT) Prompting ist eine Technik, die die Argumentationsfähigkeiten großer Sprachmodelle (Large Language Models, LLMs) verbessert. LLMs wie GPT-3 haben auf verschiedenen Aufgaben – darunter Fragebeantwortung, Textgenerierung und Problemlösung – bemerkenswerte Leistungen erbracht.
Bei vielen komplexen Argumentationsaufgaben fällt es LLMs jedoch schwer, eine vollständige und kohärente schrittweise Lösung zu liefern. CoT-Prompting zielt darauf ab, dieses Problem zu beheben, indem das Sprachmodell dazu angeregt wird, eine „Gedankenkette“ (Chain of Thought) zu erzeugen – eine Abfolge von Zwischenschritten, die zur endgültigen Antwort führen.
Die Kernidee von CoT-Prompting besteht darin, das Sprachmodell dazu zu bringen, ein Problem explizit durchzudenken, anstatt nur eine direkte Antwort zu liefern. Dies geschieht typischerweise, indem man einen Prompt wie „Lassen Sie uns Schritt für Schritt nachdenken“ oder „Erklären Sie Ihre Argumentation“ zusammen mit der Eingabefrage oder dem Problem einfügt. CoT-Prompting kann zu genaueren und erklärbareren Ausgaben führen, insbesondere bei komplexen, mehrstufigen Aufgaben.

Warum brauchen wir Auto CoT?
Das Hauptproblem besteht darin, dass es zwei Hauptansätze für das Chain-of-Thought (CoT) Prompting gibt, die beide erhebliche Nachteile aufweisen.
Einschränkungen von Zero-Shot-CoT
Bei diesem Ansatz geben Sie dem Sprachmodell (LM) einfach eine Frage und bitten es, „Schritt für Schritt“ nachzudenken, um zur Antwort zu gelangen. Der Vorteil ist die einfache Anwendung – Sie müssen keine zusätzlichen Informationen oder Beispiele bereitstellen. Der große Nachteil ist jedoch, dass die schrittweise Argumentation des LM häufig fehlerhaft sein oder Fehler enthalten kann. Die endgültige Antwort ist daher nicht zuverlässig.
Einschränkungen von Manual-CoT
Dieser Ansatz beinhaltet die manuelle Erstellung detaillierter Beispiele für das LM, die zeigen, wie ein Problem in logische Schritte zerlegt und zur richtigen Antwort gelangt wird. Durch die Bereitstellung dieser sorgfältig ausgearbeiteten Beispiele kann das LM dieses Wissen nutzen, um neue Fragen besser zu lösen. Der Vorteil ist, dass die Argumentation des LM robuster und genauer ist, wenn es auf die manuellen Beispiele zurückgreifen kann. Der große Nachteil ist jedoch, dass die Erstellung dieser detaillierten Beispiele extrem zeitaufwändig ist und viel menschliches Fachwissen erfordert. Es ist überhaupt nicht skalierbar.

Überwindung der Einschränkungen mit Auto-CoT
Zusammenfassend: Zero-Shot-CoT ist einfach, aber unzuverlässig, während Manual-CoT robuster, aber sehr arbeitsintensiv ist. Dies ist die zentrale Herausforderung, die die Autoren mit ihrem vorgeschlagenen „Auto-CoT“-Ansatz lösen möchten.
Die Kernidee von Auto-CoT, die von einigen Forschern vertreten wird, besteht darin, die Beispiel-Demonstrationen, die das LM verwenden kann, automatisch zu generieren, ohne dass manuelle menschliche Arbeit erforderlich ist. Dies könnte die Vorteile beider vorhandenen Ansätze kombinieren – zuverlässige Argumentation, aber auf eine skalierbarere Weise.
Wie haben Forscher Auto CoT entwickelt?
In diesem Abschnitt gehen wir auf die Details des Papiers „Automatic Chain of Thought Prompting in Large Language Models“ von Zhuosheng Zhang, Aston Zhang, Mu Li und Alex Smola aus dem Jahr 2022 ein. Wenn Sie nicht an Forschungsdetails interessiert sind, können Sie direkt zum nächsten Abschnitt springen.

Vorgeschlagener Ansatz
Um die Einschränkungen der vorhandenen CoT-Ansätze zu überwinden, schlagen die Autoren ein „Auto-CoT“-Paradigma vor, das automatisch Demonstrationen für das CoT-Prompting erstellt.
Die wichtigsten Schritte sind:
- Nutzung von LLMs mit dem Prompt „Lassen Sie uns Schritt für Schritt nachdenken“, um Argumentationsketten für Demonstrationsfragen zu generieren.
- Da die generierten Argumentationsketten Fehler enthalten können, legen die Autoren Wert auf die Diversität der ausgewählten Demonstrationsfragen.
- Entwicklung eines zweistufigen Ansatzes zur automatischen Erstellung von Demonstrationen:
a. Partitionierung der Datenmenge in Cluster auf Basis von Ähnlichkeit.
b. Auswahl einer repräsentativen Frage aus jedem Cluster und Generierung ihrer Argumentationskette mittels Zero-Shot-CoT.
Evaluierung
Die Autoren evaluieren den Auto-CoT-Ansatz mit GPT-3 an zehn Benchmark-Aufgaben, darunter Rechnen, allgemeinverständliches und symbolisches Denken. Sie vergleichen die Leistung mit den Zero-Shot-CoT- und Manual-CoT-Paradigmen.
Wichtigste Erkenntnisse
Die Ergebnisse zeigen, dass der Auto-CoT-Ansatz durchweg die Leistung des Manual-CoT-Paradigmas erreicht oder übertrifft, das manuelles Design von Demonstrationen erfordert. Dies zeigt, dass LLMs effektives CoT-Denken ohne manuellen Aufwand durchführen können.
Wie funktioniert Auto CoT?
Die grundlegende Idee von Auto-CoT besteht darin, die Demonstrationsbeispiele, die das Sprachmodell (LM) für das Chain-of-Thought (CoT) Prompting verwenden kann, automatisch zu generieren, anstatt auf manuell erstellte Beispiele angewiesen zu sein.
Hier ist eine schrittweise Erklärung, wie der Auto-CoT-Ansatz funktioniert:
Schritt 1 Fragen-Clustering:
- Im ersten Schritt wird die Menge der Testfragen (die Fragen, anhand derer das LM bewertet wird, sowie bereits vorhandene Fragen aus Standard-Benchmark-Datensätzen) basierend auf ihrer Ähnlichkeit in einige Cluster gruppiert.
- Dieses Clustering stellt sicher, dass die Demonstrationsfragen verschiedene Problemtypen abdecken, anstatt zu ähnlich zu sein.
Schritt 2 Generierung von Demonstrationen:
- Für jedes Cluster von Fragen wählt Auto-CoT eine repräsentative Frage aus diesem Cluster aus.
- Anschließend wird der Prompt „Lassen Sie uns Schritt für Schritt nachdenken“ verwendet, um das LM zu bitten, eine Argumentationskette für diese repräsentative Frage zu generieren.
- Diese Argumentationskette, bestehend aus den Zwischenschritten und der endgültigen Antwort, wird zum Demonstrationsbeispiel für dieses Cluster.
Schritt 3 Prompten des LM:
- Bei der Bewertung des LM anhand einer neuen Testfrage erhält das LM die Menge der automatisch generierten Demonstrationsbeispiele.
- Das LM kann diese Demonstrationen dann nutzen, um seinen eigenen schrittweisen Argumentationsprozess zu leiten und zur Antwort für die Testfrage zu gelangen.

Wie kann ich Auto CoT verwenden?
Voraussetzungen:
- Python Version 3.8 oder neuer
Installation:
- Installieren Sie die erforderlichen PyTorch- und torchtext-Pakete mit den angegebenen Versionen und der PyPI-URL:
pip install torch==1.8.2+cu111 torchtext==0.9.2 -fhttps://download.pytorch.org/whl/lts/1.8/torch_lts.html - Installieren Sie die weiteren Abhängigkeiten mit
pip install -r requirements.txt
Datensätze:
Laden Sie die Datensätze aus den folgenden GitHub-Repositories herunter:
- https://github.com/kojima-takeshi188/zero_shot_cot/tree/main/dataset
- https://github.com/kojima-takeshi188/zero_shot_cot/tree/main/log
Schnellstart:
Eine Kurzanleitung finden Sie im Notebook try_cot.ipynb.
Anleitung:
Demos erstellen:
- Führen Sie den folgenden Befehl aus, um Demos für die Aufgabe „multiarith“ zu erstellen:
python run_demo.py --task multiarith --pred_file log/multiarith_zero_shot_cot.log --demo_save_dir demos/multiarith
Inferenz ausführen:
- Führen Sie den folgenden Befehl aus, um die Inferenz auf dem Datensatz „multiarith“ durchzuführen:
python run_inference.py --dataset multiarith --demo_path demos/multiarith --output_dir experiment/multiarith
Zitieren von Auto-CoT:
Wenn Sie Auto-CoT in Ihrer Arbeit verwenden, zitieren Sie bitte das folgende Papier:
@inproceedings{zhang2023automatic,
title={Automatic Chain of Thought Prompting in Large Language Models},
author={Zhang, Zhuosheng and Zhang, Aston and Li, Mu and Smola, Alex},
booktitle={The Eleventh International Conference on Learning Representations (ICLR 2023)},
year={2023}
}

LLM-API als Kernkomponente der Anwendung von Auto-CoT
Welche Vorteile bietet die Kombination von Auto-CoT mit LLM-APIs?
- Zugriff auf leistungsstarke Sprachmodelle:
- Auto-CoT ist auf die Fähigkeiten großer Sprachmodelle angewiesen, um schrittweise Argumentationsketten zu generieren und genaue Ergebnisse zu liefern.
- Durch die Integration von LLM-APIs können Forscher und Entwickler auf die neuesten und leistungsstärksten Sprachmodelle wie GPT-3, Megatron-LLM oder InstructGPT zurückgreifen, um das Auto-CoT-System zu betreiben.
2. Flexibilität und Anpassung:
- Verschiedene Sprachmodelle können unterschiedliche Stärken, Verzerrungen und Fähigkeiten aufweisen. Die Integration von LLM-APIs ermöglicht es Benutzern, die Leistung verschiedener Modelle für ihre spezifischen Aufgaben und Anwendungen zu testen und zu vergleichen.
- Diese Flexibilität ermöglicht es Forschern, die Sprachmodelle an ihre Bedürfnisse anzupassen und zu optimieren, wodurch die Gesamteffektivität des Auto-CoT-Systems verbessert wird.
3. Skalierbarkeit und Bereitstellung:
- LLM-APIs bieten oft skalierbare und zuverlässige Infrastrukturen für das Bereitstellen und Betreiben von Sprachmodellen, sodass Auto-CoT-Systeme erhöhte Arbeitslasten bewältigen und eine größere Benutzerbasis bedienen können.
- Durch die Nutzung der Skalierungsfähigkeiten von LLM-APIs können Forscher und Entwickler das Auto-CoT-System einfacher in Produktionsumgebungen bereitstellen und warten.
4. Kontinuierliche Modellverbesserungen:
- Sprachmodelle entwickeln sich rasant weiter, und neue, verbesserte Versionen werden häufig veröffentlicht. Die Integration von LLM-APIs ermöglicht es Auto-CoT-Systemen, von diesen Fortschritten zu profitieren und mit den neuesten Sprachmodellfähigkeiten auf dem neuesten Stand zu bleiben.
- Dies stellt sicher, dass das Auto-CoT-System weiterhin hochwertige Ergebnisse liefern und seine Wettbewerbsfähigkeit im Zuge der Weiterentwicklung des Sprachmodellbereichs aufrechterhalten kann.
Wie integriere ich die LLM-API in mein Projekt?
Novita AI bietet Benutzern eine LLM-API mit vielen aufrufbaren Modellen, einschließlich der neu veröffentlichten Modelle llama-3–8b und llama-3–70b. Sie können verschiedene Modelle ausprobieren und ihre Leistung auf unserem Playground kostenlos vergleichen, bevor Sie unsere LLM-API integrieren.

Darüber hinaus können Sie zur Anpassung an Ihre spezifischen Anforderungen Schlüsselparameter wie temperature (steuert die Zufälligkeit und Erkundung der Modellausgabe), top_p (eine Alternative zum Sampling mit Temperatur, genannt Nucleus-Sampling, bei dem das Modell die Ergebnisse der Token mit der höchsten Wahrscheinlichkeitsmasse berücksichtigt), presence_penalty (ermutigt das Modell, Text zu erzeugen, der sich von zuvor generiertem Text unterscheidet) und maximum tokens (legt die maximale Länge der generierten Ausgabe des Modells fest) anpassen, um die Modellausgaben für Ihre spezifischen Anwendungsanforderungen zu optimieren. Diese maßgeschneiderte Anpassung ermöglicht es Ihnen, die Fähigkeiten des LLM vollständig mit Ihren Auto-CoT-Systemen zu kombinieren.

Weitere Informationen zur LLM-API, einschließlich Code-Anleitungen zur Integration, Preisen und anderen Funktionen, finden Sie auf unserer Website.

Fazit
In diesem Blog haben wir das Konzept des Chain-of-Thought (CoT) Prompting und die Notwendigkeit eines automatisierten Ansatzes namens Auto-CoT untersucht. Während bestehende CoT-Methoden Einschränkungen aufweisen, zielt der Auto-CoT-Ansatz darauf ab, automatisch Demonstrationsbeispiele zu generieren, die Sprachmodelle beim schrittweisen Denken leiten, ohne manuellen Aufwand zu erfordern. Wir haben die wichtigsten Schritte von Auto-CoT besprochen, einschließlich Fragen-Clustering und Demonstrationsgenerierung. Abschließend haben wir hervorgehoben, wie die Integration von LLM-APIs leistungsstarke und flexible Sprachmodelle bereitstellen kann, um das Auto-CoT-System zu betreiben, was zu verbesserter Leistung, Skalierbarkeit und kontinuierlichen Modellverbesserungen führt. Insgesamt stellt Auto-CoT eine spannende Entwicklung zur Verbesserung der Argumentationsfähigkeiten großer Sprachmodelle dar.
Novita AI, die One-Stop-Plattform für grenzenlose Kreativität, die Ihnen Zugriff auf über 100 APIs bietet. Von Bildgenerierung und Sprachverarbeitung bis hin zu Audioverbesserung und Videobearbeitung – mit günstigem Pay-as-you-go-Modell befreit es Sie von GPU-Wartungsaufwänden, während Sie Ihre eigenen Produkte entwickeln. Probieren Sie es kostenlos aus.
