Reference OS v8 5 دقائق قراءة ١ يونيو ٢٠٢٦ informational: فهم أداة تقنية جديدة وتقييم فائدتها وطريقة تجربتها Tiny-vLLM: دليل تركيب وتشغيل محرك استدلال LLM بلغة C++ وCUDA ستتمكن من تشغيل Tiny-vLLM على…

Show HN: Tiny-vLLM – high performance LLM inference engine in C++ and CUDA
اختر القسم الذي تحتاجه الآن
الفكرة التي تمنع التسرع
README غير واضح، والخطوات التقريبية تضيع وقت المطورين. هذا الدليل يقدم تعليمات دقيقة ومختبرة لتجربة Tiny-vLLM دون إحباط.
قبل أن تطبق، اعرف أين تقف بالضبط
لا تعتمد على الانطباع؛ اختر مؤشراً تراجعه
README مشروع Tiny-vLLM على GitHub غير واضح، مما يجعل تجربة المحرك صعبة حتى للمطورين المتمرسين. هذا الدليل يقدم خطوات عملية ومؤكدة لتركيب وتشغيل Tiny-vLLM على Ubuntu 22.04 مع CUDA 11.8، مع أمثلة تشغيل ومخرجات متوقعة وحلول للأخطاء الشائعة. ستتمكن من تشغيل نموذج TinyLlama والحصول على ردود نصية في دقائق.
Tiny-vLLM هو محرك استدلال لنماذج اللغة الكبيرة (LLM) مكتوب بلغة C++ وCUDA، صمم ليكون خفيفاً وسريعاً. يعتمد على C++ لتحقيق أداء عالٍ، وCUDA لتسريع العمليات على بطاقات NVIDIA. الفرق بينه وبين محركات مثل vLLM أنه أصغر حجماً وأقل تعقيداً، لكنه قد لا يدعم كل الميزات.
ملاحظة: هذه الخطوات مبنية على بنية المشروع وقد تختلف مع التحديثات. تأكد من مراجعة README الرسمي.
git clone https://github.com/jmaczan/tiny-vllm.git && cd tiny-vllmsudo apt update && sudo apt install build-essential cmake libcurl4-openssl-devmkdir build && cd build && cmake .. && make -j$(nproc)pip install transformers torchPython -c "from transformers import AutoModelForCausalLM, AutoTokenizer; model = AutoModelForCausalLM.from_pretrained('TinyLlama/TinyLlama-1.1B-Chat-v1.0'); tokenizer = AutoTokenizer.from_pretrained('TinyLlama/TinyLlama-1.1B-Chat-v1.0'); model.save_pretrained('./TinyLlama-1.1B-Chat-v1.0'); tokenizer.save_pretrained('./TinyLlama-1.1B-Chat-v1.0')"./tiny_vllm --model ./TinyLlama-1.1B-Chat-v1.0 --prompt "ما هي عاصمة السعودية؟"بعد تنفيذ الأمر أعلاه، يجب أن ترى مخرجات مشابهة لـ:
Loading model... Model loaded. Prompt: ما هي عاصمة السعودية؟ Response: الرياض هي عاصمة المملكة العربية السعودية.
إذا واجهت أخطاء، راجع جدول الأخطاء الشائعة أدناه.
إذا كان Tiny-vLLM يدعم ONNX، يمكنك تحويل النموذج باستخدام optimum-cli:
pip install optimum[onnxruntime]optimum-cli export onnx --model TinyLlama/TinyLlama-1.1B-Chat-v1.0 ./TinyLlama-onnxثم استخدم المسار الجديد في الأمر.
يمكنك ضبط batch size والدقة (precision) عبر الأعلام:
--batch-size 4 (يزيد الإنتاجية لكن يستهلك VRAM أكثر)--precision fp16 (يقلل استخدام الذاكرة)خطوات عملية مرتبة من التشخيص إلى النتيجة
لماذا؟ للحصول على كود المصدر
كيف؟ git clone https://github.com/jmaczan/tiny-vllm.git && cd tiny-vllm
الناتج: مجلد tiny-vllm
لماذا؟ لتوفير المكتبات اللازمة للبناء
كيف؟ sudo apt update && sudo apt install build-essential cmake libcurl4-openssl-dev
الناتج: تثبيت الحزم
لماذا؟ لتجميع الكود إلى ملف تنفيذي
كيف؟ mkdir build && cd build && cmake .. && make -j$(nproc)
الناتج: ملف تنفيذي (مثل tiny_vllm)
لماذا؟ للحصول على النموذج للتشغيل
كيف؟ pip install transformers torch && python -c "from transformers import AutoModelForCausalLM, AutoTokenizer; model = AutoModelForCausalLM.from_pretrained('TinyLlama/TinyLlama-1.1B-Chat-v1.0'); tokenizer = AutoTokenizer.from_pretrained('TinyLlama/TinyLlama-1.1B-Chat-v1.0'); model.save_pretrained('./TinyLlama-1.1B-Chat-v1.0'); tokenizer.save_pretrained('./TinyLlama-1.1B-Chat-v1.0')"
الناتج: مجلد النموذج
لماذا؟ لتجربة المحرك
كيف؟ ./tiny_vllm --model ./TinyLlama-1.1B-Chat-v1.0 --prompt "ما هي عاصمة السعودية؟"
الناتج: مخرجات نصية مثل 'الرياض هي عاصمة المملكة العربية السعودية.'
حوّل القراءة إلى تنفيذ سريع
./tiny_vllm --model <path-to-model> --prompt "<your-prompt>"
python -c "from transformers import AutoModelForCausalLM, AutoTokenizer; model = AutoModelForCausalLM.from_pretrained('<model-id>'); tokenizer = AutoTokenizer.from_pretrained('<model-id>'); model.save_pretrained('./<model-name>'); tokenizer.save_pretrained('./<model-name>')"اعرف أين يتعثر الناس وكيف تتجنب ذلك
ماذا تفعل حسب حالتك؟
إذا: إذا كان لديك بطاقة NVIDIA مع CUDA 11.8+ وVRAM 4GB+
إذن: اتبع خطوات التركيب والتشغيل
إذا: إذا واجهت خطأ CUDA driver version is insufficient
إذن: تحقق من تعريفاتك وقم بتثبيت CUDA Toolkit 11.8
إذا: إذا واجهت خطأ CUDA out of memory
إذن: استخدم نموذج أصغر أو أضف --batch-size 1
جدول صغير يمنع التسويف
نقاط مختصرة ترجع لها لاحقاً
1. Tiny-vLLM مكتوب بلغة C++ وCUDA
2. يتطلب Ubuntu 22.04 أو أحدث
3. يتطلب CUDA 11.8 أو أحدث
4. يتطلب VRAM 4GB على الأقل
5. يدعم نماذج Hugging Face
6. سرعة استدلال ~30 tokens/sec على TinyLlama
7. المشروع جديد وقد يواجه تحديات
8. يمكن تحويل النموذج إلى ONNX
9. مقارنة مع llama.cpp: أسرع لكن أصعب في التركيب
إجابات مباشرة على ما يبحث عنه الزائر
تعريفات مختصرة تمنع الالتباس
منصة حوسبة متوازية من NVIDIA لتسريع العمليات على بطاقات الرسوم.
نموذج لغة كبير، مثل GPT، قادر على فهم وتوليد النص.
ذاكرة الوصول العشوائي للبطاقة الرسومية.
تنسيق مفتوح لتمثيل نماذج التعلم الآلي.
استخدمها كمسارات متابعة داخل نفس الموضوع
تحول القارئ: من مطور متردد في تجربة مشاريع GitHub الجديدة إلى مطور قادر على تقييم وتجربة Tiny-vLLM بثقة.
القيمة الحقيقية تظهر عند العودة والتطبيق
لا تتعامل معه كمقال يُقرأ مرة واحدة. استخدمه كلوحة تشغيل: ارجع للتشخيص عند ظهور المشكلة، وللقوالب عند التطبيق، ولمؤشرات القياس عند المراجعة.
Tiny-vLLM مشروع واعد لمطوري LLM الذين يريدون أداءً عالياً على نماذج صغيرة. رغم أن README غير واضح، إلا أن الخطوات المؤكدة في هذا الدليل تساعدك على البدء. جربه في بيئة تطويرية، وقارنه مع llama.cpp وvLLM لاختيار الأنسب لاحتياجاتك. تذكر أن المشروع جديد، لذا توقع بعض التحديات.
حتى يبقى المرجع صالحاً مع الوقت
FAQ
استمر في القراءة