LMDeploy
Effizientes LLM-Deployment-Toolkit vom Shanghai AI Lab — produktionsreife Inferenz, Quantisierung und Bereitstellung für große Sprachmodelle mit Continuous Batching und PagedAttention.
🏛️ Entwickelt von OpenMMLab / Shanghai AI Lab | Apache-2.0-Lizenz | 4.000+ GitHub-Sterne
Was ist LMDeploy?
LMDeploy ist ein umfassendes Toolkit zum Komprimieren, Bereitstellen und Betreiben großer Sprachmodelle in der Produktion. Es wurde vom selben Team hinter OpenMMLab (MMDetection, MMSeg) entwickelt und bringt Optimierungen auf Forschungsniveau in die praktische Bereitstellung ein:
TurboMind-Engine — leistungsstarkes C++-Inferenz-Backend mit CUDA-Optimierungen
PyTorch-Engine — flexible Python-basierte Engine für breite Modellkompatibilität
Kontinuierliches Batching — maximiert die GPU-Auslastung über gleichzeitige Anfragen hinweg
PagedAttention — effizientes KV-Cache-Management (ähnlich wie vLLM)
4-Bit / 8-Bit-Quantisierung — Unterstützung für AWQ und SmoothQuant
Vision-Language-Modelle — Unterstützung für InternVL, LLaVA, Qwen-VL
Im Vergleich zu vLLM liefert LMDeploys TurboMind-Engine bei Llama 3 8B und batch=32 einen um etwa 1,36× höheren Durchsatz, und seine AWQ-Quantisierung ist erstklassig — kein Nebengedanke. Für VLMs (insbesondere InternVL2) ist LMDeploy der Referenz-Deployment-Stack.
Warum LMDeploy?
Kontinuierliches Batching
✅
✅
✅
AWQ-Quantisierung
✅
✅
❌
Spezulative Dekodierung
✅
✅
✅
Vision-Language
✅
Begrenzt
Begrenzt
OpenAI-API
✅
✅
✅
TurboMind (benutzerdefinierte Engine)
✅
❌
❌
Schnellstart auf Clore.ai
Schritt 1: Wählen Sie einen GPU-Server
Auf clore.ai Marktplatz:
Mindestanforderung: NVIDIA-GPU mit 8 GB VRAM (für 7B-Modelle)
Empfohlen: RTX 3090/4090 (24 GB) oder A100 (40/80 GB)
CUDA: 11.8 oder 12.x erforderlich
Schritt 2: LMDeploy-Docker bereitstellen
Port-Zuordnungen:
22
SSH-Zugriff
23333
LMDeploy-API-Server
Umgebungsvariablen:
Schritt 3: Per SSH verbinden und überprüfen
Starten des API-Servers
OpenAI-kompatibler Server (empfohlen)
PyTorch-Engine (breitere Kompatibilität)
Startausgabe des Servers
Nach dem Start stellt LMDeploy interaktive API-Dokumentation unter http://<your-ip>:23333/docs — nützlich zum direkten Testen von Endpunkten im Browser.
Unterstützte Modelle
Textmodelle
Vision-Language-Modelle
Quantisierung
AWQ 4-Bit-Quantisierung
LMDeploys AWQ (Activation-aware Weight Quantization) liefert hervorragende Qualität bei 4 Bit:
SmoothQuant W8A8
8-Bit-Quantisierung von Gewichten und Aktivierungen (besser für deployments mit hohem Durchsatz):
Auswirkung der Quantisierung
Keine (bf16)
~14 GB
Keine
Basiswert
SmoothQuant W8A8
~8 GB
Minimal
+20%
AWQ W4A16
~4 GB
Niedrig
+15%
GPTQ W4A16
~4 GB
Niedrig
+10%
API-Verwendungsbeispiele
Python-Client
Streaming
LMDeploy nativer Python-Client
Vision-Language-Modell
Multi-GPU-Bereitstellung
Tensor-Parallelismus
Erweiterte Konfiguration
TurboMind-Engine-Konfiguration
Generierungs-Konfiguration
Überwachung & Metriken
Serverzustand prüfen
GPU-Überwachung
Docker-Compose-Beispiel
Benchmarking
Beispielausgabe (RTX 4090, TurboMind, bf16):
Auf einer A100 80GB ist bei hoher Parallelität im Vergleich zur RTX 4090 ein etwa 2,2× höherer Durchsatz zu erwarten, aufgrund der HBM2e-Speicherbandbreite (2 TB/s vs. 1 TB/s).
GPU-Empfehlungen für Clore.ai
Wählen Sie basierend auf Ihrer Zielmodellgröße und Auslastung des Bereitstellungsdienstes:
7–13B-Modelle, Entwicklung/Staging
RTX 3090
24 GB
Bestes Preis/VRAM-Verhältnis; verarbeitet 7B bf16 oder 13B AWQ
7–13B-Modelle, Produktion
RTX 4090
24 GB
~40 % schneller als die 3090 bei gleichem VRAM; 412 tok/s auf Llama 3 8B
70B-Modelle, Team-Bereitstellung
A100 40GB
40 GB
Passt für 70B AWQ; ECC-Speicher für Zuverlässigkeit
70B-Modelle, hoher Durchsatz
A100 80GB
80 GB
Passt für 70B bf16; 2× Durchsatz gegenüber A100 40GB bei batch=32
Budget-Empfehlung: RTX 3090 + AWQ 4-Bit — bedient Llama 3 8B mit ~280 tok/s bei batch=8 und deckt die meisten API-Anwendungsfälle ab.
Geschwindigkeits-Empfehlung: RTX 4090 — das schnellste Preis-Leistungs-Verhältnis für 7–13B-Modelle; TurboMind holt jede GB/s aus der 1 TB/s Bandbreite heraus.
Produktions-Empfehlung: A100 80GB — Qwen2-72B oder Llama 3 70B in vollem bf16 ohne Qualitätseinbußen durch Quantisierung ausführen; passt problemlos in Multi-Instance-GPU-Bereitstellung.
Fehlerbehebung
Modell wird nicht geladen
CUDA Out of Memory
Port bereits in Verwendung
Docker-Netzwerkmodus: Wenn Sie in Docker ausführen, stellen Sie sicher, dass der Container --network host oder korrektes Port-Mapping (-p 23333:23333) verwendet, damit die API von außen erreichbar ist.
GPU-Empfehlungen für Clore.ai
Die TurboMind-Engine und die W4A16-Quantisierung von LMDeploy liefern branchenführenden Durchsatz — besonders auf Ampere-/Hopper-GPUs.
RTX 3090
24 GB
ca. 0,07–0,21 $/h
~120 tok/s (fp16)
❌ Zu groß
RTX 4090
24 GB
ca. 0,14–0,42 $/h
~200 tok/s (fp16)
❌ Zu groß
2× RTX 4090
48 GB
$0.28–0.84/Std.
~380 tok/s (Tensor-Parallelismus)
~60 tok/s
Ressourcen
📦 Docker Hub: hub.docker.com/r/openmmlab/lmdeploy
🐙 GitHub: github.com/InternLM/lmdeploy
📚 Dokumentation: lmdeploy.readthedocs.io
💬 Discord: discord.gg/xa29JuW84p
🤗 Vorquantisierte Modelle: huggingface.co/lmdeploy
Zuletzt aktualisiert
War das hilfreich?