AI Personal Learning
und praktische Anleitung
CyberKnife-Zeichenspiegel

Microsofts ursprüngliches WizardLM-Team: Code großes Modell WarriorCoder, Leistung neue SOTA

blank

 

  • Titel des Papiers: WarriorCoder: Lernen von Expertenkämpfen zur Erweiterung des Codes großer Sprachmodelle
  • Link zum Papier: https://arxiv.org/pdf/2412.17395

01 Hintergrund

In den letzten Jahren haben Large Language Models (LLMs) phänomenale Leistungen bei codebezogenen Aufgaben gezeigt, wobei eine Vielzahl von Code-Makromodellen entstanden ist. Diese Erfolgsgeschichten zeigen, dass das Vortraining auf umfangreichen Codedaten die Kernprogrammierfähigkeiten der Modelle erheblich verbessern kann. Zusätzlich zum Pre-Training haben einige Methoden des Post-Trainings von LLMs auf Anweisungsdaten ebenfalls zu signifikanten Verbesserungen des Verständnisses der Modelle von Anweisungen und der Qualität der Antworten geführt. Die Wirksamkeit des Nachtrainings hängt jedoch in hohem Maße von der Verfügbarkeit qualitativ hochwertiger Daten ab, wobei die Erfassung und Kommentierung der Daten eine große Herausforderung darstellt.
Um die oben genannten Herausforderungen zu bewältigen, haben einige Methoden verschiedene Datenschwungräder entwickelt, um Anweisungsdaten zu generieren, wie z. B. Self-Instruct, Evol-Instruct usw. Diese Methoden wurden entwickelt, um Anweisungsdaten durch verschiedene Mittel zur Datenanreicherung zu erstellen. Bei diesen Methoden werden Anweisungsdaten durch verschiedene Mittel zur Datenanreicherung erstellt, und das Training mit diesen Daten kann die Codegenerierungsfähigkeit des Modells effektiv verbessern. Wie in Abb. 1 gezeigt, sind diese Ansätze jedoch nach wie vor auf die Erweiterung bestehender Datensätze angewiesen und erfordern den Aufruf privater LLMs (z. B. GPT-3.5, GPT-4 usw.), was die Datensammlung kostspielig macht. Darüber hinaus schränkt die begrenzte Anzahl von Datenquellen und LLMs, die für die Annotation verwendet werden, auch die Vielfalt der Daten ein und übernimmt die systematische Verzerrung, die mit begrenzten privaten LLMs einhergeht. blank Abbildung 1


Dieses Papier präsentiert WarriorCoder, ein neues Datenschwungrad-Trainingsparadigma für Code-Makromodelle, bei dem das Modell die Stärken individueller Code-Experten-Makromodelle durch Lernen von gegnerischen Expertenansätzen integriert. Wie in Abb. 1 dargestellt, werden einzelne große Modelle von Kodierungsexperten gegeneinander ausgespielt, wobei die Angreifer ihre Gegner in ihren eigenen Fachgebieten herausfordern und die Zielmodelle von den Gewinnern dieser Kampfpaare lernen. Im Gegensatz zu früheren Methoden, die meist auf bestehende Open-Source-Datensätze als zu synthetisierende und zu erweiternde Seed-Daten zurückgreifen, generiert warriorCoder Daten von 0 bis 1, ohne dass Seed-Daten benötigt werden, und die Methode kann die Stärken mehrerer Code-Experten-Makromodelle zusammenführen, anstatt nur die Stärken einzelner Modelle zu destillieren. Darüber hinaus macht die in diesem Papier vorgeschlagene Methode die menschliche Beteiligung und private LLMs bei der Datenerfassung überflüssig und ermöglicht die Erfassung hochwertiger und vielfältiger Trainingsdaten zu sehr geringen Kosten. Experimentelle Ergebnisse zeigen, dass warriorCoder nicht nur die aktuelle SOTA in Code-Generierungsaufgaben erreicht, sondern auch hervorragende Ergebnisse in Benchmarks wie Code Reasoning und Bibliotheken mit, die Code-Hexagon-Krieger genannt werden kann.

02 Methodik

