Zurück zur Startseite

So stellen Sie LLM in der Produktion bereit: Schritt-für-Schritt-Anleitung

Dieser umfassende Leitfaden führt durch den End-to-End-Prozess der Bereitstellung großer Sprachmodelle in Produktionsumgebungen, einschließlich Modellauswahl, Infrastrukturplanung, Kubernetes-basierter Bereitstellung mit vLLM, erweiterter disaggregierter Inferenzarchitekturen und kritischer Produktionsaspekte wie Tests, Beobachtbarkeit und Kostenoptimierung.

LLM-Produktionsbereitstellung: Vollständige Anleitung
Advertisement 728x90

LLMs in der Produktion einsetzen: Eine Schritt-für-Schritt-Anleitung

LLMs in der Produktion einsetzen: Eine Schritt-für-Schritt-Anleitung

Der Weg von einer erfolgreichen Demo zu einer zuverlässigen, skalierbaren und kosteneffizienten Large Language Model (LLM)-Anwendung ist voller Herausforderungen, die Demos nie offenbaren: unerwartete Benutzereingaben, Leistungsengpässe, kaskadierende Systemausfälle und explodierende Kosten. Dieser Leitfaden bietet einen umfassenden, schrittweisen Rahmen, um diese Komplexitäten zu bewältigen und Ihnen beim Aufbau eines produktionsreifen LLM-Systems zu helfen.

Was Sie lernen werden

Am Ende dieses Leitfadens verstehen Sie den gesamten Lebenszyklus der Bereitstellung von LLMs – von der Auswahl des richtigen Modells und der Infrastruktur bis hin zur Implementierung robuster Test-, Überwachungs- und Sicherheitspraktiken. Sie erhalten einen klaren, umsetzbaren Plan, um Ihr LLM-Projekt von einem Prototypen zu einem zuverlässigen, leistungsstarken Produktionsdienst zu machen, mit besonderem Fokus auf die kritischen Schritte für die Bereitstellung auf Kubernetes-Basis.

Google AdInline article slot

Schritt 1: Grundlagen – Modellauswahl und Infrastrukturplanung

Bevor Sie Code schreiben, müssen Sie entscheidende Entscheidungen über Ihr Modell und die Infrastruktur treffen, auf der es laufen soll. Diese anfängliche Planungsphase ist entscheidend, um kostspielige Umstrukturierungen später zu vermeiden.

Modell und Hardware auswählen

Das Universum offener Modelle ist riesig, und die richtige Auswahl ist die erste große Hürde. Raten Sie nicht; nutzen Sie einen kuratierten Hub. Cloud-Anbieter wie Google Clouds Vertex AI Model Garden bieten ein zentrales Repository mit über 200+ validierten Modellen (darunter Gemma, Qwen und Llama) mit wichtigen Informationen wie empfohlener Hardware (GPU-Typen und -Größen) für optimale Leistung. Das spart die zeitaufwändige Einrichtung von Umgebungen, nur um einen einzigen Test durchzuführen. Oft finden Sie „One-Click-Deployment"-Optionen, die optimierte Serving-Container (z. B. mit vLLM oder SGLang) verwenden.

Für die Hardware bestimmt die Größe Ihres Modells direkt Ihren GPU-Bedarf. Hier ist eine allgemeine Orientierungshilfe basierend auf gängigen GPU-Optionen von Anbietern wie DigitalOcean:

Google AdInline article slot
GPU-Typ Typischer Anwendungsfall Geeignete Modellgröße
RTX 4000 Ada Kosteneffiziente Inferenz Kleinere Modelle (7B-13B Parameter)
RTX 6000 Ada Ausgewogene Leistung Mittlere Modelle (13B-34B Parameter)
L40S Maximale Leistung für große Workloads Große Modelle (70B+ Parameter)

⚠️ Warnung zum Modellzugriff: Viele beliebte Modelle, wie Metas Llama, erfordern, dass Sie ein HuggingFace-Konto haben, Zugriff anfordern und eine Lizenzvereinbarung akzeptieren, bevor Sie sie herunterladen können. Planen Sie diese Genehmigungszeit unbedingt in Ihren Projektzeitplan ein.

Infrastruktur auswählen: Der Kubernetes-Standard

Für die produktionsreife LLM-Bereitstellung hat sich Kubernetes als De-facto-Standard etabliert. Es bietet die Skalierbarkeit, Ausfallsicherheit und Cloud-native Tooling, die für die Verwaltung komplexer, ressourcenintensiver Workloads unerlässlich sind. Egal, ob Sie einen verwalteten Kubernetes-Dienst wie Google Kubernetes Engine (GKE), Amazon EKS oder DigitalOcean Kubernetes (DOKS) verwenden, die Prinzipien bleiben gleich:

  • GPU-Unterstützung: Ihr Kubernetes-Cluster muss GPU-Knoten haben. Dazu muss das NVIDIA Device Plugin installiert werden, um GPUs für Ihre Pods verfügbar zu machen.
  • Scheduling: Für Multi-Node-Bereitstellungen können erweiterte Scheduler wie Volcano für „Gang Scheduling" verwendet werden, um sicherzustellen, dass alle Pods eines verteilten Trainings- oder Inferenz-Jobs gleichzeitig starten.

