Consistency LLM: Verwandelt LLMs in parallele Decoder und steigert die Inferenzgeschwindigkeit um bis zu 3,5×
(hao-ai-lab.github.io)- Bei langen Antworten ist autoregressives (AR) Decoding, das Tokens einzeln erzeugt, der zentrale Engpass für Latenz; CLLM ist ein Ansatz, dies auf paralleles Decoding in Blöcken von n Tokens umzustellen
- Consistency Large Language Models (CLLMs) werden durch Fine-Tuning vortrainierter LLMs darauf trainiert, einen beliebigen Zustand von n Tokens schnell auf denselben Fixpunkt abzubilden wie das AR-Greedy-Ergebnis
- Jacobi-Decoding konvergiert theoretisch zum selben Ergebnis wie AR-Greedy-Generierung, zeigte bei bestehenden LLMs jedoch nur eine begrenzte Beschleunigung von durchschnittlich 1,05× und war daher praktisch wenig attraktiv
- In Experimenten mit Spider, Human-Eval, GSM8k und MT-bench erreichte CLLM eine 2,4× bis 3,4× höhere Generierungsgeschwindigkeit und wurde als ähnlich gut oder besser als schnelle Inferenzmethoden wie Medusa2 und Eagle bewertet
- Da zur Inferenz weder zusätzliche Modellkomponenten noch Änderungen an der Zielmodell-Architektur nötig sind, lassen sich Geschwindigkeitsgewinne und Speichereffizienz zugleich erzielen
Der Decoding-Engpass, auf den CLLM zielt
- LLMs werden in vielen Bereichen wie Programmierung, Recht oder Gesundheitsberatung eingesetzt, erzeugen in der Inferenzphase aber üblicherweise Tokens einzeln per autoregressivem (AR) Decoding
- Je länger die Antwort, desto stärker steigt durch diese tokenweise Generierung die Latenz, was die für Nutzer spürbare Wartezeit erhöht
- Bestehende Verfahren für schnellere Inferenz verlangen oft Architekturänderungen, Hilfskomponenten oder Draft-Modelle, um mehrere Tokens zugleich zu erzeugen
Funktionsweise und Grenzen von Jacobi-Decoding
- Jacobi decoding basiert auf Jacobi- und Gauss-Seidel-Fixpunktiteration; für Greedy-Decoding wurde bewiesen, dass es zum selben Ergebnis wie AR-Generierung führt
- Sequenzielle Generierung wird dabei in ein System aus n Variablen und n nichtlinearen Gleichungen umformuliert, das sich per Jacobi-Iteration parallel berechnen lässt
- Der konkrete Ablauf ist wie folgt
- Ausgehend vom Eingabe-Prompt werden die nächsten n Tokens zufällig geraten
- Prompt und n-Token-Sequenz werden in das LLM gegeben und iterativ aktualisiert
- Wenn sich die Sequenz nicht mehr verändert, ist ein Fixpunkt (fixed point) erreicht
- Die finale n-Token-Sequenz konvergiert zu der Ausgabe, die AR-Decoding mit Greedy-Strategie erzeugt hätte
- Den Pfad von der anfänglichen Zufallsschätzung bis zum finalen AR-Ergebnis nennt man Jacobi-Trajektorie (Jacobi trajectory)
- Einfaches Jacobi-Decoding zeigt bei realen LLMs gegenüber AR-Decoding nur eine begrenzte Beschleunigung von durchschnittlich etwa 1,05×
- Ein AR-trainiertes LLM kann nach Fehlern in früheren Tokens spätere Tokens nur schwer korrekt vorhersagen
- Die meisten Jacobi-Iterationen korrigieren in der n-Token-Sequenz nur ein einziges Token, wodurch die Trajektorie lang wird
- Lookahead-Decoding und Speculative Decoding versuchen, die Ineffizienz von Jacobi-Decoding und klassischem AR-Decoding zu verringern, verursachen bei der Inferenz jedoch zusätzliche Speicherkosten
Das Lernziel von Consistency LLM
- CLLM passt ein vortrainiertes LLM so an, dass es sich von einem beliebigen Punkt auf der Jacobi-Trajektorie konsistent zum Fixpunkt bewegt
- Dieses Ziel ähnelt dem von consistency models, einer Beschleunigungstechnik für Diffusionsmodelle
- Mithilfe von auf dem Zielmodell gesammelten Jacobi-Trajektorien wird das Modell mit einem Loss trainiert, der Konvergenz in einem einzigen Schritt während der Jacobi-Iteration fördert
- Das Training zur Umwandlung eines Zielmodells in ein CLLM besteht aus zwei Teilen
- Vorbereitung der Jacobi-Trajektorien
- Für jeden Prompt wird Jacobi-Decoding für alle abgeschnittenen Segmente in n-Token-Blöcken sequentiell ausgeführt
- Die vollständige Antwortsequenz besteht aus aneinandergereihten aufeinanderfolgenden Fixpunkten
- Jede auf der Trajektorie erzeugte Sequenz wird als ein Trainingseintrag behandelt
- Um bei langen Antworten Verlangsamungen durch die Auswertung sehr langer Eingaben zu vermeiden, wird in n-Token-Blöcke geschnitten
- Gemeinsame Optimierung von Consistency Loss und AR Loss
- Der Consistency Loss soll das Modell dazu bringen, mehrere Tokens auf einmal vorherzusagen
- Der AR Loss hilft, die Generierungsqualität zu erhalten, indem er verhindert, dass sich das CLLM von der Verteilung des Ziel-LLM entfernt
- Vorbereitung der Jacobi-Trajektorien
Aufbau der Loss-Funktion
- Das Ziel-LLM wird als
p, das CLLM alsqθbezeichnet;qθwird mit den Parametern vonpinitialisiert - Der Global consistency (GC) loss veranlasst das CLLM, bei Eingabe eines beliebigen Zustands
yauf der Jacobi-Trajektorie den Fixpunkty*auszugeben - Der Local consistency (LC) loss stimmt benachbarte Zustände
y(j)undy(j+1)auf der Jacobi-Trajektorie so ab, dass sie dieselbe Ausgabe liefern - Die Distanz
D(·||·)zwischen Verteilungen folgt den im GKD-Verfahren diskutierten Optionen; in den Experimenten wurde überwiegend forward KL verwendet - Der AR loss wendet auf Basis des vom Ziel-LLM
perzeugten Ergebnisseslden klassischen autoregressiven Loss an, um ein Abweichen von der Ziel-LLM-Verteilung zu verhindern - Der gesamte Trainings-Loss besteht aus dem Consistency Loss plus dem mit Gewicht
wversehenen AR Loss
Versuchsaufbau und Ergebnisse
- Die Experimente umfassen drei spezialisierte Domänenaufgaben und einen Open-Domain-Dialog-Benchmark
- Spider: Text-to-SQL
- Human-Eval: Python-Codevervollständigung
- GSM8k: Mathematik
- MT-bench: Open-Domain-Dialog
- Je nach Aufgabe wurden als Zielmodelle ein fine-getuntes Coder-LLM, Deepseek-coder-7B-instruct, LLaMA-2-7B und ABEL-7B-001 verwendet
- Training und Evaluation wurden vollständig auf Servern mit NVIDIA A100 40GB durchgeführt
- In den spezialisierten Domänen zeigte CLLM im Vergleich zu Baselines wie dem ursprünglichen Zielmodell, Medusa2 und Speculative Decoding die größte Geschwindigkeitssteigerung
- Bei MT-bench erreichte ein auf dem ShareGPT-Datensatz mit LLaMA2-7B trainiertes CLLM in Kombination mit Lookahead-Decoding eine ähnliche Beschleunigung wie Medusa2
- Auch der MT-bench-Score lag auf vergleichbarem Niveau
- CLLM erfordert keine Änderungen an der ursprünglichen Architektur des Zielmodells
- Durch das Fehlen zusätzlicher Komponenten ist die Speichereffizienz hoch
Trainingskosten
- Die Kosten für das Fine-Tuning von CLLM werden als moderat beschrieben
- LLaMA-7B erreichte auf dem Spider-Datensatz nach Verarbeitung von nur etwa 1 Million Tokens eine Beschleunigung von 3,4×
- Bei großen Datensätzen wie CodeSearchNet-Python wurden nur 10 % des Datensatzes zur Erzeugung von Jacobi-Trajektorien genutzt und dennoch rund 2,5× Beschleunigung erzielt
- Die Gesamtzahl der Tokens wird mit der folgenden Formel geschätzt
- durchschnittliche Zahl der Trajektorien pro Prompt × durchschnittliche Trajektorienlänge × Zahl der Prompts
- Die geschätzten Trainingskosten pro Datensatz sind wie folgt
- Spider: 2 Millionen Tokens,
< 0,01 %der Vortrainingskosten - CodeSearchNet-Python: 100 Millionen Tokens,
~0,1 %der Vortrainingskosten - GSM8K: 10 Millionen Tokens,
~0,01 %der Vortrainingskosten - ShareGPT: 200 Millionen Tokens,
~0,2 %der Vortrainingskosten
- Spider: 2 Millionen Tokens,
Fast Forwarding und stationäre Tokens
- Ein Ziel-LLM erzeugt in einer einzelnen Jacobi-Iteration normalerweise nur ein korrektes Token
- Bei CLLM tritt das Phänomen des Fast Forwarding auf, bei dem in einer einzigen Jacobi-Iteration mehrere aufeinanderfolgende Tokens korrekt vorhergesagt werden
- Beim Ziel-LLM kann es vorkommen, dass zuvor korrekt erzeugte Tokens in späteren Iterationen wieder zu falschen Tokens werden
- CLLM zeigt die Fähigkeit, trotz Fehlern in früheren Tokens korrekte Tokens vorab vorherzusagen und diese auch in späteren Iterationen beizubehalten
- Solche Tokens werden stationäre Tokens (stationary tokens) genannt
- Fast Forwarding und stationäre Tokens sorgen dafür, dass Jacobi-Decoding mit CLLM schneller konvergiert und damit die Generierung beschleunigt
Lernen sprachlicher Muster
- Es wurde beobachtet, dass CLLM im Training das sprachliche Konzept der Kollokationen (collocations) erlernt
- Kollokationen sind Folgen von Wörtern oder Begriffen, die häufiger gemeinsam auftreten als es dem Zufall entspräche
- Beispiele für Kollokationen gibt es sowohl in natürlicher Sprache als auch in Code
- Natürliche Sprache:
talk to,remind … of … - Verb+Nomen-Strukturen:
make a decision,catch a cold - Domänenspezifische Grammatikstrukturen:
SELECT … FROM …,if … else
- Natürliche Sprache:
- Das Ziel der Consistency-Generierung bringt CLLM dazu, solche Strukturen an jedem Punkt der Jacobi-Trajektorie zu erschließen, und fördert so die gleichzeitige Vorhersage mehrerer Wörter, um die Zahl der Iterationsschritte zu verringern
Material und Code
- Weitere Details finden sich im Paper
- Die Implementierung ist als Codebasis verfügbar
- Auch CLLM checkpoints wurden veröffentlicht
1 Kommentare
Hacker-News-Kommentare
Das erinnert an meine Erfahrung in einem Kurs für „freies Zeichnen“ (ohne Unterricht)
Schon als Kind hieß es, ich könne gut zeichnen, aber tatsächlich habe ich damals meist ähnliche detaillierte Zeichnungen, die ich schon früher gemacht hatte, einfach wiederholt oder sehr viel Zeit investiert. Ich denke, mit genug Zeit und Geduld kann praktisch jeder eine Szene ziemlich überzeugend zeichnen
Im Kurs gab es keine Regeln und keinen Unterricht, und jeder brachte die Materialien mit, die er wollte. Manche hatten Tinte dabei, andere Bleistifte, ich selbst Zeichenkohle, und das Einzige, was feststand, war die Zeit zwischen den Model-Posen. Die ersten Posen waren mit etwa einer Minute sehr kurz, dann wurden sie nach und nach länger bis zu 5-Minuten-Posen, und man konnte eine Zeichnung jederzeit zerreißen und dieselbe Pose noch einmal zeichnen
Kurze Warm-ups zwangen einen in der Praxis dazu, Proportionen und Umrisse gleich beim ersten Versuch richtig zu treffen, und entgegen der verbreiteten Annahme, dass Eile alles ruiniert, scheint Ungeduld beim Lernen oder Verfeinern einer Fähigkeit als Stressfaktor zu wirken, der Aufmerksamkeit und Lernen fördert
Ich bin sicher, ich hätte schon vor dem Kurs Zeichnungen in ähnlicher Qualität hinbekommen, aber es hätte 5- bis 10-mal länger gedauert. Dass man nicht endlos herumlavieren konnte und die Folgen übereilter Fehler direkt spürte, war wirksam
Ich finde es aber etwas schade, diese Technik Consistency zu nennen. Für Leistungsverbesserungen passt der Name, für Verbesserungen der Inferenzgeschwindigkeit weniger. Ich verstehe zwar, dass damit „Konsistenz mit dem Ergebnis gemeint ist, das am Ende bei Token-für-Token-Generierung herausgekommen wäre“. Ich würde es lieber Proficiency LLM nennen: gleiche Ausgabe erwartet, aber ohne das stockende Herantasten an dieselbe Schlussfolgerung
Beim Zeichnen kann man für jeden Versuch eine erlaubte Zeit festlegen und sie schrittweise verkürzen. Bei CLLM könnte man den Trainingsprozess wohl schwieriger machen, indem man Zustände, die auf der Jacobi-Trajektorie immer weiter entfernt liegen, auf den Endzustand abbildet
Der Begriff „consistency“ wurde übernommen, um die Ähnlichkeit zwischen dem Consistency Model bei der diffusionsbasierten Bildgenerierung und Consistency LLM hervorzuheben, weil die Trainingsprozesse einander ähneln
Die Studierenden gingen ins Labor, bekamen ein Präparat, und die einzige Anweisung lautete: „Zeichnet das in 30 Minuten. Los.“
Es gab keine Hinweise wie „So zeichnet man“ oder „Mach dies und lass das“, im Grunde eher: „Es ist egal, ob du nervös bist oder glaubst, du könntest nicht zeichnen. Keine Ausreden, zeichne einfach. Jetzt.“
Wir haben alle gezeichnet, und im Lauf des Sommers kamen mehr Tiere dazu, wir wiederholten dieselbe Übung, und alle wurden enorm besser
Dieser Kurs hat gezeigt, dass jeder, wirklich jeder, zeichnen kann. Die kollektive Haltung wandelte sich von „Ich weiß nicht mal, ob das möglich ist“ zu „Natürlich kann ich das. Es ist leicht, alltäglich und nichts Besonderes“
Ein Ansatz, den ich sehr empfehlen würde, und einer der befreiendsten und erstaunlichsten Kurse, die ich an der Universität besucht habe
Die Autoren sagen, Jacobi-Decoding sei dasselbe wie greedy autoregressives Decoding, aber in der Praxis möchte man die Sampling-Temperatur doch oft über 0 setzen, um Wiederholungen und zu generische Antworten zu vermeiden, oder?
Ich kenne diese Decoding-Strategie überhaupt nicht, also übersehe ich vielleicht eine einfache Möglichkeit, das zu berücksichtigen
Im Kontext des CLLM-Trainings sprechen wir statt eines statischen Fixpunkts, der durch Jacobi-Decoding erhalten wird und auf das Trainingsziel gemappt wird, von einem dynamischen Fixpunkt. Wer Neues dazu sehen will, sollte das GitHub-Repository im Auge behalten
Ein Fine-Tuning-Schritt, bei dem gelernt wird, dass sich die Trajektorie einer n-Token-Vervollständigung mit den gewünschten Statistiken annähert, wäre wohl weiterhin möglich, aber ich bin mir nicht sicher, wodurch sich der Schritt der Fixpunkt-Prüfung ersetzen ließe. Vielleicht etwas wie „prüfen, ob es bezüglich der Likelihood über diesem festen Schwellenwert lag“
Das wirkt wie eine ziemlich riskante Optimierung, wenn man sie macht, bevor man wirklich versteht, was im Inneren eines LLM passiert. Wer etwa an eine geometrische Interpretation glaubt, hätte dazu wohl einiges zu sagen, und bei der Verwendung von „Füll“-Token könnte das sogar schädlich sein
Außerdem ist die Annahme „Im Kopf wird erst ein vollständiger Satz gebildet und dann Wort für Wort ausgesprochen“ keine allgemeine Tatsache, sondern eben nur eine Annahme, und sie scheint das, was in unserem Geist geschieht, stark zu vereinfachen. Haben wir wirklich einen vollständigen Plan, bevor wir sprechen oder tippen? Als Buddhist würde ich sagen, das kommt einer Illusion nahe. Und was ist mit gleichzeitigen Gedanken? Denken wir auf Satzebene linear?
Wie auch immer, die Mathematik ist ziemlich cool
Wir sollten LLMs nicht als irgendeine magische Sache behandeln, die unserem Geist ähnelt. Es ist einfach nur ein weiteres Programm, das plausibel klingende Sätze erzeugt
Wenn man Menschen bittet, ein komplexes vergangenes Ereignis auf mehrere Arten zu schildern, fügen sie oft mitten im Satz schnell Fragmente, Ergänzungen oder Abschweifungen ein, um die ganze Bandbreite des Ereignisses abzudecken. Ich glaube nicht, dass ich die Hypothese einer Granularität auf Satzebene je in einem ernsthaften wissenschaftlichen Kontext gesehen habe
Manchmal gerate ich mitten im Satz in eine grammatische Sackgasse und muss den Gedanken mit einem unbeholfenen Wort oder einer merkwürdigen Wendung zu Ende bringen, oder ich breche einfach ab und fange von vorn an
Es gibt auch keinen klaren Grund, warum dieses Phänomen ausgerechnet auf Satzebene plötzlich zusammenbrechen sollte
Es ist fast überraschend, dass das nicht mehr Aufmerksamkeit bekommt. Das scheint ein klarer Gewinn bei der Inferenzleistung zu sein.
Die Kosten für dieses Fine-Tuning sind vernünftig und liegen bei etwa 0,01 % der ursprünglichen Pretraining-Kosten. Auch die Leistungsgewinne wirken ziemlich konsistent.
Ich kenne kaum eine andere Arbeit, die vorgeschlagen hat, die LLM-Inferenzleistung in diesem Ausmaß zu steigern. Gab es so etwas schon früher?
Das gilt umso mehr, wenn dabei zumindest die Ausgabequalität erhalten bleibt, nicht nur die Query-Latenz, sondern auch der Gesamtdurchsatz verbessert wird, keine zusätzliche Rechenleistung nötig ist und die Implementierung vergleichsweise praktikabel bleibt, ohne große zusätzliche Komplexität einzuführen.
Da es auf Arbeiten zu parallelem/Jacobi-Decoding aufbaut, könnte man die Einsicht selbst als inkrementell bezeichnen. Frühere Ergebnisse waren ebenfalls nötig und wichtig, aber dieses Resultat könnte dasjenige sein, das aus dem Potenzial des parallelen Decodings tatsächlich realen Nutzen zieht.
Deshalb ist diese Arbeit wirklich interessant, und soweit ich weiß, wurde Ähnliches früher schon versucht, wenn auch mit weniger Erfolg, aber wie groß der tatsächliche Einfluss sein wird, ist noch nicht klar.
Mit mehr Daten steigt die Geschwindigkeit weiter, weil das Modell aus häufiger vorkommenden Kollokationen und Formulierungen lernen kann.
Einzelheiten stehen im Paper, und dort sieht man auch, dass die Geschwindigkeitsgewinne mit wachsender Trainingsdatenmenge irgendwann sättigen.
Zuerst dachte ich, das sei eine Arbeit aus der Medusa-Familie, die den unembed head zusätzlich nutzt, um Folgetokens vorherzusagen, aber das war es überhaupt nicht.
Wirklich beeindruckend. Es werden keine zusätzlichen Parameter verwendet, sondern einfach nur ein zusätzlicher Trainings-Loss.
Trainingsmethode und Decoding-Methode sind völlig unterschiedlich, und wie du angemerkt hast, benötigt CLLM weder zusätzliche Parameter noch das Setzen von Attention-Masks für baumbasierte Verifikation.
Man wird wohl bald erkennen, dass man Modelle gar nicht unbedingt trainieren muss.
Was man braucht, sind gute Indexierung und Sampling.
Im Kern kann man auf einer gewissen Ebene alle LLMs als so etwas wie eine Datenbank des Datensatzes sehen, über die eine hervorragende natürlichsprachliche Schnittstelle gelegt wurde.
Beides sind nur unterschiedliche Wege, gespeicherte Daten zu durchsuchen.
Ein LLM durchsucht keine gespeicherten Daten. Ein LLM ist keine Datenbank der Trainingsdaten.
https://news.ycombinator.com/item?id=40266791
Gibt es irgendwo einen Ort, an dem jemand wie ich, der sich nicht gut auskennt, „AI experts fragen“ kann?
Ich würde zum Beispiel gern verstehen, warum ein LLM bei gleichem Prompt nicht immer auf dieselbe deterministische Weise antwortet.
Ich möchte das lernen und sollte vielleicht solche YouTube-Videos wie „Baue ein LLM in 1 Stunde“ durcharbeiten.
Im Auswahlprozess kann es mehrere Stellschrauben geben, mit denen die Antwort beeinflusst wird. Wenn du es deterministisch machen willst und direkten Zugriff auf die Software hast, kannst du je nach verwendeter Software
top-k = 1odertemperature = 0.0setzen, dann wird es deterministisch.Standardmäßig ist das meist nicht deterministisch, weil die Ergebnisqualität bei vollständig deterministischem Verhalten tendenziell schlechter ist.
LLM-Modelle geben einen Wahrscheinlichkeitsvektor über Tokens aus, und der Nutzer eines LLM wählt mithilfe von Zufall ein Token aus einer Liste wahrscheinlicher Kandidaten.
Du gibst einen Prompt ein, es berechnet die Wahrscheinlichkeit für das nächste Wort, und dieser Prozess wird wiederholt, bis schließlich ein Satz entsteht. Die gelernten Wahrscheinlichkeiten basieren auf den Trainingsdaten.
Wegen dieses zugrunde liegenden Wahrscheinlichkeitsmodells ist es nicht zu 100 % deterministisch. Außerdem haben Modelle wie ChatGPT absichtlich einen
temperature-Parameter, um dem gesamten Prozess Zufälligkeit hinzuzufügen.Wenn du mehr lesen willst: Diese Antwort basiert auf folgendem Paper: The Matrix: A Bayesian learning model for LLMs, https://arxiv.org/abs/2402.03175
Wenn man die Temperatur jedoch so weit wie möglich absenkt, sinkt die Antwortqualität meist stark. Das System kommt dann aus einem lokalen Optimum nicht mehr heraus und beginnt sich zu wiederholen. Solche Antworten mögen „deterministisch“ sein, aber gut sind sie nicht.
https://writings.stephenwolfram.com/2023/02/what-is-chatgpt-...
Ein kostenloses Mittagessen gibt es nicht, also gibt es hier meiner Ansicht nach auch irgendeine Form von Pfadverlust.
Zum Beispiel schließen einige Jacobi-Trajektorien per Definition Pfade mit höherer Temperatur aus. Aus Sicht der Datensuche könnte das sogar positiv sein, aber wenn man Kreativität maximieren will, könnte es negativ sein.
Ich bin mir nicht sicher, ob „Es gibt kein kostenloses Mittagessen“ hier immer besonders sinnvoll anwendbar ist. Manche Dinge liegen einfach nicht auf der Pareto-Front.
Mich würde eine genauere Erklärung zu der Aussage interessieren, dass die „Speculative-Decoding-Methode während der Inferenz zusätzliche Speicherkosten verursacht“.
Beim Speculative Decoding erzeugt ein kleineres Modell schnellere, aber möglicherweise ungenaue „Zweige“, die anschließend von einem großen Modell verifiziert werden. Dafür wird jedoch nur Speicher für ein einzelnes Token benötigt; Tokens aus anderen Zweigen werden während der Inferenz einfach maskiert. Bei einer Kontextgröße von 1000 und etwa 30 Zweigen mit jeweils 5 Tokens beträgt der Speicher-Overhead rund 3 % und ist damit vernachlässigbar. Falls die Kontextgröße im Verhältnis zur Zahl der Zweige viel kleiner wäre, frage ich mich, ob Nutzer eines generativen LLM mit nur einem 50-Token-Kontextfenster sich überhaupt um die Generierungsgeschwindigkeit kümmern würden.
Außerdem ist Speculative Decoding nicht auf Greedy Sampling beschränkt. Es sollte sich exakt wie das ursprüngliche Modell verhalten und mit der erwarteten Wahrscheinlichkeit sampeln. Der Großteil der Literatur zu Speculative Decoding berichtet bereits von einer 2,6- bis 3,5-fachen Beschleunigung. Dieser Blogbeitrag nennt eine 2,4- bis 3,4-fache Generierungsgeschwindigkeit, daher bin ich nicht sicher, ob das wirklich ein so großes Upgrade ist.
Oben wurde bereits Speculative Decoding erwähnt, und die vom Autor verglichenen Techniken scheinen Medusa2 und Eagle zu sein, aber das Kernproblem bleibt dasselbe. Unabhängig davon, welche Methode zur Vorhersage von Tokens im Voraus verwendet wird, gibt es bestimmte Punkte, an denen das vorherige Token zwingend benötigt wird, bevor das nächste vorhergesagt werden kann. Das ist kein Problem des Modells oder der Technik, sondern eine Frage dessen, was mathematisch möglich ist. Wenn die Wahrscheinlichkeitsverteilung des fünften nächsten Tokens stark von den vier vorherigen Tokens abhängt, wie soll man dann 5 Tokens auf einmal vorhersagen? Das gilt gleichermaßen für Speculative Decoding, Jacobi Decoding und paralleles Multi-Token-Decoding.
Wenn diese Methode nur Greedy Sampling unterstützt, frage ich mich, worin genau ihr Vorteil besteht. Das gilt umso mehr, wenn man berücksichtigt, dass andere Techniken die erwartete Beschleunigung bereits erreichen. Eine Beschleunigung bei Greedy Sampling mit einer Beschleunigung bei zufälligem Sampling zu vergleichen, ist wie Äpfel mit Birnen zu vergleichen, und selbst wenn man diese Methode für zufälliges Sampling anpasst, bezweifle ich, dass wegen des oben genannten Kernproblems dieselbe Beschleunigung erhalten bleibt.
Durch consistency training könnte gezeigt worden sein, dass ein LLM die nächsten n Tokens auch dann vorhersagen kann, wenn es bei vorherigen Tokens falsche Vermutungen gibt.
Mathematisch ist es zwar korrekt, dass p(x_t|x_1,...,x_t-1) von allen x_1 bis x_t-1 abhängt, aber in der Praxis kann es sein, dass zur Vorhersage von x_t nur x_1 bis x_t-2 benötigt werden und die Attention auf x_t-1 vernachlässigbar ist. Daher könnte x_t auch auf Basis von x_1 bis x_t-2 und einem ungenauen x_t-1 vorhergesagt werden.
Interessanter Inhalt. Wahrscheinlich eine Idee, die vielen schon einmal gekommen ist, aber der Text und die Präsentation waren gut aufbereitet.