In diesem Papier wird eine Arena für Code-Grand-Modelle aufgebaut. Hier werden Makromodelle, die auf dem neuesten Stand der Technik sind und über Code-Expertise verfügen, gegeneinander antreten, wobei jedes Modell die anderen mit dem Wissen, das es bereits besitzt, herausfordert, während die übrigen Modelle als Schiedsrichter fungieren, um den Ausgang der Konfrontationen zu bewerten. Das Zielmodell lernt dann von den Gewinnern dieser Konfrontationen und integriert nach und nach die Stärken aller Wettbewerber. In dieser Arbeit werden die Teilnehmer (Code-Experten-Makromodelle) als Gruppe behandelt, und das Modell wird durch die relative Überlegenheit der Antworten innerhalb der Gruppe optimiert, was dem GRPO ähnelt. blank Abbildung 2

2.1 Einstellung der Wettbewerber

Die Kompetenz der Teilnehmer bestimmt die endgültige Leistung von WarriorCoder. Theoretisch ist die Leistung des endgültigen Modells umso besser, je größer die Vielfalt und Qualität der Trainingsdaten ist, die aus einem größeren und stärkeren Pool von Teilnehmern gewonnen werden. In jeder Runde der Arena wird nur ein Codiererpaar als Teilnehmer ausgewählt, während die anderen als Richter fungieren. In dieser Arbeit wurden fünf fortgeschrittene große Modelle innerhalb von 75B aus dem BigCodeBench-Ranking ausgewählt - Athene-V2-Chat, DeepSeek-Coder-V2-Lite-Instruct, Llama-3.3-70B-Instruct Qwen2.5-72B-Instruct und QwQ-32B-Preview. Es ist erwähnenswert, dass diese fünf großen Modelle alle Open-Source-Big-Modelle sind und WarriorCoder allein durch die Konfrontation mit diesen Open-Source-Big-Modellen eine hervorragende Leistung erzielt. Natürlich ist WarriorCoder auch in der Lage, von leistungsstarken privaten Makromodellen zu lernen.

2.2 Anweisungserfassung von Grund auf

Für ein Paar von Gegnern - A und B (wobei A der Angreifer und B der Verteidiger ist) - besteht der erste Schritt in der Konfrontation darin, B in einem Bereich herauszufordern, in dem A überragend ist, was Kenntnisse darüber voraussetzt, was A während des Trainingsprozesses gelernt hat. Allerdings veröffentlichen fast alle aktuellen Open-Source-Grand-Modelle ihre Trainingsdaten nicht, was das Wissen darüber, was Angreifer gut können, extrem schwierig macht. Inspiriert von Magpie wird in diesem Beitrag ein auf Dialogvervollständigung basierender Ansatz entwickelt, um die von einem Grand Model bereits beherrschten Fähigkeiten zu ermitteln. Wenn wir Qwen2.5 als Beispiel nehmen und es einen schnellen Sortieralgorithmus generieren lassen wollen, ist das vollständige Prompt-Format in Abb. 3 dargestellt. ", "" und so weiter. blank Abbildung 3

Wird dagegen nur der Präfix-Teil (der für sich genommen keine spezifische Bedeutung hat, wie in Abbildung 4 gezeigt) in das Modell eingegeben, kann der Benutzerinhalt durch die Nutzung der Komplementierungsfunktion des Modells ermittelt werden. blank Abbildung 4

Auf diese Weise ist es möglich, mit verschiedenen Konfigurationen von generativen Parametern (z. B. verschiedene Temperaturwerte und top-p-Werte) Anweisungsdaten zu sammeln, die vom Modell gelernt wurden. Anders als bei der traditionellen Datensynthese werden die in dieser Arbeit gesammelten Anweisungsdaten nicht vom Modell synthetisiert, sondern durch direkte Stichproben aus der Modellverteilung gewonnen, wodurch Probleme wie eine Überanpassung der Muster und eine Verzerrung der Ausgangsverteilung vermieden werden. Die Anweisungen können sich jedoch wiederholen, zweideutig, unklar oder zu einfach sein. Um diese Probleme zu lösen, de-duplizieren wir die Daten und verwenden ein Schiedsrichtermodell, um ihre Schwierigkeit zu bewerten. In dieser Arbeit wird der Schwierigkeitsgrad in vier Stufen eingeteilt: Exzellent, Gut, Durchschnittlich und Schlecht. Letztendlich verwenden wir nur die Anweisungen der Stufen Exzellent und Gut und nutzen den KcenterGreedy-Algorithmus zur weiteren Komprimierung der Anweisungsdaten.

