vLLM

01.05.2026 13:23

Definition

vLLM ist ein High-Performance-Inference-Server für LLMs, der Batch-Processing und Memory-Optionen (PagedAttention, KV-Cache-Verwaltung) nutzt, um Inference-Durchsatz um ein Vielfaches zu erhöhen und Speicherverbrauch zu senken. Praktiker ersetzen damit langsame, speicherhungrige Standard-Inference durch eine produktionsreife API, die 70B-Modelle mit hohem Durchsatz auf weniger Hardware betreibt.

Mechanik

vLLM implementiert PagedAttention, ein Blockierungs-Schema für die KV-Cache-Speicherung (ähnlich wie Virtual Memory in Betriebssystemen): statt kontinuierliche Tensoren zu allokieren, werden Aufmerksamkeits-Keys und Values in Seiten gespeichert, die fragmentiert sein dürfen. Das reduziert Speicherfragmentierung um ~50%. Zudem bündelt vLLM mehrere Anfragen in Micro-Batches, sodass eine einzelne Forward-Pass mehrere Requests parallel abarbeitet (batching), ohne Seite-zu-Seite-Wechsel. Ein eingebauter Scheduler verwaltet Request-Queues und Prioritäten. Die REST-API (OpenAI-kompatibel) macht den Server beliebig austauschbar.

Beispiel

Mit vLLM lokal starten (z.B. Mistral 7B):

ollama pull mistral:7b
# oder direkt via vLLM:
pip install vllm
python -m vllm.entrypoints.openai.api_server \
  --model mistral-7b-instruct-v0.2 \
  --port 8000

Dann Client-Anfrage (Python):

import requests
import json

response = requests.post(
    "http://localhost:8000/v1/completions",
    json={
        "model": "mistral-7b-instruct-v0.2",
        "prompt": "Erklaere Quantisierung in 50 Woertern.",
        "max_tokens": 100
    }
)
print(response.json()["choices"][0]["text"])

Für Batch-Anfragen (z.B. 50+ Requests gleichzeitig) erzielt vLLM 10–50x höheren Durchsatz als naives transformers.pipeline(), weil es alle Requests in einer Forward-Pass abarbeitet statt sequenziell.

Quellen