Bytespringen Seed
Das Team hat ein neues Produkt namens Seed Diffusion Preview
Bei dem Modell handelt es sich um ein experimentelles Sprachmodell für die Codegenerierung. Das Modell basiert auf Techniken der diskreten Zustandsdiffusion und erreicht eine Inferenzgeschwindigkeit von 2146 Token/s, was 5,4-mal schneller ist als ein autoregressives Modell derselben Größe, während es in mehreren Kerncode-Benchmarks eine vergleichbare Leistung aufweist.
Dieses Ergebnis setzt einen neuen Maßstab für die Pareto-Grenze für Geschwindigkeit und Qualität bei der Code-Modellierung und zeigt das große Potenzial der diskreten Diffusionsmethoden im Bereich der Code-Generierung.
Die "Geschwindigkeitsfessel" der autoregressiven Modellierung
Die meisten der derzeit gängigen Modelle zur Codegenerierung verwenden eine autoregressive Architektur, die den nächsten Code nach und nach vorhersagt. Token Dies ist vergleichbar mit der "wortwörtlichen Ausgabe" beim menschlichen Schreiben. Dieser Mechanismus gewährleistet die Kohärenz des Codes, schafft aber auch einen unüberwindbaren Geschwindigkeitsengpass. Da die Erzeugung jedes Tokens vom vorherigen Token abhängt, kann der gesamte Prozess nicht effizient parallelisiert werden, was zu einer langsameren Verarbeitung langer Codesequenzen führt.
Seed Diffusion
Die Einführung des Diffusionsmodells war ein grundlegender Wendepunkt. Das Diffusionsmodell hat sich zunächst auf dem Gebiet der Bilderzeugung durchgesetzt und funktioniert eher wie ein "Unschärfe-zu-Klarheit"-Malprozess. Bei der Codegenerierung kann man mit einem verrauschten (oder "unscharfen") Bild beginnen. [MASK]
Der erste Schritt ist die parallele Wiederherstellung des vollständigen, strukturell korrekten Codes durch mehrstufiges "Denoising", ausgehend von der Vorlage (Tags). Theoretisch kann diese parallele Dekodierung die Generierungsgeschwindigkeit erheblich verbessern.
Seed Diffusion
die Geschwindigkeit der Schlussfolgerungen. Ein direkter Vergleich mit anderen Modellen ist aufgrund der unterschiedlichen Testbedingungen schwierig. Zum Beispiel.Mercury Coder
wurde mit einem proprietären Datensatz und H100-Hardware evaluiert, und die Gemini Diffusion
Die Geschwindigkeitsdaten werden dann aus einem gemischten Task-Benchmark auf unbekannter Hardware entnommen.
Die grundlegende Methodik hinter dem Geschwindigkeitsschub
Seed
Das Team führte mehrere Schlüsseltechnologien ein, um die theoretischen Vorteile der Diffusionsmodellierung in praktische Anwendungen umzusetzen.
Zweistufiges Lernen von der Musterfüllung bis zur logischen Bearbeitung
Die herkömmliche Art, Diffusionsmodelle zu trainieren, hat einen Nachteil: Die Modelle konzentrieren sich nur auf das Band [MASK]
Die Positionierung von Tags und das übermäßige Vertrauen darauf, dass ein anderer, nicht abgedeckter Code vollkommen korrekt ist, wird technisch als "falsche Korrelation" bezeichnet.
Um diese Einschränkung zu überwinden, entwickelte das Team eine zweistufige Lernstrategie:
- Phase 1: Maskenbasiertes Diffusionstraining. In dieser Phase lernt das Modell den lokalen Kontext und die festen Muster des Codes durch standardmäßige "fill-in-the-blank"-Aufgaben.
- Phase 2: Redaktionsbasiertes Diffusionstraining. In dieser Phase werden auf der Editierdistanz basierende Störungen (Einfüge- und Löschoperationen) eingeführt, die das Modell zwingen, alle Token zu überprüfen und zu korrigieren, einschließlich derjenigen, die ursprünglich nicht entdeckt wurden. Dadurch wird die Fähigkeit des Modells, die globale Logik des Codes zu verstehen und zu korrigieren, erheblich verbessert.
Die experimentellen Daten zeigen, dass das Modell nach der Einführung der zweiten Stufe der Ausbildung in der CanItEdit
Benchmarking in der pass@1
waren die Werte um 4,81 TP3T höher als beim autoregressiven Modell (54,3 gegenüber 50,5).
Beschränkte sequentielle Diffusion von verschmolzenen Codestrukturen a priori
Der Code wird, obwohl es sich um sequentielle Daten handelt, nicht streng von links nach rechts erzeugt. Er enthält starke kausale Abhängigkeiten, z. B. müssen Variablen deklariert werden, bevor sie verwendet werden. Bei einer völlig ungeordneten Generierung wird diese Struktur a priori ignoriert, was zu Leistungseinschränkungen führt.
Zu diesem Zweck schlägt das Team das "Constrained Order Training" vor. In der Nachtrainings-Phase lernt das Modell und folgt den korrekten Code-Abhängigkeiten durch Selbstdistillation und respektiert so die intrinsische Logik des Codes während des Generierungsprozesses.
In Strategisches Lernen und effizientes paralleles Dekodieren
Die theoretischen Vorteile der parallelen Dekodierung sind in der Praxis nur schwer zu realisieren. Der Rechenaufwand für eine einzelne parallele Inferenz ist hoch, und wenn die Gesamtzahl der Schritte reduziert wird, um den Aufwand auszugleichen, wird die Qualität der Generierung erneut geopfert.
Zu diesem Zweck schlug das Team das Paradigma des On-policy Learning vor. Ziel ist es, das Modell so zu trainieren, dass es seinen eigenen Generierungsprozess direkt optimiert, die Anzahl der Generierungsschritte minimiert und gleichzeitig die Qualität des Endprodukts beibehält. |τ|
. Seine Zielfunktion lautet wie folgt:
Lτ = E(x0,τ)∼D[log V(xτ) - λ * |τ|]
In der Praxis führt eine direkte Minimierung der Anzahl der Schritte zu einem instabilen Training. Stattdessen wählte das Team eine stabilere Proxy-Verlustfunktion, um das Modell zu einer effizienteren Konvergenz zu bewegen. Dieser Prozess ähnelt den "Pattern Filtering"-Techniken, die in der Literatur zur nicht-autoregressiven Generierung verwendet werden, bei denen ineffiziente oder minderwertige Generierungspfade implizit durch das Training "beschnitten" werden.
Von der Theorie zur technischen Verwirklichung
Um ein Gleichgewicht zwischen Berechnungen und Latenzzeiten zu erreichen, wird dieSeed
Das Team verwendete ein Chunked-Parallel-Diffusions-Stichprobenverfahren. Bei diesem Schema wird die kausale Reihenfolge zwischen den Chunks beibehalten, während die KV-caching
Techniken Informationen aus generierten Chunks wiederverwenden. Das Team hat auch die zugrunde liegende Infrastruktur optimiert, um parallele Schlussfolgerungen in Form von Chunks effizient zu unterstützen.
Experimentelle Ergebnisse und Marktaussichten
Bei der Prüfung der Generierungsaufgabe wird dieSeed Diffusion Preview
Das volle parallele Potenzial des Diffusionsmodells wird entfesselt, wobei eine 5,4-fache Beschleunigung gegenüber einem autoregressiven Modell derselben Größe erreicht wird.
Außerdem ging diese hohe Geschwindigkeit nicht auf Kosten der Qualität. In mehreren Benchmark-Tests der Branche wurde dasSeed Diffusion Preview
Die Leistung ist vergleichbar mit den besten autoregressiven Modellen und übertrifft diese sogar bei Aufgaben wie der Codebearbeitung.
Dieses Ergebnis legt nahe, dass die Seed Diffusion
Der diskrete Diffusionsansatz, der durch die diskrete Diffusionsmethode repräsentiert wird, hat nicht nur das Potenzial, das Grundgerüst für die nächste Generation generativer Modelle zu werden, sondern bietet auch breite Anwendungsmöglichkeiten. Für Entwickler bedeutet die 5,4-fache Beschleunigung eine reibungslosere Code-Vervollständigung in Echtzeit, eine schnellere Generierung von Unit-Tests und eine effizientere bug
Korrekturen, die die Erfahrung der kollaborativen Mensch-Computer-Programmierung radikal verbessern werden.
im Zuge von Seed Diffusion
Die weitere Erforschung des Projekts, sein Potenzial für die Anwendung bei komplexen Denkaufgaben und die Skalierungsgesetze werden weiter aufgedeckt werden.