Large Language Models auf einem Smartphone zum Laufen zu bringen, ist kein Forschungsexperiment mehr. Es ist eine Realität in der Produktentwicklung. Doch in dem Moment, in dem man von einer Spielerei zu einem echten Produkt übergeht, macht sich die Latenz wieder bemerkbar. Man hat das Modell beschnitten, die Gewichte quantisiert, und trotzdem zieht sich die Prefill-Phase. Die Token stocken. Die Benutzeroberfläche friert ein. Die Schuld liegt selten dort, wo sie eigentlich liegt.
Bei Android-Geräten ist die Rechenleistung während des LLM-Prefills fast nie der Flaschenhals. Es ist die Speicherbandbreite. Moderne Flaggschiff-SoCs werden mit leistungsstarken GPU- und NPU-Kernen ausgeliefert, die Arithmetik viel schneller verarbeiten können, als das Speicher-Subsystem sie mit Daten versorgen kann. Wenn man eine naive Attention-Implementierung profilt, sind die Ausführungseinheiten nicht ausgelastet. Sie warten. Sie warten auf das DRAM.
Warum Ihr quantisiertes Modell sich immer noch langsam anfühlt
Die Quantisierung ist zum Standard-Ersterschritt für On-Device-Inferenz geworden. Das Verkleinern der Gewichte von FP16 auf INT8 halbiert die Modellgröße und reduziert den Speicherbedarf. Das hilft. Aber es behebt nicht die Latenz der Attention-Layer. Der Grund ist einfach: Die Quantisierung reduziert die Menge der gespeicherten Daten, aber sie reduziert nicht die Anzahl der Speicherzugriffe, die der Attention-Mechanismus durchführt.
Ein Standard-Multi-Head-Attention-Layer, wie er im Lehrbuch implementiert wird, macht für jeden Layer drei vollständige Hin- und Rückwege zum DRAM. Query-, Key- und Value-Matrizen werden aus dem Hauptspeicher gelesen, Scores werden berechnet und Zwischenergebnisse werden wieder zurückgeschrieben. Die Arithmetik ist trivial. Die Datenbewegung ist brutal. Auf Android, wo die Energie- und Thermal-Budgets knapp sind, überlastet dieses Muster den Speicherbus. Der Prozessor zahlt effektiv dreimal Maut, um dieselbe Brücke zu überqueren.
Wenn Sie INT8-Modelle ausliefern und sich fragen, warum der Prefill-Schritt immer noch quadratisch mit der Prompt-Länge skaliert, ist dies die Antwort. Die Gewichte sind kleiner, aber der Aktivierungsverkehr bleibt enorm.
Der Flaschenhals ist der Speicher, nicht die Mathematik
Um die Lösung zu verstehen, betrachten Sie die Roofline. Mobile GPUs und NPUs auf Chips wie dem Snapdragon 8 Gen 3 und Dimensity 9300 haben einen theoretischen Rechendurchsatz, der weit über das hinausgeht, was ihre LPDDR5X-Schnittstellen leisten können. In einem naiven Attention-Kernel berechnet jeder Head das Softmax über das Produkt von Q und K und multipliziert es dann mit V. Jede Zwischen-Score-Matrix wird im globalen Speicher materialisiert. Das bedeutet, dass Ihre Spitzen-DRAM-Lesezugriffe mit dem Quadrat der Sequ