Schritt 2: Kernbereitstellung – Ihr Modell servieren

Der „alte Weg" – Gewichte herunterladen und mit requirements.txt herumhantieren – ist für die Produktion nicht tragbar. Sie benötigen ein robustes, leistungsstarkes Serving-Framework.

Google AdInline article slot

Der vLLM Production Stack

vLLM hat sich als führende Open-Source-LLM-Inferenz-Engine etabliert. Sein Production Stack, entstanden aus einer Zusammenarbeit von Berkeley und UChicago, kapselt das Upstream-vLLM und bietet eine für die Produktion optimierte Codebasis, die auf Benutzerfreundlichkeit und hohe Leistung ausgelegt ist. Zu den Hauptfunktionen gehören Multi-Modell-Unterstützung, modellbewusstes Routing und KV-Cache-Auslagerung.

Um den vLLM Production Stack in Ihrem Kubernetes-Cluster bereitzustellen:

  1. Stellen Sie sicher, dass Helm auf Ihrem GPU-Server installiert ist. Helm ist der Paketmanager für Kubernetes.
  2. Fügen Sie das vLLM-Helm-Repository hinzu:
    sudo helm repo add vllm https://vllm-project.github.io/production-stack
  3. Installieren Sie das Chart:
    sudo helm install vllm vllm/vllm-stack -f tutorials/assets/values-01-minimal-example.yaml
    Dieser Befehl stellt ein kleines Beispielmodell (facebook/opt-125m) als Proof of Concept bereit.

Die Kernkonfiguration der Bereitstellung wird über eine YAML-Datei verwaltet, in der Sie die Modell-URL, die Replikatanzahl und die Ressourcenanforderungen für CPU, Arbeitsspeicher und GPU angeben.

Bereitstellung validieren

Überwachen Sie nach der Installation den Status:

sudo kubectl get pods

Warten Sie, bis alle Pods den Status Running anzeigen. Dies kann einige Zeit dauern, da Docker-Images und Modellgewichte heruntergeladen werden.

Dienst abfragen

Sobald der Dienst läuft, können Sie einen lokalen Port weiterleiten und den OpenAI-kompatiblen API-Endpunkt abfragen:

sudo kubectl port-forward svc/vllm-router-service 30080:80
curl -o- http://localhost:30080/v1/models

Dies bestätigt, dass Ihr Modell-Serving-Stack betriebsbereit ist.

Schritt 3: Fortgeschrittene Architekturen und Optimierung

Für wirklich skalierbare, produktionsreife Systeme müssen Sie über eine einzelne Modellinstanz hinausgehen. Moderne Frameworks entkoppeln den Inferenzprozess für bessere Leistung und Ressourcennutzung.

Entkoppelte Inferenz mit llm-d

llm-d ist ein verteiltes Inferenz-Framework, das die LLM-Inferenz-Pipeline in zwei separate Phasen aufteilt: Prefill (Kontextverarbeitung) und Decode (Token-Generierung). Dadurch kann jede Phase unabhängig optimiert und skaliert werden, was zu höherem Durchsatz und besserer GPU-Auslastung führt.

Um ein entkoppeltes System auf Kubernetes bereitzustellen, können spezialisierte Operatoren wie Kthena verwendet werden, um den Lebenszyklus und das Scheduling dieser komplexen, verteilten Workloads zu verwalten. Kthena bietet eine ModelServing Custom Resource Definition (CRD) zur deklarativen Bereitstellung von Multi-Node-vLLM-Diensten unter Nutzung von Volcano für Gang Scheduling. Der Prozess umfasst:

  1. Installation von Volcano und Kthena in Ihrem Cluster.
  2. Anwenden eines ModelServing-Manifests, das die Einstiegs- (Leader) und Worker-Pods für Prefill- und Decode-Rollen definiert.
  3. Der Operator orchestriert die Pods, die dann Ray nutzen, um einen verteilten Cluster zu bilden.

Dieser Ansatz ist ideal für Anwendungen mit hohem Durchsatz und niedriger Latenz im großen Maßstab, bringt jedoch eine erhebliche betriebliche Komplexität mit sich.

Schritt 4: Die Produktionsmentalität – Zuverlässigkeit, Beobachtbarkeit und Sicherheit