2.3 Gewinn-Verlust-Entscheidung

Sowohl der Herausforderer als auch der Verteidiger müssen auf der Grundlage der Anweisungsdaten Antworten generieren, und ein Schiedsrichter (das verbleibende Modell) stimmt über den Gewinner ab:
blank Verlässt man sich jedoch nur auf Textit {lokale Bewertungen}, um Gewinner auszuwählen, kann das Problem des Zufalls auftreten. Da die Abstimmung durch Faktoren wie Zufall oder Voreingenommenheit der Bewerter beeinflusst werden kann, kann ein schwächeres Modell unter bestimmten Anweisungen mehr Stimmen erhalten als ein stärkeres Modell, auch wenn seine Antworten nicht wirklich besser sind als die des stärkeren Modells.
Um dieses Problem zu lösen, berücksichtigt dieses Papier sowohl die lokale Kontingenz als auch die globale Konsistenz im Entscheidungsprozess. In diesem Papier wird das Konzept der globalen Punktzahl - Elo-Bewertung - eingeführt. Sie kann Veränderungen in der relativen Leistung des Modells umfassender widerspiegeln und die Leistung im Laufe der Zeit und über mehrere Bewertungen hinweg abdecken. Durch die Einführung des Elo-Ratings können sowohl die lokale Leistung eines Modells in einem einzelnen Spiel als auch seine globale Leistung über mehrere Runden hinweg im Bewertungsprozess berücksichtigt werden, wodurch ein robusteres und genaueres Maß für die Gesamtfähigkeit eines Modells bereitgestellt wird, was dazu beitragen kann, das Risiko zu verringern, dass ein schwächeres Modell aufgrund von Zufall und nicht repräsentativer Abstimmung gewinnt.
blank blank Die endgültige Antwortnote wird durch die Elo-Bewertung und die Stimmen der Jury gewichtet:
blank Jede Antwort wird mit den Antworten aller Mitspieler verglichen, so dass die Punktzahl die relative Stärke der aktuellen Antwort innerhalb der Gruppe darstellt.

2.4 Abschließende Schulung

In diesem Papier ist das Datenformat eine Anweisung, die Antwort jedes Teilnehmers und die jeder Antwort entsprechende Punktzahl. Dieses Datenformat kann verschiedene Nachschulungsmethoden unterstützen, wie SFT, DPO, KTO und so weiter. In dieser Arbeit wird SFT verwendet, und die Antwort mit der höchsten Punktzahl in der Gruppe wird als Gold-Ausgang verwendet, so dass WarriorCoder die Stärken jedes Teilnehmers in das Training integrieren und die Stärken aller Teilnehmer kombinieren kann.

 

03 Experimentell

3.1 Wichtigste Ergebnisse
Tabelle 1 zeigt die Leistung von WarriorCoder beim Codegenerierungs-Benchmark. Im Vergleich zu ähnlichen Arbeiten erreicht WarriorCoder SOTA bei HumanEval, HumanEval+, MBPP und MBPP+. Es ist erwähnenswert, dass WarriorCoder erstaunliche Ergebnisse erzielt, ohne dass ein privates großes Modell (z. B. GPT-4 usw.) erforderlich ist. blank Tabelle 1

WarriorCoder erzielt auch hervorragende Ergebnisse im Code Reasoning Benchmark und im Bibliotheksbenchmark. Wie aus den Tabellen 2 und 3 hervorgeht, schneidet WarriorCoder in den meisten der Metriken optimal ab und übertrifft sogar größere Modelle wie 15B und 34B. Dies beweist auch, dass die in dieser Arbeit vorgeschlagene Methode eine gute Generalisierung aufweist, die es dem Modell ermöglicht, viele verschiedene Fähigkeiten aus mehreren großen Modellen von Code-Experten zu erhalten. blank Tabelle 2 blank Tabelle 3

3.2 Datenanalyse

