Wenn "synthetische Daten" auf intelligente Agenten treffen
Im vergangenen Jahr haben wir den Aufstieg intelligenter Agenten miterlebt. Intelligente Agenten können hochwertige Daten generieren und durch Reflexion und Iteration übertreffen ihre Fähigkeiten die zugrunde liegenden Basismodelle.
In diesem Prozess können intelligente Agenten Lösungen überprüfen, sich selbst kritisieren und Lösungen verbessern. Sie können sogar Tools wie Such-APIs, Taschenrechner und Code-Interpreter nutzen, um die Fähigkeiten großer Modelle zu erweitern.
Darüber hinaus können mehrere Agenten weitere Vorteile bringen, wie die Simulation von Szenarien und die gleichzeitige Generierung neuer Prompts und Antworten. Sie können auch die Automatisierung von Datengeneration-Workflows ermöglichen und den Bedarf an menschlichem Eingreifen für bestimmte Aufgaben reduzieren oder eliminieren.
In der Studie stellen die Autoren das Konzept des "generativen Lehrens" vor. Dies bedeutet, synthetische Daten für das Nachtraining zu verwenden, insbesondere durch die Erstellung von Daten mit leistungsstarken Modellen, um einem anderen Modell neue Fähigkeiten oder Verhaltensweisen beizubringen.
AgentInstruct ist eine intelligente Agentenlösung für generatives Lehren.
Zusammengefasst kann AgentInstruct Folgendes erstellen:
- Hochwertige Daten: Verwendung leistungsstarker Modelle wie GPT-4 in Kombination mit Tools wie Suche und Code-Interpreter.
- Vielfältige Daten: AgentInstruct generiert gleichzeitig Prompts und Antworten. Es verwendet mehrere Agenten (ausgestattet mit leistungsstarken LLMs, Tools und Reflexionsprozessen) und eine Taxonomie mit über 100 Unterkategorien, um vielfältige und hochwertige Prompts und Antworten zu erstellen.
- Große Datenmengen: AgentInstruct kann autonom arbeiten und Validierungs- und Datenfilterungsprozesse anwenden. Es benötigt keine Seed-Prompts, sondern verwendet Rohdokumente als Seed.
Generatives Lehren: AgentInstruct
Wie können wir riesige Datenmengen erstellen? Wie können wir die Vielfalt der generierten Daten sicherstellen? Wie können wir komplexe oder subtile Daten generieren?
Dafür skizzieren die Forscher einen strukturierten Ansatz zur Bewältigung dieser Herausforderungen:
Konkret definiert AgentInstruct drei verschiedene automatisierte Generierungsprozesse:
Inhaltstransformationsprozess: Wandelt rohe Seeds in eine Zwischendarstellung um, was die Erstellung von Anweisungen für spezifische Ziele vereinfacht.
Seed-Anweisungsgenerierungsprozess: Besteht aus mehreren Agenten, die transformierte Seeds aus dem Inhaltstransformationsprozess als Eingabe verwenden und eine Reihe vielfältiger Anweisungen generieren.
Anweisungsverbesserungsprozess: Nimmt Anweisungen aus dem Seed-Anweisungsprozess als Eingabe und verbessert iterativ deren Komplexität und Qualität.
Anschließend implementierten die Forscher diese Prozesse für 17 verschiedene Fähigkeiten, jede mit mehreren Unterkategorien. Diese Fähigkeiten umfassen Leseverständnis, Frage-Antwort, Codierung, Retrieval-Augmented Generation, kreatives Schreiben, Tool/API-Nutzung und Websteuerung.
Experimentelle Ergebnisse
Wie eingangs erwähnt, verwendeten die Forscher 25,8 Millionen Anweisungspaare, um das Mistral-7b-v0.1-Modell feinzutunen und erhielten dann Orca-3.
Wie ist also die Leistung von Orca-3 nach dem Training mit AgentInstruct-Daten?
Das Ziel von AgentInstruct ist es, einen großen und vielfältigen Datensatz mit Daten unterschiedlicher Schwierigkeitsgrade zu synthetisieren. Auf diesem Datensatz erzielten Benchmark-Modelle wie Orca-2.5, Mistral-Instruct-7b und ChatGPT Punktzahlen weit unter 10, was ihre Unterlegenheit gegenüber GPT-4 (als Benchmark mit einer Punktzahl von 10 festgelegt) zeigt.
Im Durchschnitt, einschließlich Orca-3 nach jeder Trainingsrunde, verbesserte die Einführung von AgentInstruct-Daten die Leistung um 33,94% gegenüber dem Orca 2.5-Benchmark und um 14,92% gegenüber Mistral-Instruct-7B.
Aktualisierung mehrerer Benchmark-SOTAs
Zum Beispiel gab es eine Verbesserung von 40% bei AGIEval, 19% bei MMLU, 54% bei GSM8K, 38% bei BBH und 45% bei AlpacaEval.