LMDeploy

Boîte à outils de déploiement LLM efficace par Shanghai AI Lab — inférence, quantification et service de niveau production pour les grands modèles de langage avec batchs continus et PagedAttention.

🏛️ Développé par OpenMMLab / Shanghai AI Lab | Licence Apache-2.0 | 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. Construit par la même équipe derrière 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é en Python pour une large compatibilité des modèles

  • Batching continu — maximise l'utilisation du GPU à travers les requêtes concurrentes

  • PagedAttention — gestion efficace du cache KV (similaire à vLLM)

  • Quantification 4-bit / 8-bit — prise en charge d'AWQ et de SmoothQuant

  • Modèles Vision-Langage — prise en charge d'InternVL, LLaVA, Qwen-VL

Comparé à vLLM, le moteur TurboMind de LMDeploy offre environ 1,36× plus de débit sur Llama 3 8B à batch=32, et sa quantification AWQ est de première classe — pas un simple ajout. Pour les VLMs (surtout InternVL2), LMDeploy est la pile de déploiement de référence.

Pourquoi LMDeploy ?

Fonctionnalité
LMDeploy
vLLM
TGI

Batching continu

Quantification AWQ

Décodage spéculatif

Vision-Langage

Limité

Limité

API OpenAI

TurboMind (moteur personnalisé)


Démarrage rapide sur Clore.ai

Étape 1 : Choisir un serveur GPU

Sur clore.aiarrow-up-right place de marché :

  • Minimum : GPU NVIDIA avec 8 Go de VRAM (pour modèles 7B)

  • Recommandé : RTX 3090/4090 (24GB) ou A100 (40/80GB)

  • CUDA : 11.8 ou 12.x requis

Étape 2 : Déployer LMDeploy Docker

Mappages de ports :

Port du conteneur
Usage

22

Accès SSH

23333

Serveur API LMDeploy

Variables d'environnement :

Étape 3 : SSH et vérification


Démarrage du serveur API

Serveur compatible OpenAI (recommandé)

Moteur PyTorch (compatibilité plus large)

Sortie du démarrage du serveur

circle-check

Modèles pris en charge

Modèles de texte

Modèles Vision-Langage


Quantification

Quantification AWQ 4-bit

L'AWQ de LMDeploy (Activation-aware Weight Quantization) produit une excellente qualité en 4 bits :

SmoothQuant W8A8

Quantification 8-bit des poids et des activations (mieux pour les déploiements sensibles au débit) :

Impact de la quantification

Quantification
VRAM (7B)
Perte de qualité
Gain de débit

Aucun (bf16)

~14GB

Aucune

Référence

SmoothQuant W8A8

~8GB

Minimale

+20%

AWQ W4A16

~4GB

Faible

+15%

GPTQ W4A16

~4GB

Faible

+10%

circle-info

Recommandation AWQ : Pour la plupart des cas d'utilisation, AWQ 4-bit est le meilleur compromis entre qualité et économies de VRAM. Utilisez --w-group-size 128 pour une meilleure qualité avec une utilisation mémoire légèrement plus élevée.


Exemples d'utilisation de l'API

Client Python

Streaming

Client Python natif LMDeploy

Modèle Vision-Langage


Déploiement Multi-GPU

Parallélisme de tenseurs


Configuration avancée

Configuration du moteur TurboMind

Configuration de génération


Surveillance & métriques

Vérifier la santé du serveur

Surveillance GPU


Exemple Docker Compose


Benchmarking

Sortie d'exemple (RTX 4090, TurboMind, bf16) :

Sur A100 80GB, attendez-vous à ~2.2× plus de débit vs RTX 4090 à forte concurrence en raison de la bande passante mémoire HBM2e (2 TB/s vs 1 TB/s).


Recommandations GPU Clore.ai

Choisissez en fonction de la taille du modèle cible et de la charge de service :

Cas d’utilisation
GPU
VRAM
Pourquoi

Modèles 7–13B, dev/staging

RTX 3090

24 Go

Meilleur ratio $/VRAM ; gère 7B bf16 ou 13B AWQ

Modèles 7–13B, production

RTX 4090

24 Go

~40% plus rapide que 3090 à VRAM égale ; 412 tok/s sur Llama 3 8B

Modèles 70B, service d'équipe

A100 40GB

40 Go

Compatibilité 70B AWQ ; mémoire ECC pour la fiabilité

Modèles 70B, haut débit

A100 80GB

80 Go

Compatibilité 70B bf16 ; 2× débit vs A100 40GB à batch=32

Choix économique : RTX 3090 + AWQ 4-bit — sert Llama 3 8B à ~280 tok/s batch=8, couvre la plupart des cas d'utilisation d'API.

Choix vitesse : RTX 4090 — le plus rapide par dollar pour les modèles 7–13B ; TurboMind exploite chaque GB/s de sa bande passante de 1 TB/s.

Choix production : A100 80GB — exécute Qwen2-72B ou Llama 3 70B en bf16 complet sans compromis de qualité liés à la quantification ; s'intègre facilement dans un service GPU multi-instance.


Dépannage

Modèle ne se charge pas

CUDA : mémoire insuffisante

Port déjà utilisé

circle-exclamation

Recommandations GPU Clore.ai

Le moteur TurboMind de LMDeploy et la quantification W4A16 offrent un débit de premier ordre — surtout sur les GPU Ampere/Hopper.

GPU
VRAM
Prix Clore.ai
Débit Llama 3 8B
Llama 3 70B Q4

RTX 3090

24 Go

~0,12 $/h

~120 tok/s (fp16)

❌ Trop grand

RTX 4090

24 Go

~0,70 $/h

~200 tok/s (fp16)

❌ Trop grand

A100 40GB

40 Go

~1,20 $/h

~160 tok/s (fp16)

~55 tok/s (W4A16)

A100 80GB

80 Go

~2,00 $/h

~175 tok/s (fp16)

~80 tok/s (fp16)

2× RTX 4090

48 GB

~$1.40/hr

~380 tok/s (parallélisme de tenseurs)

~60 tok/s

circle-info

RTX 3090 à ~0,12 $/hr est le meilleur choix pour les modèles 7B–13B. Le moteur TurboMind de LMDeploy extrait un débit proche du maximum des GPU grand public. Un seul RTX 3090 servant Llama 3 8B gère 120 tok/s — suffisant pour des APIs en production avec 10–20 utilisateurs concurrents.

Pour les modèles 70B : A100 40GB (~0,20 $/hr) avec quantification W4A16 fournit ~55 tok/s — plus rentable que deux RTX 4090.


Ressources

Mis à jour

Ce contenu vous a-t-il été utile ?