Die Inhalte dieser Website wurden mithilfe künstlicher Intelligenz (KI) oder maschineller Übersetzungstechnologie übersetzt und können Fehler enthalten.

Skip to content
Artificial Intelligence
Programming Languages

SelfCodeAlign: Selbstausrichtung für die Codegenerierung

Author

Yuxiang Wei (Universität von Illinois Urbana-Champaign), Federico Cassano (Northeastern University und Cursor AI), Jiawei Liu (Universität von Illinois Urbana-Champaign), Yifeng Ding (Universität von Illinois in Urbana-Champaign), Naman Jain (Universität von Kalifornien, Berkeley), Zachary Mueller (Hugging Face), Harm de Vries (ServiceNow), Leandro von Werra (Hugging Face), Arjun Guha (Northeastern University und Roblox), Lingming Zhang (Universität von Illinois in Urbana-Champaign)

Venue

NeurIPS 2024

Abstract

Instruction Tuning ist ein überwachter Feinabstimmungsansatz, der die Fähigkeit großer Sprachmodelle (LLMs), menschlichen Anweisungen zu folgen, erheblich verbessert. Wir schlagen SelfCodeAlign vor, die erste vollständig transparente und flexible Pipeline zur selbstständigen Ausrichtung von Code-LLMs ohne umfangreiche menschliche Annotationen oder Destillation. SelfCodeAlign verwendet während des gesamten Datengenerierungsprozesses dasselbe Basismodell für die Inferenz. Zunächst extrahiert es verschiedene Programmierkonzepte aus hochwertigen Seed-Snippets, um neue Aufgaben zu generieren. Anschließend werden pro Aufgabe mehrere Antworten generiert, jeweils mit Testfällen gepaart und in einer Sandbox-Umgebung validiert. Schließlich werden erfolgreiche Beispiele für die Anweisungsoptimierung ausgewählt. In unseren primären Experimenten verwenden wir SelfCodeAlign mit CodeQwen1.5-7B, um einen Datensatz mit 74.000 Anweisungs-Antwort-Paaren zu generieren. Die Feinabstimmung auf diesem Datensatz führt zu einem Modell, das einen Wert von 67,1 % bei HumanEval+ erreicht und damit CodeLlama-70B-Instruct übertrifft, obwohl es zehnmal kleiner ist. Über alle Benchmarks hinweg übertrifft dieses feinabgestimmte Modell durchweg die Originalversion, die mit OctoPack trainiert wurde – der bisherigen State-of-the-Art-Methode für die Anweisungsoptimierung ohne menschliche Annotationen oder Destillation. Darüber hinaus zeigen wir, dass SelfCodeAlign bei LLMs verschiedener Größen von 3B bis 33B effektiv ist und dass die Basismodelle stärker von der Ausrichtung auf ihre eigene Datenverteilung profitieren können. Wir validieren zudem die Wirksamkeit jeder Komponente in unserer Pipeline und zeigen, dass SelfCodeAlign sowohl die direkte Destillation aus GPT-4o als auch führende GPT-3.5-basierte Destillationsmethoden wie OSS-Instruct und Evol-Instruct übertrifft. SelfCodeAlign hat zudem zur Entwicklung von StarCoder2-Instruct geführt, dem ersten vollständig transparenten, unter einer freizügigen Lizenz stehenden und selbstausgerichteten Code-LLM, das eine Codierungsleistung auf dem neuesten Stand der Technik erzielt.