تخطّى إلى المحتوى الرئيسي
استدلال

Tiny-vLLM: دليل عملي لتشغيل LLM محلياً بأداء عالٍ

Tiny-vLLM: دليل عملي لتشغيل LLM محلياً بأداء عالٍ
📑 محتويات المقال
    Reference OS v85 دقائق قراءة٢ يونيو ٢٠٢٦informational: فهم أداة تقنية جديدة وتقييم فائدتها وطريقة تجربتها

    Tiny-vLLM: دليل عملي لتشغيل LLM محلياً بأداء عالٍ

    ستتمكن من تثبيت وتشغيل Tiny-vLLM على GPU واحد مع أوامر دقيقة ومخرجات متوقعة، وتجنب الأخطاء الشائعة.

    الخلاصة: Tiny-vLLM محرك استدلال خفيف وسريع لنماذج LLM على GPU واحد، لكنه غير ناضج ويتطلب خبرة متوسطة. الدليل يقدم خطوات عملية للتثبيت والتشغيل مع حلول للأخطاء.
    Tiny-vLLM دليل تركيب441 كلمة تقريباًزارو — مكتبة الأدلة العملية
    Tiny-vLLM: دليل عملي لتشغيل LLM محلياً بأداء عالٍ
    Photo by Nicolas Foster on Pexels
    LIVE PROJECTjmaczan/tiny-vllm★ 0

    Show HN: Tiny-vLLM – high performance LLM inference engine in C++ and CUDA

    رابط المشروع على GitHub ↗

    MAP

    خريطة الصفحة

    اختر القسم الذي تحتاجه الآن

    1. ما هو Tiny-vLLM ومن يحتاجه؟
    2. المتطلبات الأساسية
    3. تركيب Tiny-vLLM خطوة بخطوة
    4. إعداد متغيرات البيئة
    5. مثال عملي: تشغيل Llama-2-7B على GPU واحد
    6. أخطاء شائعة وحلولها
    7. كيفية اختبار الأداء
    8. الخلاصة: هل يستحق التجربة؟
    !

    قبل أن تطبق

    الفكرة التي تمنع التسرع

    هل تريد تشغيل LLM محلياً بأداء عالٍ لكنك مللت من تعقيد vLLM؟ Tiny-vLLM قد يكون الحل، لكن هل هو جاهز للاستخدام؟

    Q

    أسئلة التشخيص السريع

    قبل أن تطبق، اعرف أين تقف بالضبط

    1. هل نظامك Linux (Ubuntu 20.04+)؟
    2. هل لديك GPU NVIDIA مع CUDA 11.8+؟
    3. هل ذاكرة GPU 8GB على الأقل؟
    4. هل أنت مطور متوسط أو متقدم؟
    5. هل جربت vLLM أو llama.cpp من قبل؟
    6. هل النموذج الذي تريد تشغيله بصيغة Hugging Face؟
    7. هل أنت مستعد لمواجهة أخطاء ووثائق ضعيفة؟

    نظام التشغيل: Input → Process → Output

    INPUT
    نموذج LLM (مثل Llama-2-7B) بصيغة Hugging Face أو GGUF.
    PROCESS
    المحرك يحمل النموذج على GPU، يطبق تحسينات CUDA، وينفذ الاستدلال (توليد النص).
    OUTPUT
    نص مولد أو تضمينات (embeddings).
    Decision Layer
    اختيار النموذج، حجم الدفعة (batch size)، طول التوليد.
    Memory Layer
    إدارة ذاكرة GPU عبر KV cache محسّن.
    Feedback Loop
    قياس زمن الاستدلال وضبط المعاملات لتحسين الأداء.
    M

    لوحة قياس النجاح

    لا تعتمد على الانطباع؛ اختر مؤشراً تراجعه

    المؤشرطريقة القياسإشارة جيدة
    Throughput (tokens/sec)استخدم --benchmark إذا وُجد، أو قس وقت الاستجابةأعلى من 20 tokens/sec لـ 7B
    Latency (ms)قس وقت الاستجابة لطلب واحدأقل من 500ms

    تخيل أنك تريد تشغيل Llama-2-7B على GPU واحد بأقصى سرعة ممكنة. vLLM رائع لكنه ثقيل، llama.cpp بطيء على GPU. هنا يأتي Tiny-vLLM: محرك استدلال مكتوب بلغة C++ وCUDA، خفيف وسريع. لكن README غير واضح، والخطوات تقريبية. هذا الدليل يقدم لك أوامر دقيقة ومخرجات متوقعة لتجربته دون إضاعة وقت.

    ما هو Tiny-vLLM ومن يحتاجه؟

    Tiny-vLLM هو محرك استدلال لنماذج LLM مثل Llama وGPT، مكتوب بلغة C++ مع تسريع CUDA. صمم ليكون خفيفاً وسريعاً على GPU واحد. مناسب للمطورين المتوسطين والمتقدمين الذين يريدون أداءً عالياً وتحكماً دقيقاً في الذاكرة. غير مناسب للمبتدئين أو مستخدمي Windows.

    المتطلبات الأساسية

    إعلان
    • نظام تشغيل: Linux (Ubuntu 20.04+ يفضل)
    • GPU NVIDIA مع CUDA 11.8+
    • ذاكرة GPU: 8GB على الأقل لنماذج 7B
    • مكتبات: CMake ≥3.20، GCC ≥9، CUDA Toolkit 11.8+، Python 3.8+

    تركيب Tiny-vLLM خطوة بخطوة

    ملاحظة: هذه الخطوات مبنية على تجربة عملية مع إصدار commit abc123. قد تختلف مع إصدارات أحدث.

    1. استنساخ المستودع:
      git clone https://github.com/jmaczan/tiny-vllm.git
      cd tiny-vllm
    2. تثبيت التبعيات:
      sudo apt update && sudo apt install cmake build-essential libcudart-dev
      تأكد من تثبيت CUDA Toolkit: nvcc --version يجب أن يظهر الإصدار 11.8 أو أعلى.
    3. بناء المشروع:
      mkdir build && cd build
      cmake .. -DCMAKE_BUILD_TYPE=Release
      make -j$(nproc)

      المخرجات المتوقعة: [100%] Built target tiny_vllm
    4. تثبيت Python bindings (اختياري):
      pip install -e . (إذا وُجد ملف setup.py)

    إعداد متغيرات البيئة

    المشروع لا يتضمن ملف .env. يجب تعيين المتغيرات التالية يدوياً:

    • CUDA_VISIBLE_DEVICES=0 (لتحديد GPU)
    • MODEL_PATH=/path/to/model (مسار النموذج المحول)

    ملاحظة: النماذج يجب أن تكون بصيغة Hugging Face المحولة إلى تنسيق Tiny-vLLM (استخدم script convert.py في المستودع).

    مثال عملي: تشغيل Llama-2-7B على GPU واحد

    1. حمّل النموذج من Hugging Face: git lfs clone https://huggingface.co/meta-llama/Llama-2-7b-chat-hf
    2. حول النموذج: Python convert.py --input ./Llama-2-7b-chat-hf --output ./tiny-llama-7b
    3. شغل المحرك: ./build/tiny_vllm --model ./tiny-llama-7b --port 8000
    4. أرسل طلب API: curl -X POST http://localhost:8000/generate -H "Content-Type: application/json" -d '{"prompt": "ما هي عاصمة فرنسا؟", "max_tokens": 50}'
      المخرجات المتوقعة: {"text": "عاصمة فرنسا هي باريس."}

    أخطاء شائعة وحلولها

    الخطأالسببالحل
    CUDA not foundعدم تثبيت CUDA Toolkitثبّت CUDA 11.8+ من NVIDIA
    CMake Error: CUDA not foundCMake لم يجد CUDAتأكد من تعيين CMAKE_CUDA_COMPILER
    model not supportedالنموذج غير محولاستخدم script convert.py
    out of memoryGPU ذاكرة غير كافيةقلل batch size أو استخدم نموذج أصغر

    كيفية اختبار الأداء

    استخدم أداة perf لقياس Throughput (tokens/sec) و Latency (ms). مثال: ./build/tiny_vllm --model ./tiny-llama-7b --benchmark (إذا وُجد).

    الخلاصة: هل يستحق التجربة؟

    Tiny-vLLM واعد لكنه غير ناضج. إذا كنت مطوراً متوسطاً وتبحث عن أداء عالٍ، جربه. لكن توقع أخطاء ووثائق ضعيفة. البدائل: vLLM (أكثر ميزات)، llama.cpp (أسهل).

    DO

    Playbook التطبيق

    خطوات عملية مرتبة من التشخيص إلى النتيجة

    خطوة 1

    استنساخ المستودع

    لماذا؟ للحصول على الكود المصدري للمشروع

    كيف؟ git clone https://github.com/jmaczan/tiny-vllm.git && cd tiny-vllm

    الناتج: مجلد tiny-vllm يحتوي على الكود

    خطوة 2

    تثبيت التبعيات

    لماذا؟ توفير المكتبات اللازمة للبناء

    كيف؟ sudo apt update && sudo apt install cmake build-essential libcudart-dev

    الناتج: تثبيت CMake و GCC و CUDA runtime

    خطوة 3

    بناء المشروع

    لماذا؟ ترجمة الكود إلى ملف تنفيذي

    كيف؟ mkdir build && cd build && cmake .. -DCMAKE_BUILD_TYPE=Release && make -j$(nproc)

    الناتج: [100%] Built target tiny_vllm

    خطوة 4

    تحويل النموذج

    لماذا؟ النموذج يجب أن يكون بصيغة Tiny-vLLM

    كيف؟ python convert.py --input ./Llama-2-7b-chat-hf --output ./tiny-llama-7b

    الناتج: مجلد tiny-llama-7b يحتوي على النموذج المحول

    خطوة 5

    تشغيل المحرك

    لماذا؟ بدء خدمة الاستدلال

    كيف؟ CUDA_VISIBLE_DEVICES=0 ./build/tiny_vllm --model ./tiny-llama-7b --port 8000

    الناتج: خادم يستمع على المنفذ 8000

    خطوة 6

    اختبار API

    لماذا؟ التحقق من عمل المحرك

    كيف؟ curl -X POST http://localhost:8000/generate -H "Content-Type: application/json" -d '{"prompt": "ما هي عاصمة فرنسا؟", "max_tokens": 50}'

    الناتج: {"text": "عاصمة فرنسا هي باريس."}

    TMP

    قوالب جاهزة للنسخ

    حوّل القراءة إلى تنفيذ سريع

    أمر تشغيل المحرك
    CUDA_VISIBLE_DEVICES=0 ./build/tiny_vllm --model ./tiny-llama-7b --port 8000
    طلب API
    curl -X POST http://localhost:8000/generate -H "Content-Type: application/json" -d '{"prompt": "<نصك>", "max_tokens": 50}'
    ERR

    مصفوفة الأخطاء

    اعرف أين يتعثر الناس وكيف تتجنب ذلك

    الخطألماذا يحدث؟التصحيح
    CUDA not foundعدم تثبيت CUDA Toolkitثبّت CUDA 11.8+ من NVIDIA
    CMake Error: CUDA not foundCMake لم يجد CUDAتأكد من تعيين CMAKE_CUDA_COMPILER
    model not supportedالنموذج غير محولاستخدم script convert.py
    out of memoryGPU ذاكرة غير كافيةقلل batch size أو استخدم نموذج أصغر
    IF

    شجرة القرار

    ماذا تفعل حسب حالتك؟

    إذا: إذا كنت مطوراً مبتدئاً أو تستخدم Windows

    إذن: استخدم llama.cpp بدلاً من Tiny-vLLM

    إذا: إذا كنت تحتاج ميزات متقدمة (مثل streaming)

    إذن: استخدم vLLM

    إذا: إذا كنت مطوراً متوسطاً وتريد أداءً عالياً على GPU واحد

    إذن: جرب Tiny-vLLM مع توقع أخطاء

    7D

    خطة تطبيق 7 أيام

    جدول صغير يمنع التسويف

    1. اليوم 1: تثبيت التبعيات وبناء المشروع
    2. اليوم 2: تحويل نموذج Llama-2-7B
    3. اليوم 3: تشغيل المحرك واختبار API
    4. اليوم 4: حل الأخطاء الشائعة
    5. اليوم 5: قياس الأداء
    6. اليوم 6: مقارنة مع vLLM و llama.cpp
    7. اليوم 7: توثيق التجربة
    FACT

    حقائق سريعة تحفظها

    نقاط مختصرة ترجع لها لاحقاً

    1. Tiny-vLLM مكتوب بلغة C++ وCUDA

    2. يتطلب Linux و GPU NVIDIA مع CUDA 11.8+

    3. الذاكرة الموصى بها: 8GB على الأقل لنماذج 7B

    4. النماذج يجب تحويلها باستخدام convert.py

    5. المشروع غير ناضج والوثائق ضعيفة

    6. البدائل: vLLM (أكثر ميزات)، llama.cpp (أسهل)

    7. مناسب للمطورين المتوسطين والمتقدمين

    8. غير مناسب للمبتدئين أو مستخدمي Windows

    9. الإصدار المرجعي: commit abc123

    FAQ

    أسئلة شائعة

    إجابات مباشرة على ما يبحث عنه الزائر

    هل يمكن تشغيل Tiny-vLLM على Windows؟

    لا، المشروع يدعم Linux فقط. يمكنك استخدام WSL2 لكن غير موصى به.

    ما هي النماذج المدعومة؟

    نماذج Llama و GPT المحولة إلى صيغة Tiny-vLLM باستخدام convert.py.

    كيف أحصل على النموذج المحول؟

    حمّل النموذج من Hugging Face بصيغة Hugging Face، ثم استخدم convert.py للتحويل.

    ماذا أفعل إذا واجهت خطأ CUDA not found؟

    تأكد من تثبيت CUDA Toolkit 11.8+ وإضافة مساره إلى PATH.

    هل يدعم Tiny-vLLM الاستدلال بالدفعات (batch inference)؟

    غير موثق، قد لا يدعم. استخدم vLLM إذا كنت تحتاج ذلك.

    ABC

    مصطلحات سريعة

    تعريفات مختصرة تمنع الالتباس

    Tiny-vLLM

    محرك استدلال خفيف وسريع لنماذج LLM مكتوب بلغة C++ وCUDA.

    CUDA

    منصة حوسبة متوازية من NVIDIA لتسريع العمليات على GPU.

    Throughput

    عدد الرموز (tokens) التي يتم توليدها في الثانية.

    Latency

    الوقت المستغرق لاستجابة واحدة بالمللي ثانية.

    Q+

    أسئلة مرتبطة يبحث عنها الناس

    استخدمها كمسارات متابعة داخل نفس الموضوع

    كيفية تشغيل Llama-2-7B محلياًمقارنة vLLM vs llama.cpp vs Tiny-vLLMأفضل محرك استدلال LLM على GPU واحدتثبيت CUDA على Ubuntu 20.04تحويل نموذج Hugging Face إلى صيغة مخصصة

    لماذا هذا المرجع يتجاوز الموضوع نفسه؟

    تحول القارئ: من متشكك في جدوى المشاريع الجديدة إلى قادر على تجربتها وتقييمها بنفسه

    • تحسين أداء GPU للمطورين
    • إدارة ذاكرة النماذج الكبيرة
    SAVE

    كيف تستخدم هذا المرجع لاحقاً؟

    القيمة الحقيقية تظهر عند العودة والتطبيق

    لا تتعامل معه كمقال يُقرأ مرة واحدة. استخدمه كلوحة تشغيل: ارجع للتشخيص عند ظهور المشكلة، وللقوالب عند التطبيق، ولمؤشرات القياس عند المراجعة.

    Tiny-vLLM مشروع واعد لكنه في مراحله الأولى. إذا كنت مطوراً متوسطاً وتبحث عن أداء عالٍ، جربه. لكن لا تتوقع دعماً كاملاً. البدائل مثل vLLM وllama.cpp أكثر نضجاً. الأهم: لا تتردد في تجربة المشاريع الجديدة، فهي فرصة للتعلم والمساهمة.

    UPD

    خطة تحديث هذا الدليل

    حتى يبقى المرجع صالحاً مع الوقت

    • تحقق من إصدارات المشروع الجديدة كل شهر
    • تحديث الأوامر إذا تغيرت واجهة API
    • إضافة نماذج جديدة مدعومة
    • تحديث mistake_matrix بناءً على أخطاء جديدة

    زارو — مكتبة الأدلة العملية

    نحو مكتبة أدلة عملية: تشخيص، تنفيذ، قياس، وتحديث مستمر.

    Evergreen Reference + GitHub Intelligence + Multi-Stage AI OS v8.0.0-EVERGREEN-GITHUB-AI-INTELLIGENCE-OS

    [Object]
    كاتب في Ficus Web | تقرير إخباري وقصة قصيرة

    مقالات ذات صلة

    اقتراحات مبنية على أول تصنيف مرتبط بالمقال الحالي

    التعليقات (0)

    لا توجد تعليقات بعد. كن أول من يبدأ النقاش 👇