In diesem Papier werden auch die konstruierten Trainingsdaten analysiert und unter drei Gesichtspunkten untersucht: Abhängigkeit, Diversität und Schwierigkeit.
Abhängigkeit
Während frühere Arbeiten dazu tendieren, die Datenerweiterung auf der Grundlage einiger bestehender Codedatensätze (z. B.) zu erweitern, werden in dieser Arbeit völlig neue Daten von Grund auf neu erstellt. Wie in Abb. 5 gezeigt, berechnen die Autoren den Grad der Überschneidung (ROUGE-Metriken) zwischen den Trainingsdaten und den beiden häufig verwendeten Code-Datensätzen. Die überwiegende Mehrheit der Anweisungen hat ROUGE-Werte von weniger als 0,3 mit codealpaca und codeultrafeedback, was darauf hindeutet, dass sie sich inhaltlich erheblich von denen in den bestehenden Datensätzen unterscheiden. Bemerkenswert ist, dass keine der gefundenen Anweisungen eine ROUGE-Metrik über 0,6 aufweist, was ein weiterer Beweis dafür ist, dass diese Anweisungen aus der internen Verteilung des Experten-Makromodells stammen und nicht eine einfache Kopie oder Erweiterung der vorhandenen Trainingsdaten sind. Infolgedessen sind diese Anweisungen neuartiger und weisen einen höheren Grad an Unabhängigkeit auf, was für das Training besonders wertvoll ist. blank Abbildung 5

Tabelle 4 zeigt die Zusammensetzung der Trainingsdaten, die sieben verschiedene Codeaufgaben abdecken, weshalb WarriorCoder in der Lage ist, bei mehreren Benchmarks gut abzuschneiden. Es ist erwähnenswert, dass Code Reasoning nur 2,9% ausmacht, weshalb WarriorCoder bei den relevanten Benchmarks erstaunlich gut abschneidet. Dies zeigt, dass die in dieser Arbeit vorgeschlagene Methode ein großes Potenzial hat, und wenn die Daten ausgewertet werden, um die Schwächen des Modells zu beseitigen, kann das Modell noch leistungsfähiger werden. Darüber hinaus zeigt die Heatmap in Abb. 6 auch die Ergebnisse der Konfrontation der Kandidaten, selbst die stärksten Modelle haben manchmal eine schlechte Leistung, und WarriorCoder lernt nur von der Gewinnerantwort mit der höchsten Punktzahl unter der aktuellen Anweisung. blank Tabelle 4 blank Abbildung 6

Abbildung 7 zeigt den Schwierigkeitsgrad der von den verschiedenen Modellen generierten Anleitungen. Die Mehrheit der Instruktionen wird als gut eingestuft, mit Werten zwischen 6 und 8. Anweisungen, die als exzellent eingestuft werden (Werte von 9-10), machen nur einen kleinen Teil des Datensatzes aus, was darauf hindeutet, dass hochkomplexe oder fortgeschrittene Aufgaben relativ selten sind. Die Autoren schlossen Anweisungen mit einer Bewertung unter 6 aus dem Trainingssatz aus, da sie entweder zu einfach oder zu vage waren, was sich nachteilig auf die Trainingsphase ausgewirkt hätte und sogar die Leistung und Generalisierung des Modells hätte schwächen können. blank Abbildung 7


04 Verwandte Ressourcen

Obwohl die Autoren das Modell derzeit nicht zur Verfügung stellen, haben wir festgestellt, dass jemand die Arbeit der Autoren unter der folgenden Adresse bereits reproduziert hat:
Link zum Projekt: https://huggingface.co/HuggingMicah/warriorcoder_reproduce

CDN1
Darf nicht ohne Genehmigung vervielfältigt werden:Chef-KI-Austauschkreis " Microsofts ursprüngliches WizardLM-Team: Code großes Modell WarriorCoder, Leistung neue SOTA

Chef-KI-Austauschkreis

Der Chief AI Sharing Circle konzentriert sich auf das KI-Lernen und bietet umfassende KI-Lerninhalte, KI-Tools und praktische Anleitungen. Unser Ziel ist es, den Nutzern dabei zu helfen, die KI-Technologie zu beherrschen und gemeinsam das unbegrenzte Potenzial der KI durch hochwertige Inhalte und den Austausch praktischer Erfahrungen zu erkunden. Egal, ob Sie ein KI-Anfänger oder ein erfahrener Experte sind, dies ist der ideale Ort für Sie, um Wissen zu erwerben, Ihre Fähigkeiten zu verbessern und Innovationen zu verwirklichen.

Kontaktieren Sie uns
de_DE_formalDeutsch (Sie)