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

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

Tiny-vLLM: دليل تثبيت وتشغيل محرك استدلال LLM بلغة C++ وCUDA
📑 محتويات المقال
    Reference OS v85 دقائق قراءة٢ يونيو ٢٠٢٦informational: يبحث القارئ عن شرح عملي لمشروع جديد ظهر في Hacker News لتقييم فائدته وطريقة تجربته

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

    ستتعلم تثبيت وتشغيل Tiny-vLLM على GPU متوسطة مع حلول للمشكلات الشائعة، رغم عدم وضوح README.

    الخلاصة: Tiny-vLLM محرك استدلال LLM خفيف بلغة C++/CUDA، لكنه غير ناضج (0 نجوم). يتطلب Linux وCUDA 11.8 و16GB RAM و8GB VRAM. التثبيت غير موثق، الخطوات مستخلصة من الكود. جرب مع GPT-2 فقط. بدائل أفضل: vLLM أو llama.cpp.
    Tiny-vLLM دليل عملي501 كلمة تقريباًزارو — مكتبة الأدلة العملية
    Tiny-vLLM: دليل تثبيت وتشغيل محرك استدلال LLM بلغة C++ وCUDA
    Photo by Kirandeep Singh Walia 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. إعداد البيئة (Environment Setup)
    4. خطوات التثبيت (غير موثقة، جرب على مسؤوليتك)
    5. تشغيل أول نموذج (First Run with GPT-2)
    6. الأخطاء الشائعة وحلولها
    7. البدائل
    8. الأسئلة الشائعة (FAQ)
    !

    قبل أن تطبق

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

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

    Q

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

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

    1. هل نظام التشغيل Linux أو Windows مع WSL2؟
    2. هل لديك GPU NVIDIA مع CUDA 11.8+؟
    3. هل RAM 16GB على الأقل وVRAM 8GB؟
    4. هل أنت على استعداد لمواجهة أخطاء التثبيت؟
    5. هل تفضل حلاً ناضجاً مثل vLLM أو llama.cpp؟
    6. هل لديك خبرة في CMake وCUDA؟
    7. هل تريد تشغيل نماذج أكبر من GPT-2؟

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

    INPUT
    نموذج LLM (مثل GPT-2) ومطالبات نصية
    PROCESS
    تحميل النموذج، تحويله إلى تنسيق مناسب، تشغيل الاستدلال باستخدام C++ وCUDA
    OUTPUT
    نص مولد من النموذج
    Decision Layer
    اختيار النموذج المناسب لحجم الذاكرة المتوفرة
    Memory Layer
    إدارة ذاكرة GPU لتجنب تجاوز السعة
    Feedback Loop
    تحسين الأداء بناءً على وقت الاستدلال واستهلاك الذاكرة
    M

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

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

    المؤشرطريقة القياسإشارة جيدة
    وقت الاستدلال (لكل رمز)قياس الوقت باستخدام time في بايثونأقل من 100ms لكل رمز على GPT-2
    استخدام VRAMnvidia-smiأقل من 8GB
    نجاح التثبيتتشغيل run.py بدون أخطاءإخراج نصي

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

    ما هو Tiny-vLLM؟

    Tiny-vLLM محرك استدلال لنماذج اللغة الكبيرة، مكتوب بلغة C++ مع تسريع CUDA. يهدف إلى توفير أداء قريب من vLLM لكن بحجم أصغر. المشروع جديد جداً (0 نجوم، 0 forks) ولم يصدر إصداراً بعد، لذا توقع أخطاء.

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

    إعلان
    • نظام تشغيل: Linux (مفضل) أو Windows مع WSL2
    • GPU: NVIDIA مع CUDA 11.8 أو أحدث
    • RAM: 16GB على الأقل
    • VRAM: 8GB على الأقل لنماذج صغيرة (مثل GPT-2)
    • CMake >= 3.20
    • GCC >= 10
    • Python 3.10+
    • pip

    إعداد البيئة (Environment Setup)

    تأكد من ضبط متغيرات البيئة:

    export CUDA_HOME=/usr/local/cuda-11.8
    export PATH=$CUDA_HOME/bin:$PATH
    export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH

    تحقق من التثبيت: nvcc --version

    خطوات التثبيت (غير موثقة، جرب على مسؤوليتك)

    ملاحظة: README غير واضح، الخطوات التالية مستخلصة من بنية الكود المصدري وقد تختلف.

    1. استنساخ المستودع: git clone https://github.com/jmaczan/tiny-vllm.git
    2. تثبيت التبعيات: pip install -r requirements.txt (إذا وجد الملف)
    3. بناء الكود: mkdir build && cd build && cmake .. && make -j4
    4. تثبيت بايثون رايبر: pip install . (من المجلد الرئيسي)
    5. تحميل نموذج: Python -c "from transformers import AutoModel; AutoModel.from_pretrained('gpt2')"

    تشغيل أول نموذج (First Run with GPT-2)

    بعد التثبيت، جرب تشغيل GPT-2:

    Python run.py --model gpt2 --prompt "مرحبا بالعالم"

    إذا لم يعمل، استخدم واجهة بايثون:

    from tiny_vllm import TinyVLLM
    model = TinyVLLM('gpt2')
    output = model.generate("مرحبا")
    print(output)

    المخرجات المتوقعة: سلسلة نصية من النموذج (قد تكون غير دقيقة).

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

    الخطأالسببالحل
    CUDA error: out of memoryالنموذج أكبر من VRAMاستخدم نموذجاً أصغر أو قلل batch size
    Module not found: tiny_vllmلم يتم تثبيت الرايبرشغّل pip install .
    CMake error: CUDA not foundCUDA غير مثبت أو غير مضبوطتأكد من تثبيت CUDA وضبط PATH
    nvcc not foundCUDA ليس في PATHأضف CUDA إلى PATH (انظر إعداد البيئة)
    undefined reference to cuBLASمكتبة cuBLAS مفقودةتأكد من تثبيت cuBLAS (عادة مع CUDA)

    البدائل

    الأداةالمميزاتالعيوب
    vLLMناضج، أداء عالٍ، يدعم نماذج كثيرةحجم كبير، يتطلب GPU قوية
    llama.cppخفيف، يعمل على CPUأداء أقل على GPU
    Hugging Face Transformersسهل الاستخدام، وثائق ممتازةأبطأ في الاستدلال

    الأسئلة الشائعة (FAQ)

    هل Tiny-vLLM يدعم جميع نماذج Hugging Face؟

    نظرياً نعم، لكن عملياً قد يواجه مشاكل مع النماذج الكبيرة. جرب مع GPT-2 أولاً. نماذج مثل LLaMA قد لا تعمل.

    ما هي كروت الشاشة المتوافقة؟

    أي كرت NVIDIA مع CUDA 11.8+. RTX 3060 فما فوق مناسب.

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

    لا، لأنه يعتمد على CUDA. استخدم llama.cpp بدلاً من ذلك.

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

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

    هل Tiny-vLLM مناسب للإنتاج؟

    لا، المشروع جديد وغير مستقر. استخدم vLLM أو llama.cpp للإنتاج.

    DO

    Playbook التطبيق

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

    خطوة 1

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

    لماذا؟ بدونها لن يعمل Tiny-vLLM

    كيف؟ تأكد من Linux/WSL2، CUDA 11.8، CMake 3.20، GCC 10، Python 3.10، pip

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

    خطوة 2

    ضبط متغيرات البيئة

    لماذا؟ لضمان العثور على CUDA

    كيف؟ export CUDA_HOME=/usr/local/cuda-11.8; export PATH=$CUDA_HOME/bin:$PATH; export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH

    الناتج: nvcc --version يعمل

    خطوة 3

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

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

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

    الناتج: مجلد tiny-vllm

    خطوة 4

    تثبيت التبعيات وبناء الكود

    لماذا؟ لتجميع المحرك

    كيف؟ pip install -r requirements.txt (إن وجد); mkdir build && cd build && cmake .. && make -j4; pip install .

    الناتج: حزمة tiny_vllm مثبتة

    خطوة 5

    تحميل نموذج GPT-2

    لماذا؟ لاختبار الاستدلال

    كيف؟ python -c "from transformers import AutoModel; AutoModel.from_pretrained('gpt2')"

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

    خطوة 6

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

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

    كيف؟ python run.py --model gpt2 --prompt "مرحبا بالعالم"

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

    TMP

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

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

    تشغيل نموذج من بايثون
    from tiny_vllm import TinyVLLM
    model = TinyVLLM('gpt2')
    output = model.generate("مرحبا")
    print(output)
    ضبط متغيرات البيئة
    export CUDA_HOME=/usr/local/cuda-11.8
    export PATH=$CUDA_HOME/bin:$PATH
    export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH
    ERR

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

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

    الخطألماذا يحدث؟التصحيح
    CUDA error: out of memoryالنموذج أكبر من VRAMاستخدم نموذجاً أصغر (مثل GPT-2) أو قلل batch size
    Module not found: tiny_vllmلم يتم تثبيت الرايبرشغّل pip install . من المجلد الرئيسي
    CMake error: CUDA not foundCUDA غير مثبت أو غير مضبوطتأكد من تثبيت CUDA وضبط PATH
    nvcc not foundCUDA ليس في PATHأضف CUDA إلى PATH (انظر إعداد البيئة)
    undefined reference to cuBLASمكتبة cuBLAS مفقودةتأكد من تثبيت cuBLAS (عادة مع CUDA)
    IF

    شجرة القرار

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

    إذا: إذا كان لديك GPU قوية (VRAM > 16GB) وتريد أداء عالياً

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

    إذا: إذا كنت تريد تشغيل LLM على CPU

    إذن: استخدم llama.cpp

    إذا: إذا كنت من عشاق التجربة ولديك المتطلبات

    إذن: جرب Tiny-vLLM مع GPT-2

    إذا: إذا واجهت أخطاء في التثبيت

    إذن: ارجع إلى جدول الأخطاء الشائعة أو استخدم بديلاً

    7D

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

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

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

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

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

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

    2. المشروع جديد جداً (0 نجوم، 0 forks).

    3. يتطلب Linux أو WSL2.

    4. يتطلب CUDA 11.8 أو أحدث.

    5. الحد الأدنى للذاكرة: 16GB RAM و8GB VRAM.

    6. التثبيت غير موثق، الخطوات مستخلصة من الكود.

    7. يدعم نظرياً نماذج Hugging Face لكن عملياً GPT-2 فقط.

    8. غير مناسب للإنتاج.

    9. البدائل: vLLM، llama.cpp، Hugging Face Transformers.

    FAQ

    أسئلة شائعة

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

    هل Tiny-vLLM يدعم جميع نماذج Hugging Face؟

    نظرياً نعم، لكن عملياً قد يواجه مشاكل مع النماذج الكبيرة. جرب مع GPT-2 أولاً. نماذج مثل LLaMA قد لا تعمل.

    ما هي كروت الشاشة المتوافقة؟

    أي كرت NVIDIA مع CUDA 11.8+. RTX 3060 فما فوق مناسب.

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

    لا، لأنه يعتمد على CUDA. استخدم llama.cpp بدلاً من ذلك.

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

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

    هل Tiny-vLLM مناسب للإنتاج؟

    لا، المشروع جديد وغير مستقر. استخدم vLLM أو llama.cpp للإنتاج.

    ABC

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

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

    LLM

    نموذج لغة كبير، مثل GPT-2 أو LLaMA.

    CUDA

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

    VRAM

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

    CMake

    أداة لإدارة عملية بناء البرامج.

    cuBLAS

    مكتبة عمليات المصفوفات المعجلة بـ CUDA.

    Q+

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

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

    تثبيت vLLM على Linuxتشغيل llama.cpp على GPUمقارنة محركات استدلال LLMأفضل محرك LLM خفيفحل مشكلة CUDA out of memoryكيفية بناء مشروع CMake مع CUDA

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

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

    • تحسين أداء LLM باستخدام CUDA
    • إدارة ذاكرة GPU في تطبيقات الذكاء الاصطناعي
    SAVE

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

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

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

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

    UPD

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

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

    • تحقق من تحديثات المستودع (commits) أسبوعياً
    • تحديث قائمة البدائل إذا ظهرت أدوات جديدة
    • تحديث جدول الأخطاء بناءً على تجارب المستخدمين
    • إزالة الدليل إذا أصبح المشروع مهجوراً

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

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

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

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

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

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

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

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