Home
Login

vllm هي مكتبة سريعة وسهلة الاستخدام للاستدلال السريع بنماذج اللغة الكبيرة.

Apache-2.0Python 49.6kvllm-project Last Updated: 2025-06-14

vLLM: محرك استدلال وخدمة نماذج اللغة الكبيرة (LLM) سريع وسهل الاستخدام

مقدمة:

vLLM هي مكتبة بايثون عالية الإنتاجية وفعالة لاستدلال وخدمة نماذج اللغة الكبيرة (LLM) على نطاق واسع. تهدف إلى تبسيط نشر نماذج اللغة الكبيرة (LLM) وتحسين سرعة الاستدلال بشكل كبير مع تقليل التكاليف. تركز vLLM على تحسين إدارة الذاكرة والجدولة لتحقيق أداء متميز.

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

  • PagedAttention (الانتباه المقسم إلى صفحات): الابتكار الأساسي في vLLM هو خوارزمية PagedAttention. تتطلب آليات الانتباه التقليدية تخزين جميع المفاتيح والقيم السابقة لكل رمز (token)، مما يؤدي إلى استهلاك كبير للذاكرة، خاصة في التسلسلات الطويلة. تقسم PagedAttention مفاتيح وقيم الانتباه إلى صفحات، على غرار تقسيم الذاكرة الظاهرية في أنظمة التشغيل. يتيح ذلك لـ vLLM إدارة ومشاركة ذاكرة الانتباه ديناميكيًا، مما يقلل بشكل كبير من هدر الذاكرة ويدعم تسلسلات أطول وأحجام معالجة دفعية أكبر.

  • Continuous Batching (المعالجة الدفعية المستمرة): تدعم vLLM المعالجة الدفعية المستمرة، مما يعني أنه يمكنها تجميع الرموز (tokens) من طلبات مختلفة ديناميكيًا في دفعة واحدة للمعالجة. هذا يزيد من استخدام موارد وحدة معالجة الرسومات (GPU) ويحسن الإنتاجية.

  • Efficient CUDA Kernels (نواة CUDA فعالة): تستخدم vLLM نواة CUDA مُحسَّنة للغاية لتنفيذ PagedAttention وعمليات أخرى. تم تصميم هذه النواة بعناية للاستفادة الكاملة من قدرات المعالجة المتوازية لوحدة معالجة الرسومات (GPU).

  • Easy to Use (سهولة الاستخدام): توفر vLLM واجهة برمجة تطبيقات (API) بايثون بسيطة وسهلة الاستخدام، مما يجعل من السهل دمجها في تطبيقات نماذج اللغة الكبيرة (LLM) الحالية. كما أنها تدعم العديد من أطر عمل نماذج اللغة الكبيرة (LLM) الشائعة، مثل Hugging Face Transformers.

  • Support for Multiple Model Architectures (دعم العديد من هياكل النماذج): تدعم vLLM العديد من هياكل نماذج اللغة الكبيرة (LLM) الشائعة، بما في ذلك:

    • Llama 2
    • Llama
    • Mistral
    • MPT
    • Falcon
    • GPT-2
    • GPT-J
    • GPTNeoX
    • والمزيد من النماذج قيد الإضافة.
  • Distributed Inference (الاستدلال الموزع): تدعم vLLM الاستدلال الموزع، مما يسمح لك بتوسيع نطاق استدلال نماذج اللغة الكبيرة (LLM) عبر وحدات معالجة الرسومات (GPU) متعددة.

  • Tensor Parallelism (التوازي الموتري): دعم التوازي الموتري، مما يزيد من أداء الاستدلال الموزع.

  • Streaming Output (إخراج متدفق): تدعم vLLM الإخراج المتدفق، مما يسمح لك بتلقي الرموز (tokens) فور إنشائها، دون الحاجة إلى انتظار اكتمال التسلسل بأكمله.

  • OpenAI API Compatibility (توافق مع واجهة برمجة تطبيقات OpenAI): توفر vLLM خادمًا متوافقًا مع واجهة برمجة تطبيقات OpenAI، مما يسهل الترحيل من OpenAI أو التكامل معه.