Sobald Ihr LLM bereitgestellt ist, beginnt die eigentliche Arbeit. Der Übergang zur Produktion erfordert einen signifikanten Wandel in der Denkweise – von „es zum Laufen bringen" zu „es am Laufen halten".

Realitätstests

Der Happy Path einer Demo ist nicht die Produktionsrealität. Sie müssen eine systematische Teststrategie verfolgen:

  • Robustheitstests: LLMs sind überraschend anfällig. Kleine Änderungen in der Eingabe können große Verschiebungen in der Ausgabe verursachen. Automatisierte Test-Frameworks, die das Modellverhalten unter verschiedenen Störungen systematisch bewerten, sind unerlässlich.
  • Goldener Datensatz: Erstellen Sie einen „goldenen Datensatz" mit repräsentativen Benutzerabfragen und erwarteten Ausgaben. Dies ist die Grundlage für die Automatisierung der Evaluierung. Neue Modellversionen oder Prompt-Änderungen sollten vor der Bereitstellung gegen diesen Datensatz getestet werden. Liefern Sie niemals ohne ihn aus.
  • RAG-Evaluierung: Wenn Sie Retrieval Augmented Generation (RAG) verwenden, bewerten Sie nicht nur die endgültige Antwort, sondern auch die Abrufqualität mithilfe von Metriken wie kontextueller Präzision und Recall.

Eine Produktions-Checkliste implementieren

Eine Produktions-Checkliste ist ein wichtiges Werkzeug, um Disziplin zu wahren. Zu den wichtigsten Punkten gehören:

  • Client-Hygiene: Setzen Sie Timeouts, implementieren Sie Wiederholungen mit Jitter und verwenden Sie Idempotenzschlüssel für wiederholte Operationen.
  • Server-Einstellungen: Implementieren Sie strenge tokenbewusste Ratenbegrenzungen pro Benutzer. Setzen Sie Kontext- und Ausgabelimits basierend auf echten Geschäftsanforderungen, nicht auf dem Maximum des Modells.
  • Zuverlässigkeitsmuster: Verwenden Sie Health Probes, Circuit Breaker und Graceful Shutdowns. Führen Sie Ausfallübungen durch (z. B. Simulation eines Out-of-Memory-Fehlers), um sicherzustellen, dass sich Ihre Systeme wie erwartet erholen.

Messen, was Benutzer fühlen

Beobachtbarkeit ist nicht verhandelbar. Verfolgen Sie Metriken, die sich direkt auf die Benutzererfahrung auswirken:

  • Time to First Token (TTFT) und Tokens Per Second (TPS): Wichtige Indikatoren für die gefühlte Geschwindigkeit. Streben Sie ≤800 ms für TTFT beim p95-Perzentil an.
  • Warteschlangenlänge und GPU-Speicherreserve: Überwachen Sie diese, um Überlastung zu vermeiden und die Ressourcennutzung zu optimieren.
  • Fehlerraten nach Typ: Unterscheiden Sie zwischen OOM-Fehlern, Timeouts und Client-Fehlern.

Sicherheit und Kosten

  • Sicherheit: Erzwingen Sie TLS überall, verwenden Sie pro Dienst API-Schlüssel und protokollieren Sie niemals rohe Prompts standardmäßig.
  • Kosten: Behandeln Sie Tokens als endliche Ressource. Überwachen Sie den Token-Verbrauch pro Funktion und pro Mandant und cachen Sie Antworten aggressiv. Verwenden Sie kleinere, effizientere Modelle für einfachere Aufgaben, um Kosten zu senken.

Quellen

  • vLLM Production Stack Dokumentation: Quelle für die Bereitstellung von vLLM auf Kubernetes mit Helm-Charts und das Verständnis seiner Konfiguration.
  • Etiq AI – Production LLM Systems: Quelle für Prinzipien von Robustheitstests, RAG-Evaluierung und die „Produktionsrealität".
  • DigitalOcean – Deploy llm-d on Kubernetes: Quelle für praktische Schritte zur Bereitstellung verteilter LLM-Inferenz auf Kubernetes und GPU-Auswahl.
  • Google Cloud Blog – Vertex AI Open Model Guide: Quelle für Modellentdeckung, Fine-Tuning und optimiertes Serving auf verwalteten Plattformen.
  • vLLM Kthena Dokumentation: Quelle für die Bereitstellung von Multi-Node-vLLM-Diensten mit Kthena und Volcano.
  • Hivenet – Production Checklist for Your LLM API: Quelle für eine praktische Checkliste zu Client-Hygiene, Server-Einstellungen, Zuverlässigkeit und Überwachung.
  • Deepchecks – How are teams implementing LLMOps?: Quelle für LLMOps-Referenzarchitektur, Implementierungsphasen und operative Best Practices.

— Editorial Team

Advertisement 728x90

Weiterlesen