LMDeploy
Boîte à outils efficace de déploiement de LLM par Shanghai AI Lab — inférence, quantification et service de niveau production pour les grands modèles de langage avec regroupement continu et PagedAttention.
🏛️ Développé par OpenMMLab / Shanghai AI Lab | Licence Apache-2.0 | plus de 4 000 étoiles GitHub
Qu'est-ce que LMDeploy ?
LMDeploy est une boîte à outils complète pour compresser, déployer et servir des grands modèles de langage en production. Développé par la même équipe qu'OpenMMLab (MMDetection, MMSeg), il apporte des optimisations de niveau recherche au déploiement pratique :
Moteur TurboMind — backend d'inférence C++ haute performance avec optimisations CUDA
Moteur PyTorch — moteur flexible basé sur Python pour une large compatibilité des modèles
Lotissement continu — maximise l'utilisation du GPU sur les requêtes simultanées
PagedAttention — gestion efficace du cache KV (similaire à vLLM)
Quantification 4 bits / 8 bits — prise en charge d'AWQ et de SmoothQuant
Modèles vision-langage — prise en charge d'InternVL, LLaVA et Qwen-VL
Par rapport à vLLM, le moteur TurboMind de LMDeploy offre un débit environ 1,36× supérieur sur Llama 3 8B à batch=32, et sa quantification AWQ est une fonctionnalité de premier plan — pas une réflexion après coup. Pour les VLM (surtout InternVL2), LMDeploy est la pile de déploiement de référence.
Pourquoi LMDeploy ?
Lotissement continu
✅
✅
✅
Quantification AWQ
✅
✅
❌
Décodage spéculatif
✅
✅
✅
Vision-langage
✅
Limité
Limité
API OpenAI
✅
✅
✅
TurboMind (moteur personnalisé)
✅
❌
❌
Démarrage rapide sur Clore.ai
Étape 1 : sélectionner un serveur GPU
Sur clore.ai place de marché :
Minimum : GPU NVIDIA avec 8 Go de VRAM (pour les modèles 7B)
Recommandé : RTX 3090/4090 (24 Go) ou A100 (40/80 Go)
CUDA : 11.8 ou 12.x requis
Étape 2 : déployer le Docker LMDeploy
Mappages de ports :
22
Accès SSH
23333
Serveur API LMDeploy
Variables d'environnement :
Étape 3 : se connecter en SSH et vérifier
Démarrage du serveur API
Serveur compatible OpenAI (recommandé)
Moteur PyTorch (compatibilité plus large)
Sortie de démarrage du serveur
Une fois démarré, LMDeploy expose une documentation API interactive à http://<your-ip>:23333/docs — utile pour tester les points de terminaison directement depuis le navigateur.
Modèles pris en charge
Modèles textuels
Modèles vision-langage
Quantification
Quantification AWQ 4 bits
L'AWQ de LMDeploy (Activation-aware Weight Quantization) offre une excellente qualité en 4 bits :
SmoothQuant W8A8
Quantification des poids et activations sur 8 bits (mieux pour les déploiements où le débit est critique) :
Impact de la quantification
Aucune (bf16)
~14 Go
Aucune
Référence
SmoothQuant W8A8
~8 Go
Minime
+20%
AWQ W4A16
~4 Go
Faible
+15%
GPTQ W4A16
~4 Go
Faible
+10%
Exemples d'utilisation de l'API
Client Python
Flux continu
Client Python natif LMDeploy
Modèle vision-langage
Déploiement multi-GPU
Parallélisme de tenseur
Configuration avancée
Configuration du moteur TurboMind
Configuration de génération
Surveillance et métriques
Vérifier l'état du serveur
Surveillance du GPU
Exemple de Docker Compose
Benchmark
Exemple de sortie (RTX 4090, TurboMind, bf16) :
Sur une A100 80 Go, attendez-vous à un débit environ 2,2× plus élevé qu'une RTX 4090 à forte concurrence grâce à la bande passante mémoire HBM2e (2 To/s contre 1 To/s).
Recommandations GPU Clore.ai
Choisissez en fonction de la taille cible de votre modèle et de la charge de service :
Modèles 7–13B, développement/préproduction
RTX 3090
24 Go
Meilleur rapport $/VRAM ; gère 7B bf16 ou 13B AWQ
Modèles 7–13B, production
RTX 4090
24 Go
~40 % plus rapide qu'une 3090 à VRAM égale ; 412 tok/s sur Llama 3 8B
Modèles 70B, service d'équipe
A100 40 Go
40 Go
Prend en charge 70B AWQ ; mémoire ECC pour la fiabilité
Modèles 70B, débit élevé
A100 80 Go
80 Go
Prend en charge 70B bf16 ; débit 2× supérieur à une A100 40 Go à batch=32
Choix économique : RTX 3090 + AWQ 4 bits — sert Llama 3 8B à ~280 tok/s avec batch=8, couvre la plupart des cas d'usage API.
Choix vitesse : RTX 4090 — le meilleur rapport vitesse/prix pour les modèles 7–13B ; TurboMind exploite chaque Go/s de sa bande passante de 1 To/s.
Choix production : A100 80 Go — exécutez Qwen2-72B ou Llama 3 70B en bf16 complet sans compromis sur la qualité de la quantification ; s'intègre facilement au service GPU multi-instances.
Dépannage
Le modèle ne se charge pas
Mémoire CUDA insuffisante
Port déjà utilisé
Mode réseau Docker : Lors de l'exécution dans Docker, assurez-vous que le conteneur utilise --network host ou un mappage de ports approprié (-p 23333:23333) afin que l'API soit accessible depuis l'extérieur.
Recommandations GPU Clore.ai
Le moteur TurboMind de LMDeploy et la quantification W4A16 offrent un débit parmi les meilleurs du secteur — surtout sur les GPU Ampere/Hopper.
RTX 3090
24 Go
0,07–0,21 $/h
~120 tok/s (fp16)
❌ Trop grand
RTX 4090
24 Go
0,14–0,42 $/h
~200 tok/s (fp16)
❌ Trop grand
2× RTX 4090
48 Go
0,28–0,84 $/h
~380 tok/s (parallélisme tensoriel)
~60 tok/s
Ressources
📦 Docker Hub : hub.docker.com/r/openmmlab/lmdeploy
🐙 GitHub : github.com/InternLM/lmdeploy
📚 Documentation : lmdeploy.readthedocs.io
💬 Discord : discord.gg/xa29JuW84p
🤗 Modèles préquantifiés : huggingface.co/lmdeploy
Mis à jour
Ce contenu vous a-t-il été utile ?