Home
Login

LMDeploy هي مجموعة أدوات لضغط ونشر وخدمة نماذج اللغة الكبيرة.

Apache-2.0Python 6.6kInternLM Last Updated: 2025-06-19

نظرة عامة على مشروع LMDeploy

LMDeploy هي مجموعة أدوات لضغط ونشر وخدمة نماذج اللغة الكبيرة (LLM)، تم تطويرها بواسطة فريقي MMRazor و MMDeploy. يركز هذا المشروع على توفير حلول استنتاج ونشر وخدمة فعالة لنماذج اللغة الكبيرة (LLM) ونماذج الرؤية واللغة (VLM).

الميزات الأساسية

1. استنتاج فعال (Efficient Inference)

إنتاجية طلبات LMDeploy أعلى بمقدار 1.8 مرة من vLLM، من خلال تقديم ميزات رئيسية مثل المعالجة الدفعية المستمرة (continuous batching)، وذاكرة التخزين المؤقت KV المقسمة (chunked KV cache)، والتقسيم الديناميكي والاندماج، والتوازي الموتري (tensor parallelism)، ونواة CUDA عالية الأداء.

2. تكميم فعال (Effective Quantization)

يدعم LMDeploy تكميم الأوزان وتكميم k/v، وأداء الاستنتاج 4 بت أعلى بمقدار 2.4 مرة من FP16، وقد تم تأكيد جودة التكميم من خلال تقييم OpenCompass.

3. خدمة توزيع سهلة (Effortless Distribution Server)

باستخدام خدمة توزيع الطلبات، يسهل LMDeploy نشر خدمة نماذج متعددة بكفاءة وسهولة على أجهزة متعددة وبطاقات متعددة.

4. وضع الاستنتاج التفاعلي (Interactive Inference Mode)

من خلال تخزين k/v للانتباه مؤقتًا أثناء محادثات متعددة الأدوار، يتذكر المحرك سجل المحادثة، وبالتالي يتجنب المعالجة المتكررة للجلسات السابقة.

5. توافق ممتاز (Excellent Compatibility)

يدعم LMDeploy استخدام تكميم KV Cache و AWQ والتخزين المؤقت التلقائي للبادئة في نفس الوقت.

بنية المحرك المزدوج

قام LMDeploy بتطوير محركين للاستنتاج:

محرك TurboMind

  • التركيز: السعي لتحقيق التحسين المطلق لأداء الاستنتاج
  • الميزات: تطبيق C++/CUDA مُحسَّن للغاية، مصمم خصيصًا لبيئات الإنتاج

محرك PyTorch

  • التركيز: تطوير Python خالص، مما يقلل من حاجز الدخول للمطورين
  • الميزات: يسهل التجربة السريعة للميزات والتقنيات الجديدة، وسهل التوسيع والتخصيص

يختلف المحركان في أنواع النماذج المدعومة وأنواع بيانات الاستنتاج، ويمكن للمستخدمين اختيار المحرك المناسب وفقًا للاحتياجات الفعلية.

النماذج المدعومة

يدعم LMDeploy مجموعة واسعة من أنواع النماذج:

نماذج اللغة الكبيرة (LLMs)

  • سلسلة InternLM (InternLM، InternLM2، InternLM2.5، InternLM3)
  • سلسلة Llama (Llama2، Llama3، Llama3.1)
  • سلسلة Qwen (Qwen1.5، Qwen1.5-MOE، إلخ.)
  • سلسلة Baichuan2
  • Mistral، Mixtral
  • سلسلة DeepSeek
  • Gemma
  • Code Llama
  • المزيد من النماذج قيد الإضافة باستمرار

نماذج الرؤية واللغة (VLMs)

  • سلسلة InternVL
  • سلسلة InternLM-XComposer
  • سلسلة LLaVA
  • سلسلة CogVLM
  • Mini-InternVL
  • DeepSeek-VL
  • المزيد من النماذج متعددة الوسائط

طريقة التثبيت

تثبيت سريع

يوصى باستخدام pip للتثبيت في بيئة conda (يدعم Python 3.8-3.12):

conda create -n lmdeploy python=3.8 -y
conda activate lmdeploy
pip install lmdeploy

تنبيهات

  • تعتمد الحزمة المبنية مسبقًا الافتراضية على CUDA 12 (من الإصدار v0.3.0)
  • يدعم تثبيت منصة CUDA 11+
  • يدعم البناء من المصدر

مثال للاستخدام السريع

الاستنتاج الأساسي

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 العديد من مكتبات النماذج:

  1. HuggingFace (افتراضي)
  2. ModelScope: قم بتعيين متغير البيئة LMDEPLOY_USE_MODELSCOPE=True
  3. openMind Hub: قم بتعيين متغير البيئة LMDEPLOY_USE_OPENMIND_HUB=True

سيناريوهات التطبيق

  1. نشر بيئة الإنتاج: خدمة LLM ذات إنتاجية عالية
  2. تجربة البحث والتطوير: التحقق السريع من النماذج والخوارزميات الجديدة
  3. بيئة محدودة الموارد: تقليل متطلبات الموارد من خلال تقنية التكميم
  4. تطبيقات متعددة الوسائط: استنتاج فعال لنماذج الرؤية واللغة
  5. الأجهزة الطرفية: دعم منصات NVIDIA Jetson وغيرها

التكامل البيئي

يتكامل LMDeploy بعمق مع العديد من المشاريع مفتوحة المصدر:

  • OpenAOE: تكامل سلس لخدمة LMDeploy
  • Swift: كمسرع استنتاج VLM افتراضي
  • BentoML: توفير مشاريع نموذجية للنشر
  • منصة Jetson: تكييف خاص للأجهزة الطرفية

ملخص

LMDeploy هي مجموعة أدوات نشر نماذج لغة كبيرة قوية وممتازة الأداء، ومناسبة لمجموعة متنوعة من السيناريوهات من تجارب البحث والتطوير إلى نشر الإنتاج. إن بنية المحرك المزدوج وتقنية التكميم المتقدمة ودعم النماذج الواسع تجعلها أداة مهمة لمطوري تطبيقات الذكاء الاصطناعي. سواء كانت بيئة إنتاج تسعى إلى أقصى أداء، أو سيناريو بحث وتطوير يحتاج إلى تكرار سريع، يمكن لـ LMDeploy توفير الحل المناسب.