LMDeploy 推論デプロイツール(エルエムデプロイ スイロンデプロイツール)
Shanghai AILabが開発したLLM推論・デプロイフレームワーク。TurboMind推論エンジンを搭載しvLLM比で最大1.8倍のスループットを実現。Quantization(AWQ/GPTQ/W4A16/W8A8)・INT4/INT8キャッシュ量子化・Infight Batching・Prefix Cachingを統合した商用グレードのサービング基盤。
LMDeployとは
LMDeploy(Language Model Deployment)は、上海AIラボ(Shanghai AI Laboratory)が開発したオープンソースのLLM推論・デプロイフレームワークです。同ラボが開発するInternLMシリーズの本番サービングで培ったノウハウが凝縮されており、商用グレードの信頼性と高パフォーマンスを特徴とします。
TurboMindエンジン
LMDeployの中核であるTurboMindはC++/CUDAで実装された高性能推論エンジンです。
主な最適化技術:
- Paged KV Cache: 非連続メモリ管理でKVキャッシュのフラグメンテーション排除
- Continuous Batching: リクエスト単位のバッチ動的構築で GPU稼働率最大化
- Flash Attention 2: メモリI/O最適化アテンション計算
- Tensor Parallelism: 最大8 GPU横断のモデル並列
- Prefix Caching: システムプロンプトのKVキャッシュ再利用で初回遅延90%削減
vLLMとのスループット比較
| モデル | HW | バッチサイズ | vLLM (tok/s) | LMDeploy (tok/s) | 改善率 |
|---|---|---|---|---|---|
| Llama 3.1 8B | A100×1 | 128 | 4,100 | 5,300 | +29% |
| Llama 3.1 70B | A100×4 | 128 | 1,800 | 3,200 | +78% |
| InternLM2-20B | A100×1 | 64 | 2,600 | 3,100 | +19% |
| Qwen2.5-7B | RTX 4090×1 | 64 | 3,800 | 4,500 | +18% |
※ W4A16量子化適用時。数値は公開ベンチマーク・各社報告値からの参考値。
量子化サポート
| 手法 | 精度 | メモリ削減 | 品質損失 | 対応GPU |
|---|---|---|---|---|
| W4A16 (AWQ) | 4bit重み/16bit活性 | 約75% | <1% | CUDA 8.0+ |
| W8A8 | 8bit重み・活性両方 | 約50% | <0.5% | Ada Lovelace以降 |
| INT4 KV Cache | KVキャッシュ4bit | 20〜30% | 微小 | CUDA 8.0+ |
| INT8 KV Cache | KVキャッシュ8bit | 10〜15% | 極小 | CUDA 8.0+ |
インストールと起動
pip install lmdeploy
# モデルを変換(Hugging Face → TurboMind形式)
lmdeploy convert llama3 meta-llama/Meta-Llama-3.1-8B-Instruct \
--tp 1 --quant-policy 4
# OpenAI互換サーバー起動
lmdeploy serve api_server \
meta-llama/Meta-Llama-3.1-8B-Instruct \
--backend turbomind \
--tp 1 \
--quant-policy 4 \
--server-port 23333
Python APIで直接推論
from lmdeploy import pipeline, TurbomindEngineConfig
pipe = pipeline(
"meta-llama/Meta-Llama-3.1-8B-Instruct",
backend_config=TurbomindEngineConfig(
tp=2, # 2 GPU Tensor Parallel
quant_policy=4, # W4A16 AWQ量子化
cache_max_entry_count=0.8, # KVキャッシュ用VRAM 80%割当
)
)
response = pipe(["LMDeployの特徴を教えてください"])
print(response[0].text)
InternLMシリーズとの親和性
LMDeployはInternLM2/InternLM2.5/InternVL等、上海AIラボのモデルで最高のパフォーマンスを発揮するよう最適化されています。特にInternVL2(マルチモーダル)のバッチ画像処理でvLLM比2.1倍のスループットが報告されています。
FAQ
Q1: vLLMとどちらを選ぶべきですか? A: vLLMは汎用性・コミュニティの大きさが強みです。LMDeployはInternLM/Qwen系で高スループットが必要な場合、またはW8A8量子化(Ada Lovelace GPU必要)を使いたい場合に優位です。
Q2: マルチモーダル対応はありますか? A: InternVL2・LLaVA・Qwen-VLをサポートしています。画像入力はOpenAI Vision API互換フォーマットで送信できます。
Q3: AMD GPUは使えますか? A: 公式はNVIDIA CUDA専用です。AMD対応はコミュニティフォークで実験的サポートがあります。
Q4: ライセンスは何ですか? A: Apache 2.0ライセンスで商用利用可能です。
まとめ
LMDeployはTurboMindエンジンによる高スループットとW4A16/W8A8量子化の組み合わせで、vLLM比最大1.8倍の性能を発揮する商用グレードLLMサービングフレームワークです。InternLM/Qwen/Llama系モデルの本番デプロイに特に適しており、OpenAI互換APIで既存システムへの統合も容易です。