Startseite / Artikel

Praktische Anwendung von LLM-Servern: Ollama, vLLM und TGI

Die Bereitstellungs Schicht, die Modelldateien in eine LLM-API umwandelt: Ollama für lokale Nutzung, vLLM und Hugging Face TGI für GPUs – sowie das, was herkömmliche Transformers nicht bieten.

Verlag: REACTAPP.TOP5 Min. Lesezeit1118 Wörter

Quellen: Serving LLMs, Hands-On — Ollama, vLLM & TGI

Dienst-Engines: die Schicht unter „einfach das Modell aufrufen“

Sie haben bereits Modelle aufgerufen – oft über Ollama. Diese Anleitung befasst sich mit dem Inferenzserver: Er lädt Gewichte, verwaltet die GPU-Memory, gruppiert Aufgaben und streamt Tokens, damit viele Clients auf dieselbe API zugreifen können. Drei Namen, die Sie häufig hören werden: Ollama, vLLM und TGI (Text Generation Inference).

Ollama-Experimente funktionieren einwandfrei mit der CPU eines Laptops. vLLM und TGI benötigen eine GPU – Colab oder Kaggle eignen sich, falls Sie keine haben. Betrachten Sie dies als praktische Anleitung: Führen Sie die Schritte aus und erledigen Sie die Übungen.

Warum reine transformers-Bibliotheken kein Server sind

Das Laden eines Modells und Aufrufen von .generate() funktioniert bei einer langsamen Anfrage. Unter Last versagt es jedoch: Es gibt kein kontinuierliches Batching, eine schwache Speicherverwaltung sowie unpraktische Mehrbenutzer-Streaming-Funktionen. Server-Engines dienen dazu, „Modelldateien“ in eine „API“ umzuwandeln.

Ollama – zunächst lokal

Installieren, herunterladen, ausführen und die HTTP-API aufrufen:

ollama pull llama3.2
ollama serve            # usually already running; serves on http://localhost:11434
from openai import OpenAI   # pip install openai

client = OpenAI(base_url="http://localhost:11434/v1", api_key="ollama")  # key is ignored locally

resp = client.chat.completions.create(
    model="llama3.2",
    messages=[{"role": "user", "content": "Explain KV cache in one sentence."}],
)
print(resp.choices[0].message.content)

Nutzen Sie es, um Prompts zu erlernen und Apps ohne Cloud-Schlüssel zu entwickeln. Kennen Sie jedoch seine Grenzen, wenn Sie eine Skalierung für mehrere Anwendungen benötigen.

vLLM – GPU-Servering für Batching

Auf einer GPU-Betriebsumgebung:

pip install vllm
vllm serve meta-llama/Llama-3.1-8B-Instruct       # OpenAI-compatible server on :8000

Kompatible OpenAI-Endpunkte sowie kontinuierliches Batching sind hier entscheidend. Achten Sie auf den GPU-Speicher sowie die Einstellungen für den maximalen Kontextumfang.

TGI – Hugging Face’s Servering-Stack

docker run --runtime nvidia --gpus all \
  -v ~/.cache/huggingface:/root/.cache/huggingface \
  -p 8000:8000 --ipc=host \
  vllm/vllm-openai:latest \
  --model meta-llama/Llama-3.1-8B-Instruct

TGI konzentriert sich auf den produktiven Einsatz von HF-Modellen mit Streaming- und Tracing-Funktionen. Vergleichen Sie die Latenz sowie die Betriebskomplexität im Vergleich zu vLLM für Ihre Modelle.

Nebeneinander-Mentalsmodell

client = OpenAI(base_url="http://localhost:8000/v1", api_key="dummy")   # ← base_url changed
resp = client.chat.completions.create(
    model="meta-llama/Llama-3.1-8B-Instruct",                           # ← model changed
    messages=[{"role": "user", "content": "Explain KV cache in one sentence."}],
)
print(resp.choices[0].message.content)
  • Ollama: DX und lokale Iteration
  • vLLM: Tokens pro Sekunde auf NVIDIA unter Konkurrenzbedingungen
  • TGI: HF-zentrierte Produktionsdienste

Ihre Reihe

docker run --gpus all --shm-size 1g -p 8080:80 \
  -v ~/.cache/huggingface:/data \
  ghcr.io/huggingface/text-generation-inference:latest \
  --model-id meta-llama/Llama-3.1-8B-Instruct

Senden Sie denselben Prompt an jeden Server, notieren Sie die TTFT-Werte sowie die Tokens pro Sekunde und geben Sie anschließend an, welches Tool für Ihr nächstes Projekt geeignet ist – Laptop-Demo, interne GPU-Box oder multi-tenant-API.

Machen Sie die Bereitstellung langweilig: Nutzen Sie Compose, Health Checks sowie einen einzigen Ort zur Rotation der Modelle. Genau dadurch überstehen interne Tools den Umgang mit realen Einsatzplänen.

Machen Sie die Bereitstellung langweilig: Nutzen Sie Compose, Health Checks sowie einen einzigen Ort zur Rotation der Modelle. Genau dadurch überstehen interne Tools den Umgang mit realen Einsatzplänen.

Machen Sie den Deployment-Vorgang langweilig: Use von Compose, Health Checks sowie einen einzigen Ort zur Rotation der Modelle. Genau dadurch überstehen interne Tools den Umgang mit den tatsächlichen Bereitschaftsplänen.

