Step-DPO: schrittweise Präferenzoptimierung für langkettige Reasoning von LLMs

Mathematische Schlussfolgerung stellt für große Sprachmodelle (Large Language Models, LLMs) eine erhebliche Herausforderung dar, da eine umfangreiche und präzise Kette von Schlussfolgerungen erforderlich ist, um Genauigkeit zu gewährleisten. Die Korrektheit jedes einzelnen Schlussfolgerungsschritts ist entscheidend. Um diese Herausforderung anzugehen, zielen wir darauf ab, die Robustheit und Faktualität von LLMs durch das Lernen aus menschlichem Feedback zu verbessern. Allerdings hat die Direkte Präferenzoptimierung (Direct Preference Optimization, DPO) bei komplexen, langen mathematischen Schlussfolgerungsketten nur begrenzte Vorteile gezeigt, da Modelle, die DPO verwenden, Schwierigkeiten haben, feinabgestimmte Fehler in falschen Antworten zu identifizieren. Dieser Einschränkung liegt eine fehlende feinabgestimmte Prozessüberwachung zugrunde. Wir stellen eine einfache, effektive und dateneffiziente Methode namens Step-DPO vor, die einzelne Schlussfolgerungsschritte als Einheiten für die Präferenzoptimierung verwendet, anstatt Antworten global zu bewerten. Zusätzlich haben wir eine Datenkonstruktionspipeline für Step-DPO entwickelt, die die Erstellung einer hochwertigen Datensammlung mit 10.000 Paaren von schrittweisen Präferenzen ermöglicht. Wir beobachten zudem, dass in DPO selbstgenerierte Daten effektiver sind als von Menschen oder GPT-4 generierte Daten, da letztere eine aus der Verteilung abweichende Natur aufweisen. Unsere Ergebnisse zeigen, dass bereits 10.000 Präferenzdatenpaare und weniger als 500 Trainingsschritte mit Step-DPO eine fast 3%-ige Genauigkeitssteigerung auf dem MATH-Datensatz für Modelle mit über 70 Milliarden Parametern erzielen können. Insbesondere erreicht Step-DPO, angewendet auf Qwen2-72B-Instruct, auf den Testsets von MATH und GSM8K jeweils Ergebnisse von 70,8 % und 94,0 %, was eine Reihe geschlossener, kommerzieller Modelle, darunter GPT-4-1106, Claude-3-Opus und Gemini-1.5-Pro, übertreffen. Unser Code, die Daten und die Modelle sind unter https://github.com/dvlab-research/Step-DPO verfügbar.