تخطَّ إلى المحتوى

LMDeploy - ضغط و خدمة LLM

LMDeploy - ضغط و خدمة LLM

LMDeploy (من نظام InternLM/OpenMMLab) هي مجموعة أدوات لـ ضغط وتكميم وخدمة نماذج اللغة الكبيرة. محرك TurboMind عالي الأداء الخاص بها يوفر إنتاجية قوية عبر batching دائم و KV cache محظور وأنواى CUDA محسّنة وتوفر أيضًا واجهة خلفية PyTorch. يدعم تكميم وزن AWQ 4-بت و KV-cache quantization وخادم API متوافق مع OpenAI ونماذج رؤية اللغة (VLMs).

التثبيت

الطريقةالأمر
pippip install lmdeploy
مع إضافات CUDApip install lmdeploy[all]
Dockerdocker run --gpus all openmmlab/lmdeploy:latest
المتطلباتNVIDIA GPU + CUDA
التحققlmdeploy --version

استدلال سريع (واجهة سطر أوامس)

# دردشة تفاعلية في المحطة الطرفية (محرك TurboMind)
lmdeploy chat internlm/internlm2_5-7b-chat

# استدلال Batch/pipeline في Python (أدناه)

خط أنابيب Python

from lmdeploy import pipeline

pipe = pipeline("internlm/internlm2_5-7b-chat")
resp = pipe(["Explain RAG in one sentence."])
print(resp[0].text)
الاستدعاءالوصف
pipeline(model)تحميل نموذج مع المحرك الافتراضي (TurboMind)
pipe([prompts])استدلال الدفعات
GenerationConfig(...)معاملات العينات (درجة الحرارة و top_p و max_new_tokens)
TurbomindEngineConfig(...)ضبط المحرك (tp و cache و session len)

خدمة API

# خادم متوافق مع OpenAI على المنفذ 23333
lmdeploy serve api_server internlm/internlm2_5-7b-chat --server-port 23333

# الاستعلام عنها
curl http://localhost:23333/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"model":"internlm2_5-7b-chat","messages":[{"role":"user","content":"hi"}]}'
الأمرالوصف
lmdeploy serve api_server MODELبدء خادم متوافق مع OpenAI
lmdeploy serve gradio MODELإطلاق واجهة ويب Gradio
--server-portمنفذ API
--tp Ntensor parallelism عبر N GPUs
--session-len Nأقصى طول سياق

التكميم (AWQ)

# تكميم وزن AWQ 4-بت فقط
lmdeploy lite auto_awq internlm/internlm2_5-7b-chat \
  --work-dir internlm2_5-7b-chat-4bit

# خدمة النموذج المكمم
lmdeploy serve api_server internlm2_5-7b-chat-4bit --model-format awq
الأمرالوصف
lmdeploy lite auto_awq MODELإنتاج نموذج AWQ 4-بت
lmdeploy lite calibrate MODELخطوة المعايرة
--model-format awqخدمة نموذج مكمم AWQ
كميم KV-cache--quant-policy 4 أو 8 لـ INT4/INT8 KV cache

تكوين المحرك

from lmdeploy import pipeline, TurbomindEngineConfig
pipe = pipeline("internlm/internlm2_5-7b-chat",
    backend_config=TurbomindEngineConfig(
        tp=2, session_len=8192, cache_max_entry_count=0.8, quant_policy=8))
الخيارالتأثير
tpGPUs tensor-parallel
session_lenطول السياق
cache_max_entry_countجزء من VRAM لـ KV cache
quant_policyتكميم KV cache (4/8)

نماذج رؤية اللغة

الإمكانيةملاحظة
دعم VLMخدمة نماذج مثل InternVL و LLaVA و Qwen-VL
نفس APIرسائل متعددة الوسائط عبر خادم متوافق مع OpenAI

LMDeploy مقابل المحركات الأخرى

الجانبLMDeployvLLMAphrodite
المحركTurboMind + PyTorchPagedAttentionvLLM fork
التكميمAWQ + KV cache quantمتزايدتنسيقات الأوسع
دعم VLMقوينعمنعم
الأفضل لـإنتاجية عالية + AWQ + VLMsخدمة معياريةتنسيقات تكميم المجتمع

موارد