Machen Sie den Deployment-Vorgang langweilig: Use von Compose, Health Checks sowie einen einzigen Ort zur Rotation der Modelle. Genau dadurch überstehen interne Tools den Umgang mit den tatsächlichen Bereitschaftsplänen.

Machen Sie den Deployment-Vorgang langweilig: Use von Compose, Health Checks sowie einen einzigen Ort zur Rotation der Modelle. Genau dadurch überstehen interne Tools den Umgang mit den tatsächlichen Bereitschaftsplänen.

Machen Sie den Deployment-Vorgang langweilig: Use von Compose, Health Checks sowie einen einzigen Ort zur Rotation der Modelle. Genau dadurch überstehen interne Tools den Umgang mit den tatsächlichen Bereitschaftsplänen.

Machen Sie den Deployment-Vorgang langweilig: Use von Compose, Health Checks sowie einen einzigen Ort zur Rotation der Modelle. Genau dadurch überstehen interne Tools den Umgang mit den tatsächlichen Bereitschaftsplänen.

Machen Sie den Deployment-Prozess langweilig: Use von Compose, Health Checks sowie einen einzigen Ort zur Rotation der Modelle. Genau dadurch überstehen interne Tools den Umgang mit den tatsächlichen Bereitschaftsplänen.

Machen Sie den Deployment-Prozess langweilig: Use von Compose, Health Checks sowie einen einzigen Ort zur Rotation der Modelle. Genau dadurch überstehen interne Tools den Umgang mit den tatsächlichen Bereitschaftsplänen.

Machen Sie den Deployment-Prozess langweilig: Use von Compose, Health Checks sowie einen einzigen Ort zur Rotation der Modelle. Genau dadurch überstehen interne Tools den Umgang mit den tatsächlichen Bereitschaftsplänen.

Machen Sie den Deployment-Prozess langweilig: Use von Compose, Health Checks sowie einen einzigen Ort zur Rotation der Modelle. Genau dadurch überstehen interne Tools den Umgang mit den tatsächlichen Bereitschaftsplänen.

Machen Sie den Deployment-Prozess langweilig: Use von Compose, Health Checks sowie einen einzigen Ort zur Rotation der Modelle. Genau dadurch überstehen interne Tools den Umgang mit den tatsächlichen Bereitschaftsplänen.

Machen Sie den Deployment-Prozess langweilig: Use von Compose, Health Checks sowie einen einzigen Ort zur Rotation der Modelle. Genau dadurch überstehen interne Tools den Umgang mit den tatsächlichen Bereitschaftsplänen.

Machen Sie den Deployment-Prozess langweilig: Use von Compose, Health Checks sowie einen einzigen Ort zur Rotation der Modelle. Genau dadurch überstehen interne Tools den Umgang mit den tatsächlichen Bereitschaftsplänen.

Machen Sie den Deployment-Prozess langweilig: Use von Compose, Health Checks sowie einen einzigen Ort zur Rotation der Modelle. Genau dadurch überstehen interne Tools den Umgang mit den tatsächlichen Bereitschaftsplänen.

Machen Sie den Deployment-Prozess langweilig: Use von Compose, Health Checks sowie einen einzigen Ort zur Rotation der Modelle. Genau dadurch überstehen interne Tools den Umgang mit den tatsächlichen Bereitschaftsplänen.

Machen Sie den Deployment-Prozess langweilig: Use von Compose, Health Checks sowie einen einzigen Ort zur Rotation der Modelle. Genau dadurch überstehen interne Tools den Umgang mit den tatsächlichen Bereitschaftsplänen.

Machen Sie den Deployment-Vorgang langweilig: Use von Compose, Health Checks sowie einen einzigen Ort zur Rotation der Modelle. Genau dadurch überstehen interne Tools den Umgang mit den tatsächlichen Bereitschaftsplänen.

Machen Sie den Deployment-Vorgang langweilig: Use von Compose, Health Checks sowie einen einzigen Ort zur Rotation der Modelle. Genau dadurch überstehen interne Tools den Umgang mit den tatsächlichen Bereitschaftsplänen.

Machen Sie den Deployment-Vorgang langweilig: Use von Compose, Health Checks sowie einen einzigen Ort zur Rotation der Modelle. Genau dadurch überstehen interne Tools den Umgang mit den tatsächlichen Bereitschaftsplänen.

Machen Sie den Deployment-Vorgang langweilig: Use von Compose, Health Checks sowie einen einzigen Ort zur Rotation der Modelle. Genau dadurch überstehen interne Tools den Umgang mit den tatsächlichen Bereitschaftsplänen.

Machen Sie den Deployment-Vorgang langweilig: Use von Compose, Health Checks sowie einen einzigen Ort zur Rotation der Modelle. Genau dadurch überstehen interne Tools den Umgang mit den tatsächlichen Bereitschaftsplänen.

Machen Sie den Deployment-Prozess langweilig: Use von Compose, Health Checks sowie einen einzigen Ort zur Rotation der Modelle. Genau dadurch überstehen interne Tools den Umgang mit realen Bereitschaftsplänen.

Machen Sie den Deployment-Prozess langweilig: Use von Compose, Health Checks sowie einen einzigen Ort zur Rotation der Modelle. Genau dadurch überstehen interne Tools den Umgang mit realen Bereitschaftsplänen.

Machen Sie den Deployment-Prozess langweilig: Use von Compose, Health Checks sowie einen einzigen Ort zur Rotation der Modelle. Genau dadurch überstehen interne Tools den Umgang mit realen Bereitschaftsplänen.