vLLM-Community: Autarke Multi-GPU-Inference für lokale Coding-Agenten
Kurzfassung
Die vLLM-Community diskutiert aktuell intensiv über Optimierungen und Erweiterungen, die die Leistung und Funktionalität von LLM-Inferenz auf Consumer-GPUs verbessern. Dominierende Themen sind die Optimierung von CPU-Inferenz, die Verarbeitung von JSON-Modi, die Implementierung von neuen Features, die Verwaltung von LoRA-Adaptern, die Fehlerbehandlung bei zu langen Eingaben und die Benchmarking-Methoden. Diese Entwicklungen sind besonders relevant für Nutzer, die ein autarkes Home-Setup mit 4x 3090 oder 2x 5090 aufbauen und das Niveau von Claude Sonnet/Opus 4.6 erreichen möchten.
Why is vLLM CPU backend using oneDNN kernels? (6/10) — OpenCode-Fit: BEDINGT
Worum geht es konkret?
Der Diskussionsbeitrag behandelt die Verwendung von oneDNN-Kernen in der CPU-Inferenz von vLLM. Der Autor stellt fest, dass die meisten CPU-Arbeitslasten von OpenBLAS und oneDNN verarbeitet werden, obwohl C++-Kerne mit Intrinsics verwendet werden. Er fragt, warum die C++-Kerne notwendig sind, wenn PyTorch die Verwaltung übernimmt.
Was heisst das für ein autarkes Home-Setup (4x 3090 / 2x 5090 / Mac Studio)?
Diese Diskussion ist eher relevant für Nutzer, die ihre Modelle auf CPU laufen lassen. Für ein GPU-basiertes Home-Setup ist dies weniger relevant, da die Hauptlast auf den GPUs liegt. Allerdings könnte die Optimierung der CPU-Inferenz nützlich sein, wenn die CPUs für Nebenprozesse oder als Backup verwendet werden.
Konsequenz für OpenCode-Nutzer:
Die Optimierung der CPU-Inferenz könnte die Gesamtleistung des Systems verbessern, insbesondere wenn die CPUs für andere Aufgaben wie das Laden von Modellen oder die Verarbeitung von Eingaben genutzt werden.
Handlungsempfehlung:
Beobachten, ob es Updates oder Patches gibt, die die CPU-Inferenz weiter optimieren. Für ein GPU-basiertes Setup ist dies weniger kritisch.
Fakten-Tabelle:
– Hardware im Post: [nicht im Post belegt]
– Modell: [nicht im Post belegt]
– Framework-Version: [nicht im Post belegt]
– tok/s / Benchmark: [nicht im Post belegt]
– Multi-GPU-Konfiguration: [nicht im Post belegt]
Json mode in offline batch inference (8/10) — OpenCode-Fit: JA
Worum geht es konkret?
Der Autor fragt, ob es möglich ist, für jede Eingabe in einem Batch einen benutzerdefinierten JSON-Modus zu verwenden. Derzeit können nur globale Decoding-Parameter für alle Eingaben angegeben werden, was bei unterschiedlichen JSON-Strukturen problematisch sein kann.
Was heisst das für ein autarkes Home-Setup (4x 3090 / 2x 5090 / Mac Studio)?
Diese Funktion ist sehr relevant für Nutzer, die komplexe JSON-Strukturen verarbeiten müssen. Sie ermöglicht eine flexible und präzise Steuerung der Ausgabe, was besonders nützlich ist, wenn verschiedene Eingaben unterschiedliche Ausgabeformate erfordern.
Konsequenz für OpenCode-Nutzer:
Die Implementierung dieses Features würde die Fähigkeit von OpenCode verbessern, verschiedene JSON-Strukturen zu verarbeiten und zu generieren. Dies ist besonders wichtig für Agent-Workloads, die strukturierte Daten erzeugen oder verarbeiten müssen.
Handlungsempfehlung:
Folgen Sie der Diskussion und unterstützen Sie den Entwicklungsprozess, falls ein Pull Request eingereicht wird. Dieses Feature könnte die Funktionalität von OpenCode erheblich verbessern.
Fakten-Tabelle:
– Hardware im Post: [nicht im Post belegt]
– Modell: [nicht im Post belegt]
– Framework-Version: [nicht im Post belegt]
– tok/s / Benchmark: [nicht im Post belegt]
– Multi-GPU-Konfiguration: [nicht im Post belegt]
Which tests do I have to run before submitting a pool request for a new feature? (5/10) — OpenCode-Fit: BEDINGT
Worum geht es konkret?
Der Autor fragt, welche Tests durchgeführt werden müssen, bevor ein Pull Request für ein neues Feature eingereicht wird. Er beschreibt, dass er Probleme mit den Tests hatte, die nicht direkt mit seiner Implementierung zusammenhängen.
Was heisst das für ein autarkes Home-Setup (4x 3090 / 2x 5090 / Mac Studio)?
Diese Diskussion ist eher relevant für Entwickler, die an vLLM beitragen möchten. Für Nutzer, die ein autarkes Home-Setup betreiben, ist dies weniger relevant, da sie hauptsächlich die vorhandenen Funktionen nutzen.
Konsequenz für OpenCode-Nutzer:
Die Diskussion kann indirekt nützlich sein, da sie die Qualität und Stabilität der Software verbessert. Nutzer, die eigene Erweiterungen entwickeln, sollten die Testanforderungen beachten.
Handlungsempfehlung:
Für die meisten Nutzer ist dies nicht relevant. Entwickler sollten die Diskussion verfolgen, um die Testanforderungen zu verstehen.
Fakten-Tabelle:
– Hardware im Post: [nicht im Post belegt]
– Modell: [nicht im Post belegt]
– Framework-Version: [nicht im Post belegt]
– tok/s / Benchmark: [nicht im Post belegt]
– Multi-GPU-Konfiguration: [nicht im Post belegt]
The num of dynamically serving LoRA adapters can not limited by param max-loras? (7/10) — OpenCode-Fit: JA
Worum geht es konkret?
Der Autor berichtet, dass die Anzahl der dynamisch geladenen LoRA-Adapter nicht durch den Parameter `max-loras` begrenzt wird. Er kann mehr Adapter hinzufügen, als der Parameter zulässt, was zu unerwartetem Verhalten führen kann.
Was heisst das für ein autarkes Home-Setup (4x 3090 / 2x 5090 / Mac Studio)?
Diese Diskussion ist relevant, da LoRA-Adapter die Anpassung von Modellen an spezifische Aufgaben ermöglichen. Die Fähigkeit, die Anzahl der Adapter zu begrenzen, ist wichtig, um die VRAM-Verwendung und die Leistung zu optimieren.
Konsequenz für OpenCode-Nutzer:
Die Begrenzung der Anzahl der LoRA-Adapter kann die VRAM-Verwendung reduzieren und die Leistung verbessern. Dies ist besonders wichtig für Agent-Workloads, die mehrere Modelle oder Adapter gleichzeitig verwenden.
Handlungsempfehlung:
Folgen Sie der Diskussion und prüfen Sie, ob ein Fix eingereicht wird. Bis dahin sollten Sie vorsichtig mit der Anzahl der geladenen Adapter umgehen.
Fakten-Tabelle:
– Hardware im Post: [nicht im Post belegt]
– Modell: [Llama-2-7b-hf]
– Framework-Version: [nicht im Post belegt]
– tok/s / Benchmark: [nicht im Post belegt]
– Multi-GPU-Konfiguration: [nicht im Post belegt]
How to configure vllm to gracefully mark the too-long inputs without throwing? (9/10) — OpenCode-Fit: JA
Worum geht es konkret?
Der Autor fragt, wie man vLLM konfigurieren kann, um zu lange Eingaben ohne Fehlermeldung zu verarbeiten. Derzeit wirft vLLM eine Exception, wenn die Eingabe zu lang ist, was die Verarbeitung anderer Eingaben unterbricht.
Was heisst das für ein autarkes Home-Setup (4x 3090 / 2x 5090 / Mac Studio)?
Diese Funktion ist sehr relevant, da sie die Robustheit und Zuverlässigkeit des Systems verbessert. Die Fähigkeit, zu lange Eingaben zu erkennen und zu behandeln, ohne den gesamten Prozess zu unterbrechen, ist besonders wichtig für Batch-Verarbeitungen.
Konsequenz für OpenCode-Nutzer:
Die Implementierung dieses Features würde die Fehlertoleranz von OpenCode verbessern und die Verarbeitung von Eingaben mit variabler Länge erleichtern. Dies ist besonders nützlich für Agent-Workloads, die mit unterschiedlichen Eingaben arbeiten.
Handlungsempfehlung:
Folgen Sie der Diskussion und prüfen Sie, ob ein Fix oder eine Workaround-Lösung eingereicht wird. Bis dahin können Sie die Eingaben vor der Verarbeitung manuell filtern.
Fakten-Tabelle:
– Hardware im Post: [nicht im Post belegt]
– Modell: [nicht im Post belegt]
– Framework-Version: [nicht im Post belegt]
– tok/s / Benchmark: [nicht im Post belegt]
– Multi-GPU-Konfiguration: [nicht im Post belegt]
VLLM Inference Optimizations (8/10) — OpenCode-Fit: JA
Worum geht es konkret?
Der Autor fragt nach den Optimierungen, die vLLM zur Verbesserung der LLM-Inferenzleistung anwendet. Er erwähnt Paged Attention und Prefix Caching als bekannte Optimierungen und fragt nach weiteren.
Was heisst das für ein autarkes Home-Setup (4x 3090 / 2x 5090 / Mac Studio)?
Diese Diskussion ist sehr relevant, da sie die Leistungsoptimierungen von vLLM aufzeigt. Die Kenntnis dieser Optimierungen kann helfen, das Setup zu verbessern und die Leistung zu maximieren.
Konsequenz für OpenCode-Nutzer:
Die Implementierung dieser Optimierungen kann die Inferenzgeschwindigkeit und die Effizienz von OpenCode erheblich verbessern. Dies ist besonders wichtig für Agent-Workloads, die eine hohe Leistung erfordern.
Handlungsempfehlung:
Folgen Sie der Diskussion und prüfen Sie, welche Optimierungen in der aktuellen Version von vLLM implementiert sind. Nutzen Sie die Dokumentation, um die besten Praktiken für Ihre Hardware zu ermitteln.
Fakten-Tabelle:
– Hardware im Post: [nicht im Post belegt]
– Modell: [nicht im Post belegt]
– Framework-Version: [nicht im Post belegt]
– tok/s / Benchmark: [nicht im Post belegt]
– Multi-GPU-Konfiguration: [tensor_parallel_size=8]
Output hidden states like hugging face (7/10) — OpenCode-Fit: JA
Worum geht es konkret?
Der Autor fragt, ob es möglich ist, alle Hidden States aus der Vorwärtsdurchlauf eines Llama-Modells mit vLLM zu extrahieren, ähnlich wie bei Hugging Face mit `output_hidden_states=True`.
Was heisst das für ein autarkes Home-Setup (4x 3090 / 2x 5090 / Mac Studio)?
Diese Funktion ist relevant, da sie die Analyse und Visualisierung der Modellinterna ermöglicht. Die Fähigkeit, die Hidden States zu extrahieren, kann helfen, das Verhalten des Modells besser zu verstehen und zu optimieren.
Konsequenz für OpenCode-Nutzer:
Die Implementierung dieses Features würde die Fähigkeit von OpenCode verbessern, die Modellinterna zu analysieren und zu visualisieren. Dies ist besonders nützlich für Entwickler, die tiefere Einblicke in das Modellverhalten benötigen.
Handlungsempfehlung:
Folgen Sie der Diskussion und prüfen Sie, ob ein Pull Request oder eine Workaround-Lösung eingereicht wird. Bis dahin können Sie alternative Methoden zur Extraktion der Hidden States verwenden.
Fakten-Tabelle:
– Hardware im Post: [nicht im Post belegt]
– Modell: [Llama]
– Framework-Version: [nicht im Post belegt]
– tok/s / Benchmark: [nicht im Post belegt]
– Multi-GPU-Konfiguration: [nicht im Post belegt]
Determining Overall Speed for One Long Prompt (6/10) — OpenCode-Fit: BEDINGT
Worum geht es konkret?
Der Autor fragt, wie man die Gesamtgeschwindigkeit für eine lange Eingabe bestimmen kann. Er stellt fest, dass er mehrere Geschwindigkeitsmessungen erhält, was darauf hindeutet, dass die Eingabe in mehrere Batches aufgeteilt wird.
Was heisst das für ein autarkes Home-Setup (4x 3090 / 2x 5090 / Mac Studio)?
Diese Diskussion ist relevant, da sie die Benchmarking-Methode für lange Eingaben verbessert. Die Fähigkeit, die Gesamtgeschwindigkeit zu messen, kann helfen, die Leistung des Systems zu optimieren.
Konsequenz für OpenCode-Nutzer:
Die Implementierung dieses Features würde die Fähigkeit von OpenCode verbessern, die Leistung für lange Eingaben zu messen und zu optimieren. Dies ist besonders nützlich für Agent-Workloads, die mit langen Texten arbeiten.
Handlungsempfehlung:
Folgen Sie der Diskussion und prüfen Sie, ob ein Fix oder eine Workaround-Lösung eingereicht wird. Bis dahin können Sie die Geschwindigkeitsmessungen manuell aggregieren.
Fakten-Tabelle:
– Hardware im Post: [nicht im Post belegt]
– Modell: [Qwen3-30B-A3B-FP8]
– Framework-Version: [nicht im Post belegt]
– tok/s / Benchmark: [nicht im Post belegt]
– Multi-GPU-Konfiguration: [tensor_parallel_size=2]
Structured Generation with Reasoning Parser in offline mode. (8/10) — OpenCode-Fit: JA
Worum geht es konkret?
Der Autor fragt, warum die Funktion zur strukturierten Generierung mit Reasoning Parser in offline-Modus nicht verfügbar ist. Er möchte, dass Qwen 3 die Anfrage analysiert und die Antwort in strukturiertem JSON-Format zurückgibt.
Was heisst das für ein autarkes Home-Setup (4x 3090 / 2x 5090 / Mac Studio)?
Diese Funktion ist sehr relevant, da sie die Fähigkeit von vLLM verbessert, strukturierte Daten zu generieren. Die Kombination von freiformer Generierung und strukturierter Ausgabe kann die Nützlichkeit von OpenCode erheblich steigern.
Konsequenz für OpenCode-Nutzer:
Die Implementierung dieses Features würde die Fähigkeit von OpenCode verbessern, komplexe Anfragen zu verarbeiten und strukturierte Antworten zu generieren. Dies ist besonders nützlich für Agent-Workloads, die strukturierte Daten erzeugen oder verarbeiten müssen.
Handlungsempfehlung:
Folgen Sie der Diskussion und prüfen Sie, ob ein Fix oder eine Workaround-Lösung eingereicht wird. Bis dahin können Sie alternative Methoden zur strukturierten Generierung verwenden.
Fakten-Tabelle:
– Hardware im Post: [nicht im Post belegt]
– Modell: [Qwen3]
– Framework-Version: [nicht im Post belegt]
– tok/s / Benchmark: [nicht im Post belegt]
– Multi-GPU-Konfiguration: [nicht im Post belegt]
Weitere Diskussionen (kurz):
– GitHub discussion is not used anymore, please use the forum for discussion.
– Einordnung: Diese Diskussion informiert über den Wechsel des Diskussionsforums. Für autarke Home-Setups irrelevant.
– vLLM failing to recognize GPU from latest official docker image
– Einordnung: Dieser Thread behandelt ein Problem mit der GPU-Erkennung in der Docker-Image-Version. Relevant für Nutzer, die Docker verwenden, aber nicht direkt für autarke Home-Setups.
–