Tiny-vLLM: دليل عملي لتشغيل محرك استدلال LLM محلياً
Reference OS v8 5 دقائق قراءة ١ يونيو ٢٠٢٦ فهم أداة تقنية جديدة وتقييم فائدتها وطريقة تجربتها Tiny-vLLM: دليل عملي لتشغيل محرك استدلال LLM محلياً ستتعلم كيفية تثبيت وتشغيل Tiny-vLLM على GPU رغم نقص…
10 دقائق قراءة
مَداد
Reference OS v85 دقائق قراءة١ يونيو ٢٠٢٦فهم أداة تقنية جديدة وتقييم فائدتها وطريقة تجربتها
Tiny-vLLM: دليل عملي لتشغيل محرك استدلال LLM محلياً
ستتعلم كيفية تثبيت وتشغيل Tiny-vLLM على GPU رغم نقص التوثيق، مع حلول للأخطاء الشائعة.
الخلاصة: دليل عملي لتثبيت Tiny-vLLM على Linux مع CUDA، يشمل المتطلبات، خطوات البناء، تحويل النموذج، وحلول الأخطاء مثل out of memory وCUDA not found.
Tiny-vLLM دليل تركيب660 كلمة تقريباًزارو — مكتبة الأدلة العملية
Photo by David Yu on Pexels
LIVE PROJECTjmaczan/tiny-vllm★ 0
Show HN: Tiny-vLLM – high performance LLM inference engine in C++ and CUDA
هل تبحث عن محرك استدلال LLM سريع وخفيف يعمل على GPU؟ Tiny-vLLM وعد بذلك، لكن README لا يكفي. هنا خطوات عملية مبنية على تحليل الكود.
Q
أسئلة التشخيص السريع
قبل أن تطبق، اعرف أين تقف بالضبط
هل لديك GPU NVIDIA مع CUDA Compute Capability 7.0+؟
هل نظام التشغيل Linux (Ubuntu 20.04+) أو WSL2؟
هل VRAM كافية لنموذج 7B FP16 (~14GB)؟
هل مثبت CUDA Toolkit 11.8/12.x وCMake 3.18+؟
هل تريد تشغيل نموذج Hugging Face محدد؟
هل تفضل أداء عالي على حساب سهولة التركيب؟
هل أنت مستعد لتحويل أوزان النموذج يدوياً؟
نظام التشغيل: Input → Process → Output
INPUT
نموذج LLM بتنسيق Hugging Face (مثل GPT-2، LLaMA) يتم تحميله إلى الذاكرة.
PROCESS
محرك Tiny-vLLM يستقبل طلبات استدلال عبر واجهة C++ أو Python، ويستخدم CUDA لتسريع العمليات على GPU.
OUTPUT
مخرجات النموذج (نص مولد) يتم إرجاعها إلى المستخدم.
Decision Layer
اختيار النموذج، حجم الدفعة (batch size)، طول التوليد، ودرجة الحرارة.
Memory Layer
إدارة ذاكرة GPU وCPU لتخزين أوزان النموذج والـ cache.
Feedback Loop
قياس زمن الاستدلال وعدد tokens في الثانية لضبط الأداء.
M
لوحة قياس النجاح
لا تعتمد على الانطباع؛ اختر مؤشراً تراجعه
المؤشر
طريقة القياس
إشارة جيدة
وقت الاستدلال لكل طلب
time ./tiny_vllm --model ... --prompt "test"
أقل من 5 ثوانٍ لنموذج 7B
استهلاك VRAM
nvidia-smi أثناء التشغيل
أقل من 80% من VRAM المتاحة
نجاح التثبيت
تشغيل الأمر بدون أخطاء
ظهور مخرجات نصية
هل تبحث عن محرك استدلال LLM سريع وخفيف يعمل على GPU؟ Tiny-vLLM وعد بذلك، لكن README لا يكفي. هنا خطوات عملية مبنية على تحليل الكود المصدري. في هذا الدليل، سنشرح كيفية تثبيت وتشغيل Tiny-vLLM، مع تفصيل المتطلبات والأخطاء الشائعة، لتتمكن من تجربته بنجاح.
ما هو Tiny-vLLM؟
Tiny-vLLM هو محرك استدلال (inference engine) لنماذج اللغة الكبيرة، مكتوب بلغة C++ مع دعم CUDA لتسريع العمليات على GPU. يهدف إلى تقديم أداء عالٍ مع استهلاك منخفض للموارد، مقارنة بحلول مثل vLLM التي قد تكون أثقل. المشروع لا يزال في مراحله الأولى، لكنه يظهر وعداً للمطورين الذين يريدون تشغيل نماذج محلياً دون تعقيد.
المتطلبات الأساسية
إعلان
المكون
المواصفات المطلوبة
نظام التشغيل
Linux (Ubuntu 20.04 أو أحدث) أو WSL2 على Windows
GPU
NVIDIA مع CUDA Compute Capability 7.0+ (مثل RTX 30xx، A100)
ملاحظة: README الحالي لا يحتوي على تعليمات تركيب واضحة. الخطوات التالية مستخلصة من بنية المشروع (ملف CMakeLists.txt والكود المصدري).
تثبيت المتطلبات: تأكد من تثبيت CUDA Toolkit وCMake. على Ubuntu: sudo apt update && sudo apt install build-essential cmake libcublas-dev libcudnn-dev
استنساخ المستودع: git clone https://github.com/jmaczan/tiny-vllm.git && cd tiny-vllm
بناء المشروع: mkdir build && cd build && cmake .. -DCMAKE_BUILD_TYPE=Release && make -j$(nproc)
تحميل وتحويل النموذج: استخدم نموذجاً صغيراً مثل GPT-2 من Hugging Face. قم بتحويل الأوزان إلى تنسيق FP16 باستخدام أداة مثل convert.py من Hugging Face أو transformers. Python convert.py --model gpt2 --output ./gpt2-fp16 --dtype fp16
تشغيل المحرك: ./tiny_vllm --model ./gpt2-fp16 --prompt "السلام عليكم" ملاحظة: الأمر تقريبي وقد يختلف حسب الإصدار.
الأخطاء الشائعة وحلولها
الخطأ
السبب
الحل
CUDA error: out of memory
النموذج كبير جداً للذاكرة المتاحة
استخدم نموذجاً أصغر أو قلل batch size
CMake Error: CUDA not found
CUDA Toolkit غير مثبت أو غير مضبوط
تأكد من تثبيت CUDA وأضف المسار إلى PATH: export PATH=/usr/local/cuda/bin:$PATH
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("gpt2", torch_dtype=torch.float16)
model.save_pretrained("./gpt2-fp16")
ERR
مصفوفة الأخطاء
اعرف أين يتعثر الناس وكيف تتجنب ذلك
الخطأ
لماذا يحدث؟
التصحيح
CUDA error: out of memory
النموذج كبير جداً للذاكرة المتاحة
استخدم نموذجاً أصغر (مثل GPT-2) أو قلل batch size
CMake Error: CUDA not found
CUDA Toolkit غير مثبت أو غير مضبوط في PATH
export PATH=/usr/local/cuda/bin:$PATH وأعد تشغيل cmake
nvcc not found
CUDA غير مضبوط في PATH
أضف export PATH=/usr/local/cuda/bin:$PATH إلى ~/.bashrc
Segmentation fault
خطأ في تحميل النموذج أو عدم توافق التنسيق
تحقق من تنسيق الأوزان (FP16) وجرب نموذجاً آخر
IF
شجرة القرار
ماذا تفعل حسب حالتك؟
إذا: إذا كان لديك GPU NVIDIA مع CUDA 7.0+
إذن: اتبع خطوات التثبيت
إذا: إذا كان لديك GPU NVIDIA لكن VRAM أقل من 14GB
إذن: استخدم نموذجاً أصغر مثل GPT-2 (1.5GB)
إذا: إذا كنت تريد سهولة التركيب
إذن: استخدم vLLM أو llama.cpp بدلاً من Tiny-vLLM
إذا: إذا كنت تريد تشغيل على CPU
إذن: استخدم llama.cpp (Tiny-vLLM لا يدعم CPU)
7D
خطة تطبيق 7 أيام
جدول صغير يمنع التسويف
اليوم 1: تثبيت المتطلبات (CUDA, CMake, مكتبات)
اليوم 2: استنساخ وبناء Tiny-vLLM
اليوم 3: تحميل نموذج صغير (GPT-2) وتحويله
اليوم 4: تشغيل المحرك واختبار استدلال بسيط
اليوم 5: تجربة نموذج أكبر (7B) إذا توفرت VRAM
اليوم 6: توثيق الأخطاء التي واجهتها وحلولها
اليوم 7: مقارنة الأداء مع vLLM أو llama.cpp
FACT
حقائق سريعة تحفظها
نقاط مختصرة ترجع لها لاحقاً
1. Tiny-vLLM مكتوب بلغة C++ مع CUDA.
2. يتطلب GPU مع CUDA Compute Capability 7.0+.
3. نموذج 7B FP16 يحتاج ~14GB VRAM.
4. ال README الحالي لا يحتوي تعليمات تركيب واضحة.
5. يدعم نماذج محددة بتنسيق FP16 فقط.
6. أخف وزناً من vLLM لكن أقل نضجاً.
7. لا يدعم التشغيل على CPU.
8. يمكن تحويل نماذج Hugging Face باستخدام transformers.
9. المشروع لا يزال في مراحله الأولى.
FAQ
أسئلة شائعة
إجابات مباشرة على ما يبحث عنه الزائر
هل Tiny-vLLM يدعم جميع نماذج Hugging Face؟
لا، يدعم نماذج محددة بتنسيق FP16. قد تحتاج لتحويل الأوزان.
ما الفرق بين Tiny-vLLM وvLLM؟
Tiny-vLLM أخف وزناً وأبسط، لكن vLLM أكثر نضجاً ويدعم PagedAttention.
هل يمكن تشغيله على CPU فقط؟
لا، يعتمد على CUDA. استخدم llama.cpp لتشغيل CPU.
ما المشكلة التي يحلها هذا الدليل؟
يحول المعلومات المتناثرة في README إلى خطوات عملية قابلة للتطبيق.
ABC
مصطلحات سريعة
تعريفات مختصرة تمنع الالتباس
محرك استدلال (Inference Engine)
برنامج يشغل نموذج LLM لتوليد نصوص من مدخلات.
CUDA
منصة من NVIDIA لتسريع العمليات الحسابية على GPU.
FP16
نصف الدقة (16-bit floating point) لتقليل استخدام الذاكرة.
VRAM
ذاكرة الوصول العشوائي للبطاقة الرسومية.
Q+
أسئلة مرتبطة يبحث عنها الناس
استخدمها كمسارات متابعة داخل نفس الموضوع
كيفية تثبيت Tiny-vLLM على UbuntuTiny-vLLM vs vLLM مقارنةتشغيل LLM محلياً على GPUتحويل نموذج Hugging Face إلى FP16حل مشكلة CUDA out of memory في Tiny-vLLM
لماذا هذا المرجع يتجاوز الموضوع نفسه؟
تحول القارئ: من مطور يخاف من تجربة مشاريع GitHub الجديدة إلى قادر على تقييم وتجربة Tiny-vLLM بثقة
يمكن استخدام Tiny-vLLM مع LangChain لبناء تطبيقات LLM
مشابه لـ TensorRT-LLM من NVIDIA لكنه أخف
SAVE
كيف تستخدم هذا المرجع لاحقاً؟
القيمة الحقيقية تظهر عند العودة والتطبيق
لا تتعامل معه كمقال يُقرأ مرة واحدة. استخدمه كلوحة تشغيل: ارجع للتشخيص عند ظهور المشكلة، وللقوالب عند التطبيق، ولمؤشرات القياس عند المراجعة.
Tiny-vLLM مشروع واعد لمطوري LLM الذين يريدون أداءً عالياً على GPU. رغم نقص التوثيق، يمكن للمطور المتوسط تجربته باتباع الخطوات التقريبية أعلاه. إذا كنت تبحث عن حل سريع وسهل، فكر في vLLM أو llama.cpp. أما إذا كنت تريد التعمق في كود محرك استدلال، فهذه فرصة جيدة.
UPD
خطة تحديث هذا الدليل
حتى يبقى المرجع صالحاً مع الوقت
تحديث إصدارات CUDA Toolkit وCMake المطلوبة كل 6 أشهر.
مراجعة مستودع GitHub للتغييرات في README أو هيكل المشروع.
إضافة نماذج جديدة مدعومة عند إصدار تحديثات.
FAQ
الأسئلة الشائعة
Tiny-vLLM هو محرك استدلال (inference engine) لنماذج اللغة الكبيرة، مكتوب بلغة C++ مع دعم CUDA لتسريع العمليات على GPU. يهدف إلى تقديم أداء عالٍ مع استهلاك منخفض للموارد، مقارنة بحلول مثل vLLM التي قد تكون أثقل. المشروع لا يزال في مراحله الأولى، لكنه يظهر وعداً للمطورين الذين يريدون تشغيل نماذج محلياً دون تعقيد.