Key Takeaways
- llama.cpp: أدنى زمن استجابة لكل token (أقل ms/token). مثالي للمحادثة التفاعلية. اعتماديات قليلة.
- Ollama: الأسهل استخدامًا. أمر واحد، تنزيل تلقائي للنماذج. المقايضة: إنتاجية أقل بـ 5–10% من llama.cpp.
- vLLM: أعلى إنتاجية (tokens/ثانية) في الطلبات على دفعات. مثالي لخوادم API الإنتاجية. منحنى تعلّم أكثر حدّة.
- محادثة لمستخدم واحد: llama.cpp أو Ollama (سرعة متطابقة تقريبًا).
- API متعدد المستخدمين: vLLM (إنتاجية أعلى بـ 3–5×).
- استخدام عادي: Ollama (تفوز البساطة).
- تنتج الثلاثة مخرجات نموذج متطابقة — وتختلف فقط السرعة والإنتاجية.
- يمكنك تشغيل الثلاثة في آن واحد على الجهاز نفسه (منافذ مختلفة). لا تتعارض.
معايير السرعة — RTX 4090 24 GB
يتصدّر llama.cpp بـ 38 tok/s لكل token فردي؛ ويتفوق vLLM بـ 250+ tok/s في الدفعة. قُيس على RTX 4090 24 GB، Llama 3.3 70B Q4_K_M، طلب فردي، أبريل 2026:
| الخلفية | Tokens/ثانية | ms/token | VRAM المستخدمة | إنتاجية الدفعة |
|---|---|---|---|---|
| llama.cpp | 38 | 26 | 39 GB | N/A (دون batching) |
| Ollama | 36 | 28 | 39 GB | N/A (دفعة واحدة) |
| vLLM | 34 | 29 | 41 GB | 250+ tok/s (مستمر) |
معايير السرعة — RTX 3060 12 GB
قُيس على RTX 3060 12 GB، Llama 3.2 8B Q4_K_M، طلب فردي، أبريل 2026:
| الخلفية | Tokens/ثانية | ms/token | VRAM المستخدمة | إنتاجية الدفعة |
|---|---|---|---|---|
| llama.cpp | 52 | 19 | 5.2 GB | N/A |
| Ollama | 48 | 21 | 5.4 GB | N/A |
| vLLM | 45 | 22 | 6.1 GB | 180 tok/s (batch=8) |
جدول مقارنة الميزات
llama.cpp: أفضل تكميم وسرعة خام. Ollama: أبسط تثبيت. vLLM: أفضل batching للإنتاج.
| الميزة | llama.cpp | Ollama | vLLM |
|---|---|---|---|
| وقت التثبيت | 30 دقيقة (ترجمة) | 5 دقائق (أمر واحد) | 15 دقيقة (pip install) |
| API متوافق مع OpenAI | ✅ (llama-server) | ✅ (أصلي) | ✅ (أصلي) |
| صيغة النموذج | GGUF | GGUF | SafeTensors / HF |
| دعم GPU | CUDA, ROCm, Metal | CUDA, ROCm, Metal | CUDA فقط |
| Batching | ❌ | ❌ | ✅ مستمر |
| متعدد GPU | ❌ | ❌ | ✅ tensor parallel |
| Apple Silicon | ✅ Metal | ✅ Metal | ❌ |
| واجهة محادثة | ❌ (خادم فقط) | ❌ (يتطلب Open WebUI) | ❌ (API فقط) |
| الترخيص | MIT | MIT | Apache 2.0 |
الـ Batching والإنتاجية
يعالج vLLM 32+ طلبًا على التوازي؛ ويعالج llama.cpp و Ollama طلبًا واحدًا في كل مرة. هنا يتفوق vLLM:
- llama.cpp: دون batching أصلي. طلب واحد في كل مرة. زمن الاستجابة: 27ms/token. الإنتاجية: 36 tok/s.
- Ollama: دفعة واحدة فقط. لا يستطيع معالجة 2+ طلب على التوازي. إنتاجية مماثلة لـ llama.cpp.
- vLLM: batching مستمر أصلي (يدير الطلبات المتزامنة ديناميكيًا). يعالج 32 طلبًا في آن واحد. الإنتاجية: 250+ tok/s على RTX 4090 نفسه.
- تتضاعف ميزة vLLM مع المستخدمين المتزامنين. ولخوادم API بـ 10+ مستخدمين: vLLM إلزامي.
تعقيد التثبيت
Ollama هو الأبسط (5 دقائق)؛ و vLLM يتطلب Python (15 دقيقة)؛ و llama.cpp يتطلب ترجمة (30 دقيقة). إليك الملخص:
llama.cpp: ترجمة من المصدر أو تنزيل ثنائي. إدارة يدوية لملفات النموذج. 30 دقيقة تثبيت.
Ollama: `brew install ollama` أو تنزيل المثبّت. `ollama run llama3.2`. 5 دقائق تثبيت.
vLLM: `pip install vllm`، ثم `python -m vllm.entrypoints.openai.api_server --model meta-llama/Llama-3.3-8B-Instruct`. 15 دقيقة تثبيت (Python + اعتماديات).
الفائز في البساطة: Ollama.
التوافق مع API
يدعم الثلاثة الآن واجهات API متوافقة مع OpenAI؛ و Ollama و vLLM هما الأبسط.
llama.cpp: API متوافق مع OpenAI (عبر `llama-server`، أُضيف أواخر 2024). يعمل مع إضافات IDE.
Ollama: API متوافق مع OpenAI (عبر `ollama serve` + مكتبة عميل). يعمل مع معظم إضافات IDE.
vLLM: API متوافق مع OpenAI (نقطة `/v1/chat/completions` الأصلية). أعلى توافق.
للتكامل مع IDE (VS Code, Cursor): Ollama أو vLLM. تجاوز llama.cpp.
متى تستخدم كلًا منها؟
llama.cpp: اعتماديات قليلة وسرعة خام. استخدمه إذا كنت تبني محرك استدلال مخصصًا. مثالي لـ Mac (تسريع Metal).
Ollama: بساطة الكل في واحد. استخدمه لواجهة المحادثة والاستخدام الشخصي. يعمل على Mac و Linux و Windows.
vLLM: خادم API إنتاجي. استخدمه لعمليات النشر متعددة المستخدمين ومتطلبات الإنتاجية العالية. يتطلب NVIDIA CUDA — لا يعمل على Apple Silicon (M1/M2/M3/M4).
أخطاء شائعة عند اختيار خلفية استدلال
- خطأ: افتراض أن llama.cpp هو الأسرع دائمًا. هذا صحيح فقط لزمن الاستجابة لكل token فردي. يفوز vLLM في الإنتاجية للطلبات على دفعات (أسرع بـ 7× مع 10+ مستخدمين متزامنين).
- خطأ: استبعاد Ollama لأنه بطيء. Ollama أبطأ بـ 5–10% فقط من llama.cpp الخالص — فرق غير مؤثر للمحادثة التفاعلية حيث تبدو 34 tok/s فورية.
- خطأ: الاعتقاد بأن عليك اختيار خلفية واحدة. يمكنك تشغيل الثلاثة في آن واحد على منافذ مختلفة. استخدم Ollama للمحادثة الشخصية و vLLM لخادم API لديك.
- خطأ: استخدام vLLM لمحادثة مستخدم واحد. ميزة vLLM هي الـ batching. وللمحادثة التفاعلية لمستخدم واحد، يفوز إعداد Ollama الأبسط.
السياق الإقليمي وإقامة البيانات
الاتحاد الأوروبي/GDPR: تعمل الخلفيات الثلاث بالكامل داخل المقر. لا بيانات تغادر بنيتك التحتية، ما يستوفي المادة 28 من GDPR (لا حاجة لاتفاقية معالجة بيانات). موصى به للأحمال المالية والصحية والقانونية في الاتحاد الأوروبي.
دول الخليج (PDPL السعودي / قانون حماية البيانات الإماراتي): يُبقي الاستدلال المحلي البيانات داخل بنيتك التحتية، ممتثلًا لأنظمة خصوصية البيانات المحلية مثل نظام حماية البيانات الشخصية السعودي وقانون حماية البيانات الاتحادي الإماراتي ومتطلبات سيادة البيانات الخليجية، ويتيح اعتماد نماذج عربية سيادية (Jais, ALLaM, Falcon) محليًا.
الصين (قانون أمن البيانات): يلبّي الاستدلال داخل المقر متطلبات تسجيل CAC ويُبقي البيانات داخل البلد. و llama.cpp و Ollama الخيارات المفضّلة للشركات الصغيرة والمتوسطة.
الأسئلة الشائعة
أيها يجب أن أستخدم كمبتدئ؟
Ollama. أمر واحد، تنزيل تلقائي للنماذج، واجهة بسيطة.
أيها الأسرع؟
لطلب فردي: llama.cpp (~3% أسرع من Ollama). ولـ 10 طلبات متزامنة: vLLM (~7× أسرع).
هل يمكنني استخدام llama.cpp بدلًا من Ollama؟
نعم، لكنه يتطلب إعدادًا أكثر. تحسين السرعة غير مؤثر (3–5%) لمعظم المستخدمين.
هل vLLM جاهز للإنتاج؟
نعم. يُستخدم في عمليات نشر حقيقية. منحنى تعلّم أكثر حدّة، لكنه يستحق ذلك للإنتاجية العالية.
هل يمكنني تغيير الخلفية دون إعادة تدريب؟
يستخدم llama.cpp و Ollama صيغة GGUF (قابلان للتبديل مباشرةً). ويستخدم vLLM صيغة SafeTensors ويتطلب تحويل النموذج.
أي خلفية أكثر استقرارًا؟
Ollama (بسيط، أخطاء أقل). و llama.cpp مستقر أيضًا. ويُحدَّث vLLM كثيرًا (ميزات أكثر، تغييرات معطِّلة عرضية).
هل يعمل vLLM على Mac؟
لا. يتطلب vLLM NVIDIA CUDA. لـ Mac، استخدم llama.cpp أو Ollama مع تسريع Metal.
قراءات ذات صلة
- Ollama مقابل LM Studio: أيهما تختار؟ — مقارنة جنبًا إلى جنب لأشهر واجهتي LLM محلي
- أفضل حزمة LLM محلي حسب حالة الاستخدام (2026) — تركيبات موصى بها للمحادثة والبرمجة وخوادم API
- Text Generation WebUI مقابل vLLM مقابل llama.cpp — مقارنة أعمق تشمل واجهات بأسلوب AUTOMATIC1111
- أفضل واجهات LLM المحلية (2026) — OpenWebUI و Chatbot UI و8 خيارات أخرى مصنّفة
- كيفية تثبيت Ollama — دليل إعداد في دقيقتين لـ macOS و Windows و Linux
- دليل API متوافق مع OpenAI لـ LLM محلي — بديل مباشر لـ API الخاص بـ OpenAI بنماذج محلية
- Xinference: تشغيل Llama وQwen وChatGLM محلياً -- نشر النماذج مفتوحة المصدر عبر Xinference.