
Wie senkt man Latenz und Kosten bei LLM-Inference mit vLLM und Quantisierung?
Direkte Antwort
Die wirksamsten Hebel bei selbst gehosteten LLMs sind Quantisierung (Reduktion der Zahlengenauigkeit der Modellgewichte, etwa von 16-Bit auf 4-Bit), Continuous Batching über Serving-Frameworks wie vLLM, das mehrere Anfragen effizient parallel verarbeitet, und aktives KV-Cache-Management, das wiederholte Berechnungen über mehrere Anfragen hinweg vermeidet.
"Dieselbe GPU kann je nach Serving-Implementierung ein Vielfaches an Anfragen pro Sekunde verarbeiten — der Unterschied liegt selten am Modell, sondern an der Inferenz-Engine darum herum.
Wer ein Open-Source-Modell selbst betreibt, trifft schnell auf die Grenze, dass naive Inferenz-Implementierungen weder die verfügbare GPU-Hardware noch die Latenzanforderungen ausreizen.
Quantisierung — weniger Genauigkeit für spürbar weniger Speicher und Rechenzeit
Quantisierung reduziert die Bit-Breite der Modellgewichte, etwa von FP16 auf INT8 oder 4-Bit-Verfahren wie GPTQ oder AWQ. Das senkt Speicherbedarf und Rechenzeit erheblich bei meist geringem, messbarem Qualitätsverlust.
Der Trade-off muss pro Anwendungsfall geprüft werden — bei einfachen Klassifikationsaufgaben ist der Qualitätsverlust oft vernachlässigbar, bei komplexem mehrstufigem Reasoning kann aggressive Quantisierung spürbare Fehler verursachen.
Continuous Batching statt statischer Batches
Klassisches Batching wartet, bis eine feste Anzahl Anfragen vorliegt, bevor es sie gemeinsam verarbeitet, was bei ungleichmäßigem Verkehr zu unnötigen Wartezeiten führt. Continuous Batching, wie es vLLM implementiert, fügt neue Anfragen dynamisch in laufende Batches ein und entfernt fertige Anfragen sofort.
Das erhöht den GPU-Durchsatz deutlich gegenüber naiven Implementierungen, weil die teure GPU-Rechenzeit nicht durch Warten auf volle Batches verschwendet wird.
KV-Cache-Management als weiterer Effizienzhebel
Der Key-Value-Cache speichert Zwischenergebnisse der Transformer-Attention, damit sie nicht bei jedem neuen Token neu berechnet werden müssen. Effizientes Cache-Management wie PagedAttention in vLLM reduziert Speicherfragmentierung und erlaubt mehr gleichzeitige Anfragen auf derselben Hardware.
Für Anwendungen mit langem, wiederkehrendem Kontext (etwa demselben System-Prompt über viele Anfragen) lässt sich der Cache zusätzlich über Anfragen hinweg teilen, was redundante Berechnung nochmals reduziert.
Wann passt es — wann nicht?
Passt gut
- ✓Ein Open-Source-Modell wird selbst gehostet und muss viele gleichzeitige Anfragen bedienen
Passt nicht
- ✗Es wird ausschließlich eine Cloud-API eines Anbieters genutzt