LMDeploy は、大規模言語モデルを圧縮、デプロイ、およびサービス提供するためのツールキットであり、MMRazor と MMDeploy チームによって開発されました。このプロジェクトは、大規模言語モデル (LLM) および視覚-言語モデル (VLM) に、効率的な推論、デプロイ、およびサービスソリューションを提供することに焦点を当てています。
LMDeploy のリクエストスループットは vLLM より 1.8 倍高く、持続的バッチ処理 (continuous batching)、チャンク化された KV キャッシュ、動的分割融合、テンソル並列処理、高性能 CUDA カーネルなどの主要な機能が導入されています。
LMDeploy は重み量子化と k/v 量子化をサポートしており、4 ビット推論の性能は FP16 より 2.4 倍高く、量子化品質は OpenCompass によって評価され確認されています。
リクエスト分散サービスを利用することで、LMDeploy は複数のマシンと複数のカードに、簡単かつ効率的にマルチモデルサービスをデプロイできます。
複数ターンの対話プロセス中に注意の k/v をキャッシュすることで、エンジンは対話履歴を記憶し、履歴セッションの繰り返し処理を回避します。
LMDeploy は、KV Cache 量子化、AWQ、および自動プレフィックスキャッシュの同時使用をサポートしています。
LMDeploy は 2 つの推論エンジンを開発しました。
2 つのエンジンは、サポートするモデルタイプと推論データタイプが異なり、ユーザーは実際のニーズに応じて適切なエンジンを選択できます。
LMDeploy は幅広いモデルタイプをサポートしています。
conda 環境で pip を使用してインストールすることをお勧めします (Python 3.8-3.12 をサポート):
conda create -n lmdeploy python=3.8 -y
conda activate lmdeploy
pip install lmdeploy
import lmdeploy
with lmdeploy.pipeline("internlm/internlm3-8b-instruct") as pipe:
response = pipe(["Hi, pls intro yourself", "Shanghai is"])
print(response)
from lmdeploy import pipeline
from lmdeploy.vl import load_image
pipe = pipeline('OpenGVLab/InternVL2-8B')
image = load_image('path/to/image.jpg')
response = pipe(('描述这张图片', image))
print(response)
LMDeploy は複数のモデルライブラリをサポートしています。
LMDEPLOY_USE_MODELSCOPE=True
を設定LMDEPLOY_USE_OPENMIND_HUB=True
を設定LMDeploy は複数のオープンソースプロジェクトと深く統合されています。
LMDeploy は、強力で高性能な大規模言語モデルのデプロイツールキットであり、研究開発実験から本番デプロイまで、さまざまなシナリオに適しています。そのデュアルエンジンアーキテクチャ、高度な量子化技術、および幅広いモデルサポートにより、AI アプリケーション開発者にとって重要なツール選択肢となっています。究極のパフォーマンスを追求する本番環境でも、迅速なイテレーションが必要な研究開発シナリオでも、LMDeploy は適切なソリューションを提供できます。