Efficient On-Device Diffusion LLM Inference with Mobile NPU
Dieses Paper stellt llada.cpp vor, das erste NPU-bewusste Inferenz-Framework, das On-Device-Diffusions-LLMs durch den Einsatz von Multi-Block-Spekulativem-Dekodieren, Dual-Path-Progressiver-Revision und einer Swap-optimierten Memory-Runtime beschleunigt, um die Hardwarebeschränkungen mobiler Geräte zu überwinden und eine bis zu 42-fache Latenzreduktion im Vergleich zu CPU-Baselines zu erreichen.
Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
Stellen Sie sich vor, Ihr Smartphone wäre eine geschäftige Küche und der Koch (die KI) versucht, eine Geschichte zu schreiben.
Das Problem: Der langsame Koch, der Wort für Wort arbeitet
Traditionell schreiben KI-Modelle (wie die in Ihrem Telefon) Geschichten Wort für Wort. Es ist wie ein Koch, der erst eine Zwiebel schneiden muss, dann warten muss, bis der Herd heiß wird, dann eine Karotte schneidet und dann wieder warten muss. Selbst wenn der Herd leistungsstark ist, wird der Koch gezwungen, langsam zu arbeiten, weil er immer nur eine Sache gleichzeitig tun kann. Dies lässt das Generieren langer Texte auf einem Telefon träge wirken und verbraucht den Akku.
Die neue Idee: Der „Diffusions“-Koch
Eine neue Art von KI, genannt Diffusion Large Language Model (dLLM), versucht, anders zu sein. Anstatt Wort für Wort zu schreiben, beginnt sie mit einer ganzen Seite voller „Rauschen“ (zufälligem Kauderwelsch) und versucht, diese gleichzeitig in einen echten Satz zu bereinigen. Es ist wie ein Koch, der einen ganzen Haufen Zutaten auf die Arbeitsplatte wirft und versucht, sie gleichzeitig zu einem perfekten Salat anzuordnen.
Das klingt großartig, weil es die super-schnelle „NPU“ (Neural Processing Unit) Ihres Telefons – einen spezialisierten Chip, der für massive, parallele Berechnungen entwickelt wurde – viel besser ausnutzt. Es gibt jedoch einen Haken:
- Das „Leere-Pfannen-Problem“: Wenn der Koch dem Salat näher kommt, müssen weniger Zutaten korrigiert werden. Die leistungsstarke NPU wartet dann vergeblich, weil es nicht genug Arbeit gibt, was ihre Geschwindigkeit verschwendet.
- Das „Hoppla, ich ändere meine Meinung“-Problem: Manchmal arrangiert der Koch ein Wort, stellt dann aber fest: „Warte, das passt nicht zum nächsten Satz.“ Die KI muss dann zurückgehen und es korrigieren. Dies auf der schnellen NPU zu tun, ist unordentlich und verlangsamt alles.
- Das „Winzig kleine Kühlschrank-Problem“: Die NPU hat einen sehr kleinen, speziellen „Kühlschrank“ (Speicher), in dem sie die Zutaten bereit hält, um sie zu verarbeiten. Wenn das Rezept zu groß ist, muss der Koch ständig Zutaten hinein- und herauswechseln, was viel Zeit kostet und Energie verschwendet.
Die Lösung: llada.cpp
Die Autoren entwickelten ein neues System namens llada.cpp, um diese drei Probleme zu lösen. Betrachten Sie es als ein neues Set an Küchenregeln, das dem Koch ermöglicht, die leistungsstarke NPU effizient zu nutzen.
1. Multi-Block Speculative Decoding: „Einen Blick in das nächste Rezept werfen“
Die Analogie: Stellen Sie sich vor, der Koch bereitet gerade den aktuellen Salat fertig (Block A), aber die NPU wird gelangweilt, weil nur noch ein Blatt übrig ist, das geschnitten werden muss. Anstatt zu warten, sagt das System: „Hey, lass uns schon mal die Zutaten für den nächsten Salat (Block B) vorbereiten, nur für den Fall.“
Wie es funktioniert: Obwohl der aktuelle Block noch nicht zu 100 % fertig ist, beginnt das System heimlich, an zukünftigen Wörtern zu arbeiten. Dies hält die leistungsstarke NPU beschäftigt und voll ausgelastet, sodass sie nicht untätig herumsteht. Wenn die zukünftigen Wörter richtig sind, großartig! Wenn nicht, verwirft das System sie einfach und macht weiter.
2. Dual-Path Progressive Revision: „Die schnelle Spur vs. die langsame Spur“
Die Analogie: Die NPU ist ein Formel-1-Rennwagen: Er ist unglaublich schnell, kann aber keine engen Kurven fahren. Die CPU ist ein zuverlässiger, langsamer SUV: Sie eignet sich hervorragend für kleine, knifflige Anpassungen.
Wie es funktioniert: Wenn die KI sich bei einem Wort sicher ist, behält die NPU es bei. Aber wenn die KI unsicher ist und ein Wort „korrigieren“ muss, stoppt llada.cpp nicht den schnellen NPU-Rennwagen. Stattdessen schickt es die „Reparaturarbeit“ im Hintergrund diskret an den langsameren, aber flexibleren CPU-SUV. Die NPU rast währenddessen mit den neuen Wörtern weiter nach vorne, während die CPU im Hintergrund die alten Wörter korrigiert.
3. Swap-Optimized Memory Runtime: „Die organisierte Speisekammer“
Die Analogie: Der winzige Kühlschrank der NPU ist so klein, dass man, wenn man die Zutaten einfach wahllos hineinwirft, die ganze Zeit damit verbringt, die Tür zu öffnen und zu schließen, um Dinge auszutauschen.
Wie es funktioniert: llada.cpp fungiert wie ein super organisierter Vorratsmanager. Es betrachtet das gesamte Rezept im Voraus und entscheidet genau, welche Zutaten jetzt gerade in den Kühlschrank müssen und welche warten können. Es bereitet auch die nächste Charge an Zutaten vor, während der Koch gerade kocht, damit die Tür nie lange geschlossen bleibt. Dies eliminiert die „Wartezeit“, die durch das Verschieben von Daten entsteht.
Die Ergebnisse
Die Autoren haben dies auf echten Smartphones (wie dem OnePlus Ace5 Pro) getestet.
- Geschwindigkeit: Sie fanden heraus, dass
llada.cppdie KI auf einem Telefon 17- bis 42-mal schneller machte als die alte Methode. - Qualität: Die geschriebenen Geschichten waren genauso gut wie zuvor; die Geschwindigkeit ging nicht zu Lasten der Genauigkeit.
- Batterie: Da die NPU die Arbeit schnell abschloss und nicht untätig herumstand, verbrauchte das Telefon insgesamt weniger Energie.
Kurz gesagt: llada.cpp ist ein intelligenter Manager, der dem Telefon erklärt, wie es sein super-schnelles Gehirn (die NPU) nutzt, ohne im Stau zu stehen, wodurch sich mobile KI unmittelbar und reaktionsschnell anfühlt.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.