المزايا الرئيسية:

  • Higher Throughput (إنتاجية أعلى): يمكن لـ vLLM تحسين الإنتاجية بشكل كبير مقارنة بطرق استدلال نماذج اللغة الكبيرة (LLM) التقليدية، غالبًا بمقدار 10 مرات أو أكثر.
  • Lower Latency (زمن انتقال أقل): يمكن لـ vLLM تقليل زمن الانتقال، مما يوفر أوقات استجابة أسرع.
  • Lower Cost (تكلفة أقل): من خلال تحسين استخدام وحدة معالجة الرسومات (GPU)، يمكن لـ vLLM تقليل تكلفة استدلال نماذج اللغة الكبيرة (LLM).
  • Support for Longer Sequences (دعم التسلسلات الأطول): تسمح PagedAttention لـ vLLM بمعالجة تسلسلات أطول دون استنفاد الذاكرة.
  • Easy to Deploy (سهولة النشر): يمكن نشر vLLM بسهولة في مجموعة متنوعة من البيئات، بما في ذلك الخوادم السحابية والأجهزة المحلية والأجهزة الطرفية.

التثبيت:

يمكن تثبيت vLLM باستخدام pip:

pip install vllm

بداية سريعة:

فيما يلي مثال بسيط لاستخدام vLLM لإنشاء نص:

from vllm import LLM, SamplingParams

# تحميل النموذج
llm = LLM(model="facebook/opt-125m")

# تعريف معلمات أخذ العينات
sampling_params = SamplingParams(temperature=0.8, top_p=0.95, max_tokens=256)

# إنشاء النص
prompts = ["Hello, my name is", "The capital of France is"]
outputs = llm.generate(prompts, sampling_params)

# طباعة الإخراج
for output in outputs:
    print(output.prompt)
    print(output.outputs[0].text)

حالات الاستخدام:

تعتبر vLLM مناسبة لمجموعة متنوعة من تطبيقات نماذج اللغة الكبيرة (LLM)، بما في ذلك:

  • Chatbots (روبوتات الدردشة): بناء روبوتات دردشة عالية الأداء يمكنها التعامل مع المحادثات المعقدة.
  • Text Generation (إنشاء النصوص): إنشاء نصوص عالية الجودة لأغراض مختلفة، مثل إنشاء المحتوى وإنشاء التعليمات البرمجية والتلخيص.
  • Machine Translation (الترجمة الآلية): توفير خدمات ترجمة آلية سريعة ودقيقة.
  • Question Answering (الإجابة على الأسئلة): بناء أنظمة إجابة على الأسئلة يمكنها الإجابة على الأسئلة المعقدة.
  • Code Completion (إكمال التعليمات البرمجية): توفير اقتراحات إكمال التعليمات البرمجية سريعة ودقيقة.

المساهمة:

vLLM هو مشروع مفتوح المصدر، والمساهمات من المجتمع مرحب بها. يمكنك المشاركة عن طريق إرسال المشكلات أو طلبات الميزات أو إرسال طلبات السحب.

ملخص:

vLLM هو محرك قوي لاستدلال وخدمة نماذج اللغة الكبيرة (LLM) يوفر أداءً متميزًا وسهولة في الاستخدام ومرونة. سواء كنت تقوم ببناء روبوتات دردشة أو إنشاء نصوص أو تنفيذ مهام نماذج اللغة الكبيرة (LLM) الأخرى، يمكن أن تساعدك vLLM على تحسين الكفاءة وتقليل التكاليف. آلية PagedAttention هي ابتكارها الأساسي، مما يمكنها من معالجة التسلسلات الطويلة وتحقيق إنتاجية عالية. يوصى بشدة بتجربة vLLM لمعرفة كيف يمكنها تحسين سير عمل نماذج اللغة الكبيرة (LLM) الخاص بك.

جميع التفاصيل، يرجى الرجوع إلى الموقع الرسمي (https://github.com/vllm-project/vllm)