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 開發了兩個推理引擎:
兩個引擎在支援的模型類型和推理資料類型上有所不同,用戶可根據實際需求選擇合適的引擎。
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 都能提供合適的解決方案。