تخطّى إلى المحتوى الرئيسي
تقنية

Tiny-vLLM: دليل تركيب وتشغيل محرك استدلال LLM بلغة C++ وCUDA

Tiny-vLLM: دليل تركيب وتشغيل محرك استدلال LLM بلغة C++ وCUDA
📑 محتويات المقال
    Reference OS v85 دقائق قراءة٢ يونيو ٢٠٢٦informational

    Tiny-vLLM: دليل تركيب وتشغيل محرك استدلال LLM بلغة C++ وCUDA

    ستتعلم خطوات عملية لتثبيت وتشغيل Tiny-vLLM على GPU NVIDIA، مع حلول للأخطاء الشائعة.

    الخلاصة: Tiny-vLLM محرك استدلال LLM بلغة C++ وCUDA، سريع لكنه غير ناضج. يتطلب GPU NVIDIA وCUDA Toolkit. التركيب عبر CMake، والتشغيل على نماذج صغيرة مثل GPT-2. غير مناسب للإنتاج.
    Tiny-vLLM دليل تركيب612 كلمة تقريباًزارو — مكتبة الأدلة العملية
    Tiny-vLLM: دليل تركيب وتشغيل محرك استدلال LLM بلغة C++ وCUDA
    Photo by Optical Chemist 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. المتطلبات الأساسية
    4. خطوات التركيب (مبنية على تحليل الكود)
    5. شرح متغيرات البيئة
    6. تشغيل أول استدلال (مثال عملي)
    7. أخطاء شائعة وحلولها
    8. مقارنة أداء مع vLLM وllama.cpp
    9. الأسئلة الشائعة
    !

    قبل أن تطبق

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

    هل تبحث عن محرك استدلال LLM خفيف وسريع؟ Tiny-vLLM قد يكون الحل، لكن تركيبه ليس سهلاً. في هذا الدليل، ستتعلم خطوات عملية لتثبيته وتشغيله على جهازك.

    Q

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

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

    1. هل لديك GPU NVIDIA مع دعم CUDA (حساب 7.0+)؟
    2. هل أنت على دراية بـ C++ وCUDA؟
    3. هل تبحث عن حل إنتاجي أم تجريبي؟
    4. هل جربت vLLM أو llama.cpp من قبل؟
    5. هل لديك نموذج LLM بصيغة Hugging Face أو GGUF؟
    6. هل ذاكرة GPU لديك 4GB على الأقل؟

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

    INPUT
    نموذج LLM (مثل GPT-2، LLaMA) بصيغة Hugging Face أو GGUF
    PROCESS
    Tiny-vLLM يستخدم C++ وCUDA لتحميل النموذج على GPU وتنفيذ الاستدلال (inference) بسرعة عالية
    OUTPUT
    نص مولد (generated text) بناءً على الإدخال (prompt)
    Decision Layer
    اختيار النموذج المناسب لحجم VRAM المتاح
    Memory Layer
    إدارة ذاكرة GPU (VRAM) لتحميل النموذج ومعالجة الدفعات (batch)
    Feedback Loop
    ضبط معاملات التوليد (temperature, top_p) بناءً على جودة المخرجات
    M

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

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

    المؤشرطريقة القياسإشارة جيدة
    زمن الاستدلال لكل tokenاستخدم time command أو سجل الزمن من البرنامج< 50ms لكل token على GPU متوسطة
    استخدام VRAMnvidia-smiأقل من 80% من VRAM المتاحة

    هل تبحث عن محرك استدلال LLM خفيف وسريع؟ Tiny-vLLM قد يكون الحل، لكن تركيبه ليس سهلاً. في هذا الدليل، ستتعلم خطوات عملية لتثبيته وتشغيله على جهازك. سنغطي المتطلبات الدقيقة، خطوات التركيب المبنية على تحليل الكود، تشغيل أول نموذج، وأخطاء شائعة مع حلولها. الدليل موجه للمطور العربي الذي يريد تشغيل نماذج LLM محلياً بأداء عالٍ.

    ما هو Tiny-vLLM؟

    Tiny-vLLM هو محرك استدلال (inference engine) لنماذج اللغة الكبيرة (LLM) مكتوب بلغة C++ ويستخدم CUDA لتسريع الأداء على بطاقات الرسوميات NVIDIA. الهدف منه توفير بديل خفيف وسريع لمحركات مثل vLLM وllama.cpp. المشروع جديد (ظهور على Hacker News) وعدد نجومه 0، مما يعني أنه في مرحلة مبكرة جداً. README قصير ولا يوضح خطوات التركيب، لذا هذا الدليل يعتمد على تحليل بنية المشروع (ملفات المصدر، CMakeLists.txt، إلخ).

    لمن هذا المشروع؟

    إعلان

    من يحتاجه: مطور يريد تشغيل LLM محلياً بأداء عالٍ على GPU NVIDIA. باحث يختبر محركات استدلال جديدة. صاحب مشروع صغير يبحث عن حل استدلال مفتوح المصدر بتكلفة منخفضة.

    من لا يحتاجه: مبتدئ في البرمجة (يتطلب خبرة في C++ وCUDA). من يريد حلاً جاهزاً للإنتاج (المشروع غير مستقر). من لا يملك GPU NVIDIA (لا يدعم CPU).

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

    • GPU NVIDIA مع دعم CUDA (حساب 7.0 فأعلى)
    • CUDA Toolkit 11.8+ (يوصى بـ 12.x)
    • مكتبة C++17 (GCC 9+, MSVC 2019+)
    • CMake 3.22+
    • نموذج LLM بصيغة Hugging Face (مثل GPT-2) أو GGUF (غير مؤكد الدعم)

    خطوات التركيب (مبنية على تحليل الكود)

    تحذير: README لا يوضح خطوات التركيب. الخطوات التالية مبنية على تحليل بنية المشروع (ملفات المصدر في src/، ملف CMakeLists.txt). قد تختلف حسب إصدار المشروع.

    1. استنساخ المستودع: git clone https://GitHub.com/jmaczan/tiny-vllm.git
    2. الدخول إلى المجلد: cd tiny-vllm
    3. إنشاء مجلد build: mkdir build && cd build
    4. تشغيل CMake: cmake .. -DCMAKE_BUILD_TYPE=Release
    5. بناء المشروع: cmake --build . --config Release
    6. بعد البناء، سيكون الملف التنفيذي في مجلد build (اسمه المحتمل: tiny_vllm أو inference).

    شرح متغيرات البيئة

    المشروع لا يحتوي على ملف .env. الإعدادات تمرر عبر وسائط سطر الأوامر. تأكد من تعيين متغيرات البيئة التالية:

    • CUDA_HOME: مسار تثبيت CUDA Toolkit (مثل /usr/local/cuda-11.8)
    • PATH: أضف $CUDA_HOME/bin
    • LD_LIBRARY_PATH: أضف $CUDA_HOME/lib64

    تشغيل أول استدلال (مثال عملي)

    لتشغيل نموذج GPT-2 (صغير الحجم، يناسب GPU بذاكرة 4GB):

    1. تحميل النموذج من Hugging Face: git lfs install && git clone https://huggingface.co/gpt2
    2. تشغيل Tiny-vLLM: ./tiny_vllm --model ./gpt2 --prompt "Once upon a time" --max-tokens 50

    إذا لم يعمل، جرب صيغاً أخرى مثل GGUF (استخدم أداة تحويل مثل llama.cpp).

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

    الخطأالسببالحل
    CUDA error: out of memoryالنموذج أكبر من VRAMاستخدم نموذجاً أصغر (مثل GPT-2) أو قلل --max-tokens
    CMake Error: CUDA not foundCUDA Toolkit غير مثبتثبت CUDA 11.8+ وأضف PATH
    Segmentation faultعدم توافق النموذججرب نموذجاً بصيغة Hugging Face أو حول إلى GGUF

    مقارنة أداء مع vLLM وllama.cpp

    ملاحظة: المقارنة مبنية على افتراضات نظرية، حيث لا توجد معايير رسمية. Tiny-vLLM قد يكون أسرع في بعض السيناريوهات بسبب خفة وزنه، لكنه يفتقر إلى الميزات المتقدمة.

    المحركاللغةدعم GPUالنضج
    vLLMPythonCUDAناضج
    llama.cppC++CUDA, CPUناضج
    Tiny-vLLMC++CUDAمبكر جداً

    الأسئلة الشائعة

    هل Tiny-vLLM يدعم النماذج العربية؟

    يدعم أي نموذج بصيغة Hugging Face أو GGUF، بما في ذلك النماذج العربية مثل AraGPT2.

    ما الفرق بين Tiny-vLLM و vLLM الأصلي؟

    Tiny-vLLM أصغر حجماً وأقل ميزات، لكنه أسرع في بعض السيناريوهات.

    هل يمكن تشغيله على CPU فقط؟

    لا، يعتمد على CUDA ولا يدعم CPU.

    ما هي متطلبات الذاكرة (VRAM)؟

    نموذج صغير مثل GPT-2 يحتاج 2-4GB. نماذج أكبر تحتاج 8GB+.

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

    من Hugging Face أو حول نموذج إلى GGUF باستخدام llama.cpp.

    هل المشروع مستقر للإنتاج؟

    لا، في مرحلة مبكرة جداً.

    أين أجد الدعم والمجتمع؟

    عبر Issues في GitHub أو Hacker News.

    DO

    Playbook التطبيق

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

    خطوة 1

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

    لماذا؟ لضمان بيئة بناء صحيحة

    كيف؟ ثبت CUDA Toolkit 11.8+، CMake 3.22+، ومترجم C++17

    الناتج: بيئة جاهزة للبناء

    خطوة 2

    استنساخ وبناء Tiny-vLLM

    لماذا؟ للحصول على الملف التنفيذي

    كيف؟ git clone https://github.com/jmaczan/tiny-vllm.git && cd tiny-vllm && mkdir build && cd build && cmake .. -DCMAKE_BUILD_TYPE=Release && cmake --build . --config Release

    الناتج: ملف تنفيذي tiny_vllm في مجلد build

    خطوة 3

    تحميل نموذج صغير

    لماذا؟ لتجربة الاستدلال

    كيف؟ git lfs install && git clone https://huggingface.co/gpt2

    الناتج: مجلد gpt2 يحتوي على النموذج

    خطوة 4

    تشغيل أول استدلال

    لماذا؟ لاختبار المحرك

    كيف؟ ./tiny_vllm --model ./gpt2 --prompt "Once upon a time" --max-tokens 50

    الناتج: نص مولد من النموذج

    TMP

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

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

    أمر تشغيل أساسي
    ./tiny_vllm --model <path_to_model> --prompt "<your_prompt>" --max-tokens <number>
    أمر بناء مع خيارات
    cmake .. -DCMAKE_BUILD_TYPE=Release -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-12.0
    ERR

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

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

    الخطألماذا يحدث؟التصحيح
    CUDA error: out of memoryالنموذج أكبر من VRAMاستخدم نموذجاً أصغر مثل GPT-2 أو قلل --max-tokens
    CMake Error: CUDA not foundCUDA Toolkit غير مثبت أو غير مضبوطثبت CUDA 11.8+ وأضف PATH و LD_LIBRARY_PATH
    Segmentation faultعدم توافق النموذججرب نموذجاً بصيغة Hugging Face أو حول إلى GGUF
    IF

    شجرة القرار

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

    إذا: إذا كان لديك GPU NVIDIA وتبحث عن تجربة سريعة

    إذن: اتبع خطوات التركيب وجرب نموذج GPT-2

    إذا: إذا كنت مبتدئاً أو تريد حل إنتاجي

    إذن: استخدم vLLM أو llama.cpp بدلاً من ذلك

    إذا: إذا واجهت خطأ out of memory

    إذن: استخدم نموذجاً أصغر أو قلل max-tokens

    7D

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

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

    1. اليوم 1: تثبيت المتطلبات واستنساخ المشروع
    2. اليوم 2: بناء المشروع وحل أخطاء CMake
    3. اليوم 3: تحميل نموذج GPT-2 وتشغيله
    4. اليوم 4: تجربة نماذج أخرى (مثل AraGPT2)
    5. اليوم 5: اختبار أداء ومقارنة مع llama.cpp
    6. اليوم 6: توثيق النتائج والأخطاء
    7. اليوم 7: مشاركة التجربة على GitHub Issues
    FACT

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

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

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

    2. عدد نجوم المشروع 0 على GitHub.

    3. يتطلب GPU NVIDIA مع حساب 7.0+.

    4. يدعم نماذج Hugging Face و GGUF (غير مؤكد).

    5. نموذج GPT-2 يحتاج 2-4GB VRAM.

    6. المشروع غير مستقر للإنتاج.

    7. ظهر على Hacker News مؤخراً.

    8. README لا يوضح خطوات التركيب.

    9. البناء يتم عبر CMake.

    FAQ

    أسئلة شائعة

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

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

    يدعم أي نموذج بصيغة Hugging Face أو GGUF، بما في ذلك AraGPT2.

    ما الفرق بين Tiny-vLLM و vLLM؟

    Tiny-vLLM أصغر حجماً وأقل ميزات، لكنه أسرع في بعض السيناريوهات.

    هل يمكن تشغيله على CPU؟

    لا، يعتمد على CUDA ولا يدعم CPU.

    ABC

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

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

    CUDA

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

    GGUF

    صيغة ملفات لنماذج LLM محسنة للاستدلال، تستخدمها llama.cpp.

    VRAM

    ذاكرة الوصول العشوائي للبطاقة الرسومية.

    Q+

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

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

    تثبيت Tiny-vLLM على WindowsTiny-vLLM vs llama.cpp أداءتشغيل نموذج عربي على Tiny-vLLMحل خطأ CUDA out of memory Tiny-vLLMTiny-vLLM دليل كامل

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

    تحول القارئ: من مطور يظن أن تشغيل LLM محلياً صعب إلى قادر على تجربة Tiny-vLLM وتقييمه بنفسه

    • تحسين أداء الاستدلال باستخدام CUDA
    • إدارة ذاكرة GPU في تطبيقات الذكاء الاصطناعي
    • مقارنة لغات البرمجة لأداء LLM (C++ vs Python)
    SAVE

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

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

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

    Tiny-vLLM مشروع واعد لكنه غير ناضج. إذا كنت تبحث عن تجربة سريعة ومجانية، جربه على جهاز اختبار. للإنتاج، استخدم vLLM أو llama.cpp. تابع المشروع على GitHub للتحديثات.

    UPD

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

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

    • تحقق من تحديثات المشروع على GitHub أسبوعياً.
    • اختبر مع إصدارات CUDA الجديدة.
    • أضف نماذج جديدة مدعومة.

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

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

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

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

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

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

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

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