LMDeploy هي مجموعة أدوات لضغط ونشر وخدمة نماذج اللغة الكبيرة (LLM)، تم تطويرها بواسطة فريقي MMRazor و MMDeploy. يركز هذا المشروع على توفير حلول استنتاج ونشر وخدمة فعالة لنماذج اللغة الكبيرة (LLM) ونماذج الرؤية واللغة (VLM).
إنتاجية طلبات LMDeploy أعلى بمقدار 1.8 مرة من vLLM، من خلال تقديم ميزات رئيسية مثل المعالجة الدفعية المستمرة (continuous batching)، وذاكرة التخزين المؤقت KV المقسمة (chunked KV cache)، والتقسيم الديناميكي والاندماج، والتوازي الموتري (tensor parallelism)، ونواة CUDA عالية الأداء.
يدعم LMDeploy تكميم الأوزان وتكميم k/v، وأداء الاستنتاج 4 بت أعلى بمقدار 2.4 مرة من FP16، وقد تم تأكيد جودة التكميم من خلال تقييم OpenCompass.
باستخدام خدمة توزيع الطلبات، يسهل LMDeploy نشر خدمة نماذج متعددة بكفاءة وسهولة على أجهزة متعددة وبطاقات متعددة.
من خلال تخزين k/v للانتباه مؤقتًا أثناء محادثات متعددة الأدوار، يتذكر المحرك سجل المحادثة، وبالتالي يتجنب المعالجة المتكررة للجلسات السابقة.
يدعم LMDeploy استخدام تكميم KV Cache و AWQ والتخزين المؤقت التلقائي للبادئة في نفس الوقت.
قام LMDeploy بتطوير محركين للاستنتاج:
يختلف المحركان في أنواع النماذج المدعومة وأنواع بيانات الاستنتاج، ويمكن للمستخدمين اختيار المحرك المناسب وفقًا للاحتياجات الفعلية.
يدعم LMDeploy مجموعة واسعة من أنواع النماذج:
يوصى باستخدام pip للتثبيت في بيئة conda (يدعم 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 هي مجموعة أدوات نشر نماذج لغة كبيرة قوية وممتازة الأداء، ومناسبة لمجموعة متنوعة من السيناريوهات من تجارب البحث والتطوير إلى نشر الإنتاج. إن بنية المحرك المزدوج وتقنية التكميم المتقدمة ودعم النماذج الواسع تجعلها أداة مهمة لمطوري تطبيقات الذكاء الاصطناعي. سواء كانت بيئة إنتاج تسعى إلى أقصى أداء، أو سيناريو بحث وتطوير يحتاج إلى تكرار سريع، يمكن لـ LMDeploy توفير الحل المناسب.