Consistency LLM: Umwandlung von LLMs in parallele Decoder steigert die Inferenzgeschwindigkeit um das 3,5-Fache
(hao-ai-lab.github.io)Consistency Large Language Models (CLLM)
- LLMs wurden traditionell als sequenzielle Decoder betrachtet, die Tokens nacheinander dekodieren
- Dieser Blog zeigt, dass vortrainierte LLMs sich leicht in effiziente parallele Decoder umwandeln lassen
- Consistency Large Language Models (CLLM) sind eine neue Familie paralleler Decoder, die in jedem Inferenzschritt effizient Sequenzen aus n Tokens dekodieren und so die Inferenzlatenz verringern können
- CLLM ahmt den kognitiven Prozess nach, bei dem Menschen vor dem Sprechen einzelner Wörter im Kopf einen vollständigen Satz bilden, und kann effektiv trainiert werden, indem ein vortrainiertes LLM lediglich feinabgestimmt (fine-tuning) wird
- CLLM wird so trainiert, dass es eine zufällig initialisierte Sequenz aus n Tokens mit möglichst wenigen Schritten auf dasselbe Ergebnis abbildet wie autoregressives (autoregressive, AR) Dekodieren, indem es paralleles Dekodieren ausführt
- Versuchsergebnisse zeigen, dass CLLM gegenüber bestehenden AR-Decodern die Generierungsgeschwindigkeit um das 2,4- bis 3,4-Fache steigert und mit schnellen Inferenzmethoden wie Medusa2 oder Eagle vergleichbar oder ihnen überlegen ist
- CLLM kann diese Leistungssteigerung ohne zusätzliche Speicherkosten erreichen
Hintergrund und Grenzen des Jacobi-Decodings
- Da LLMs im AR-Dekodierungsverfahren Tokens einzeln erzeugen, entsteht bei langen Antworten eine hohe Latenz
- Jacobi-Decoding stammt aus den Jacobi- und Gauss-Seidel-Lösungsverfahren für nichtlineare Gleichungen und es wurde bewiesen, dass es äquivalent zur AR-Generierung mit greedy sampling ist
- Jacobi-Decoding formuliert den sequenziellen Generierungsprozess als ein System aus n nichtlinearen Gleichungen mit n Variablen auf Basis von Jacobi-Iterationen um, wodurch Parallelverarbeitung möglich wird
- In jedem Iterationsschritt kann mindestens ein korrektes Token vorhergesagt werden, was AR-Dekodierung potenziell beschleunigen kann
- In der Praxis erzeugen auf AR trainierte LLMs jedoch bei Fehlern in vorhergehenden Tokens kaum korrekte Tokens, weshalb in den meisten Jacobi-Iterationen für die n-Token-Sequenz nur eine Korrektur erfolgt und dadurch längere Jacobi-Trajektorien entstehen
- Lookahead-Decoding oder speculative decoding versuchen diese Ineffizienz des Jacobi-Decodings zu mildern, verursachen bei der Inferenz jedoch zusätzliche Speicherkosten, was bei CLLM nicht der Fall ist
Trainingsmethode von CLLM
- Das Training von CLLM besteht im Wesentlichen aus zwei Teilen: der Vorbereitung von Jacobi-Trajektorien sowie der Optimierung von Consistency- und AR-Loss
- In der Phase zur Vorbereitung der Jacobi-Trajektorien wird Jacobi-Decoding sequenziell in Blöcken von jeweils n Tokens durchgeführt, bis die vollständige Antwortsequenz mit l Tokens erzeugt ist; die in jeder Trajektorie erzeugte Sequenz wird dabei als ein Datenelement betrachtet
- Im Training werden Consistency-Loss und AR-Loss gemeinsam optimiert: Der Consistency-Loss stellt sicher, dass mehrere Tokens gleichzeitig vorhergesagt werden, während der AR-Loss verhindert, dass CLLM vom Ziel-LLM abweicht, und so die Generierungsqualität erhält
- Der Global consistency (GC) Loss minimiert den Abstand zwischen einem beliebigen Punkt einer Jacobi-Trajektorie und dem Fixpunkt, sodass CLLM dazu angeregt wird, den Fixpunkt von jedem Punkt der Jacobi-Trajektorie aus vorherzusagen
- Der Local consistency (LC) Loss sorgt dafür, dass benachbarte Zustände einer Jacobi-Trajektorie dieselbe Ausgabe erzeugen
- Der AR-Loss umfasst den traditionellen AR-Loss auf Basis der Generierungsergebnisse des Ziel-LLM; das Ziel ist, zu verhindern, dass CLLM von der Verteilung des Ziel-LLM abweicht
Experimentelle Ergebnisse
- Die Experimente umfassten spezialisierte Domänenaufgaben wie Spider (text-to-SQL), Human-Eval (Python-Code-Vervollständigung) und GSM8k (Mathematik) sowie breit angelegte offene Dialog-Challenges wie MT-bench
- CLLM erzielte gegenüber dem Zielmodell die größte Geschwindigkeitssteigerung und erreichte ohne zusätzliche Inferenzkosten eine ähnliche oder bessere Beschleunigung als Medusa2
- Auf MT-bench erreichte CLLM nahezu dieselbe Beschleunigung wie in Kombination mit Medusa2, bot dabei jedoch höhere Anpassungsfähigkeit und bessere Speichereffizienz
- Die Kosten für das Fine-Tuning von CLLM sind moderat; selbst bei großen Datensätzen konnte durch Nutzung von nur etwa 10 % des Datensatzes zur Erzeugung der Jacobi-Trajektorien eine Beschleunigung um etwa das 2,5-Fache erzielt werden
- CLLM kann durch das Phänomen des fast forwarding mehrere aufeinanderfolgende Tokens in einer einzigen Jacobi-Iteration korrekt vorhersagen
- CLLM zeigt mit seiner Fähigkeit zu stationären Tokens, dass es korrekte Tokens im Voraus vorhersagen und unverändert beibehalten kann, selbst wenn vorhergehende Tokens fehlerhaft sind
- Durch das Training erlernt CLLM zentrale sprachliche Konzepte wie Kollokationen (collocation), wodurch es an jedem Punkt einer Jacobi-Trajektorie Strukturen erschließen und mehrere Wörter gleichzeitig vorhersagen kann, um die Anzahl der Iterationsschritte zu minimieren
Meinung von GN⁺
-
CLLM scheint das Problem der langen Latenzzeiten des bestehenden AR-Dekodierungsverfahrens von LLMs mithilfe von Jacobi-Decoding effektiv zu lösen. Besonders beeindruckend ist, dass die Geschwindigkeitssteigerung durch parallelisiertes Decoding ohne zusätzliche Speicherkosten erreicht wird
-
Die Trainingsmethode von CLLM wirkt vergleichsweise einfach, da bestehende LLMs über Consistency-Loss feinabgestimmt werden. Bedeutend erscheint jedoch, dass dabei mit Kollokationen (collocation) eine wichtige Eigenschaft von Sprache erlernt wird, die die Leistung des parallelen Decodings deutlich verbessert
-
Allerdings setzt CLLM greedy sampling voraus, daher scheint weitere Forschung nötig, um zu prüfen, ob es auch mit vielfältigeren Decoding-Strategien gut funktioniert. Außerdem beschränken sich die aktuellen Experimentergebnisse auf Englisch, sodass auch die Generalisierbarkeit auf verschiedene Sprachen noch überprüft werden sollte
-
CLLM wirkt als praktischer Ansatz, um die Antwortgeschwindigkeit von LLMs zu erhöhen. Es dürfte sich gut für Aufgaben mit Echtzeitanforderungen wie Websuche oder Chatbots eignen
-
Persönlich liegt die Erwartung nahe, dass sich das Consistency-Training von CLLM nicht nur auf LLMs wie GPT, sondern auch auf andere generative Modelle wie Bildgenerierungs- oder Sprachsynthesemodelle anwenden lassen könnte. Es bleibt zu hoffen, dass die Idee von CLLM künftig zur Effizienzsteigerung verschiedenster generativer Modelle beitragen kann
1 Kommentare
Hacker-News-Kommentare