SSD Nodes Learn 8GB RAM — $66/سنة
الأدلة Matt Connorبقلم Matt Connor · آخر تحديث في 2026-08-01

هل تحتاج VPS مزودًا بـ GPU أم تكفيك CPU؟

استخدم CPU أولًا للنماذج المكممة 7B إلى 27B، والتضمينات وWhisper small. انتقل إلى GPU فقط عند الحاجة إلى سرعة رموز أعلى أو نماذج أكبر، ثم قِس الفرق.

هل تحتاج إلى VPS مزود بوحدة GPU، أم تكفي وحدة CPU؟

يغيّر VPS المزود بوحدة GPU أمرين عند تشغيل النموذج بنفسك: سرعة إخراج الرموز، وحجم النموذج الذي يمكن أن تتسع له الذاكرة. ولا يغيّر أي شيء آخر. إذا كان حملك يتضمن نموذج محادثة مكممًا بحجم 7B إلى 27B يجيب مستخدمًا واحدًا في كل مرة، أو مهمة توليد تضمينات بحجم منخفض، أو نسخًا صوتيًا باستخدام Whisper small، فإن VPS عاديًا مزودًا بوحدة CPU وذاكرة RAM كافية ينفذ المهمة بالفعل. ابدأ باستخدام CPU، وقِس القيمة التي تزعجك، ثم انتقل إلى مستوى أعلى.

والسبب هو عرض نطاق الذاكرة. عندما يولد نموذج اللغة رمزًا واحدًا، فإنه يقرأ كل الأوزان التي يحتاج إليها من الذاكرة. يبلغ حجم نموذج 8B المكمم إلى 4 bits نحو 4.7 GB على القرص، ويكون حجمه في الذاكرة قريبًا من ذلك، لذا يعني إنتاج رمز واحد نقل نحو 4.7 GB. اقسم عرض نطاق ذاكرة الجهاز على هذا الرقم، فتحصل على الحد الأقصى لعدد الرموز في الثانية. يفسر هذا القسْم الواحد تقريبًا كل نتيجة قياس ستقرأها.

ما الذي تمنحك إياه وحدة GPU فعليًا

عرض النطاق الترددي. تنقل ذاكرة DDR5 في الخادم الحديث عشرات الجيجابايتات في الثانية. وتنقل ذاكرة GPU ‏(VRAM، ذاكرة الفيديو) مئات الجيجابايتات، وقد تتجاوز ألف جيجابايت. هذه النسبة هي مقدار تسارع الأداء، وهي كبيرة.

السعة مع السرعة. يمكن لخادم CPU مزود بذاكرة RAM بسعة 64 GB تحميل نموذج 70B بدقة 4 bits. لكنه سيعمل بسرعة أقرب إلى سرعة القراءة منها إلى سرعة المحادثة. لا تساعد GPU في هذه الحالة إلا إذا كان النموذج يتسع في VRAM، لأن اللحظة التي تنتقل فيها الطبقات إلى RAM الخاصة بالنظام تعيد المسار البطيء إلى الواجهة.

الإنتاجية عند معالجة الدفعات. هذا هو الجانب الذي يستهين به كثيرون. عند التوليد لمستخدم واحد، تظل معظم قدرة GPU الحسابية غير مستغلة لأنها تنتظر الذاكرة. عند معالجة 20 طلبًا في الوقت نفسه، تُستخدم قراءة الأوزان نفسها لخدمة الطلبات العشرين كلها. ترتفع سرعة الرموز الإجمالية عدة مرات، بينما ينخفض أداء كل مستخدم انخفاضًا طفيفًا فقط. لا يفعل CPU ذلك. فعلى خادم CPU، يؤدي مستخدمان متزامنان تقريبًا إلى خفض سرعة كل منهما إلى النصف. إذا كنت تبني API يستدعيه عدد كبير من العملاء، فإن معالجة الدفعات هي الحجة الأساسية لاستخدام GPU، وهي أهم من سرعة التدفق الواحد الخام.

معالجة المطالبة. تعتمد قراءة مطالبة طويلة على قدرة المعالجة، لا على الذاكرة، وهنا تتفوق GPU بأكبر فارق. يستغرق سياق مكوّن من 30,000 رمز دقيقة على CPU، لكنه يستغرق بضع ثوانٍ على GPU. وتظهر أهمية ذلك باستمرار في إعدادات الاسترجاع التي تضع المستندات داخل كل طلب.

أرقام تقريبية وكيفية قراءتها

يحتوي القسم أدناه على أرقام نموذجية منشورة للتدفق الفردي لنموذج بحجم 8B مع تكميم 4-bit، حتى يوليو 2026. هذه الأرقام إرشادية من حيث الرتبة، وليست ضمانًا. سيؤثر كل من التكميم وطول السياق ومحرك الاستدلال فيها.

Chart8B model at 4-bit: typical single-stream generation speed (July 2026)
The data behind this chart
[
  {
    "label": "8 vCPU, DDR4",
    "mem_bandwidth_gbs": 40,
    "tokens_per_sec": 6
  },
  {
    "label": "16 vCPU, DDR5",
    "mem_bandwidth_gbs": 75,
    "tokens_per_sec": 11
  },
  {
    "label": "24GB GPU",
    "mem_bandwidth_gbs": 300,
    "tokens_per_sec": 50
  },
  {
    "label": "40GB data-centre GPU",
    "mem_bandwidth_gbs": 1555,
    "tokens_per_sec": 130
  }
]

يعرض صف وحدة GPU بسعة 24 GB قيمة 50 رمزًا في الثانية، مقارنةً بقيمة 11 لجهاز CPU يستخدم DDR5. وهذا يعادل نحو خمسة أضعاف، بما يتوافق مع نسبة عرض النطاق الترددي، لا مع اختلاف في القدرة الحوسبية الخام. كما أن معدل النقل الفعلي يكون أقل من ناتج قسمة عرض النطاق الترددي على حجم النموذج، لأن الانتباه إلى سياق متزايد يضيف عمليات لا تأخذها القسمة البسيطة في الحسبان.

للمقارنة، يقرأ الشخص نحو 5 إلى 10 كلمات في الثانية. وأي معدل يبلغ 15 رمزًا في الثانية أو أكثر يبدو بالفعل كالكتابة العادية لقارئ واحد. لذلك تكون إعدادات كثيرة تعتمد على CPU فقط كافية عمليًا دون مشكلات واضحة.

تحديد سعة VRAM قبل الشراء

حجم ملف النموذج هو الحد الأدنى، وليس المتطلب الفعلي. احسب سعة الأوزان، وأضف إليها ذاكرة KV cache ‏(ذاكرة التخزين المؤقت للمفتاح والقيمة، وهي الذاكرة التي تحتفظ بها آلية الانتباه لكل رمز)، مع نحو 1 GB من النفقات الإضافية.

قاعدة عملية اعتبارًا من July 2026: خذ حجم ملف النموذج بالجيجابايت وأضف 20 بالمئة لسياق عادي يتراوح بين 8k و16k. يحتاج نموذج 8B حجمه 4.7 GB إلى نحو 6 GB من VRAM. ويبلغ حجم نموذج 27B بدقة 4 bits نحو 16 GB، ويحتاج إلى نحو 20 GB. أما نموذج 70B بدقة 4 bits فيبلغ حجمه نحو 40 GB، ويحتاج إلى بطاقة بسعة 48 GB أو بطاقتين أصغر.

تتجاوز السياقات الطويلة هذه القاعدة. تنمو ذاكرة KV cache خطيًا مع طول السياق، ويمكن أن تتجاوز الأوزان نفسها عند 128k رمزًا. إذا كنت تخطط لاستخدام سياقات طويلة، فحدّد السعة المطلوبة لذاكرة التخزين المؤقت أولًا، وتحقق مما يتيحه محركك لضغط ذاكرة التخزين المؤقت.

تحقّق مما هو موجود فعليًا على الجهاز

على مثيل GPU، تأكّد أولًا من أن برنامج التشغيل يتعرّف على البطاقة.

nvidia-smi

يجب أن يعرض الجدول اسم GPU وإصدار برنامج التشغيل والذاكرة المستخدمة من إجمالي الذاكرة. يشير NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver إلى أن برنامج التشغيل مفقود، أو أن وحدة النواة لم تُعَد بناؤها بعد ترقية النواة. في صورة Ubuntu القياسية، يكون الإصلاح عادةً هو sudo apt install -y ubuntu-drivers-common && sudo ubuntu-drivers install، ثم إعادة التشغيل لتحميل الوحدة الجديدة.

بالنسبة إلى الحاويات، لا يكفي برنامج التشغيل وحده. يحتاج Docker إلى NVIDIA Container Toolkit لتمرير الجهاز إلى الحاوية.

sudo apt-get update && sudo apt-get install -y --no-install-recommends ca-certificates curl gnupg2
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

بعد ذلك، أثبت أن تمرير الجهاز يعمل من داخل حاوية:

sudo docker run --rm --gpus all ubuntu:24.04 nvidia-smi

يجب أن يظهر الجدول نفسه. يشير سطر docker: Error response from daemon: could not select device driver، الذي يذكر قدرة GPU لا يمكنه توفيرها، إلى أن مجموعة الأدوات مثبّتة، لكن Docker لم يُعَد تكوينه أو تشغيله. لذلك أعد تنفيذ السطر nvidia-ctk ثم أعد التشغيل. في Compose، يكون المكافئ إدخالًا deploy.resources.reservations.devices تكون قيمة driver فيه هي nvidia، وتحتوي قائمة القدرات فيه على gpu. ويُضاف هذا الإدخال إلى تعريفات الخدمات العادية المشروحة في Docker Compose على VPS.

قِس الأداء قبل الترقية

شغّل النموذج الذي تنوي استخدامه فعليًا على خادم CPU لديك حاليًا، وسجّل الأرقام. باستخدام استضافة LLM ذاتيًا عبر Ollama على VPS، يتطلب ذلك هذا الخيار فقط:

ollama run llama3.1:8b --verbose "Summarise the causes of the 1929 crash in 200 words."

ينتهي الناتج بعروض زمنية. تشير eval rate إلى سرعة التوليد بوحدة الرموز في الثانية. وتشير prompt eval rate إلى سرعة قراءة الجهاز لإدخالك. يوضح لك الرقمان أي ترقية ستفيدك: انخفاض eval rate يعني وجود مشكلة في عرض نطاق الذاكرة، وانخفاض prompt eval rate مع الإدخالات الطويلة يعني وجود مشكلة في القدرة الحاسوبية.

على جهاز يحتوي على GPU، تحقّق من أن النموذج انتقل إليه فعلًا:

ollama ps

يعرض العمود PROCESSOR القيمة 100% GPU عندما يتسع كل شيء، أو قيمة مثل 43%/57% CPU/GPU عندما لا يتسع. يكون التقسيم الجزئي أسوأ مما تتوقع عادةً، لأن كل رمز يظل منتظرًا للجزء الأبطأ.

سؤال التكلفة

تكلف مثيلات GPU عدة أضعاف تكلفة مثيل CPU مماثل. كما أنها تُحاسبك عن كل ساعة تكون فيها موجودة، وليس عن عدد الرموز التي تنتجها. ويُعد تشغيل GPU باستمرار لخدمة عدد قليل من الطلبات يوميًا أغلى طريقة ممكنة لإجراء الاستدلال. وتتمثل نقطة التعادل في معدل الاستخدام: يكون GPU المشغول منخفض التكلفة لكل رمز، أما GPU الخامل فهو هدر محض.

تنجح ثلاث طرق عملية واضحة. أبقِ العمل المستمر منخفض الحجم على VPS يعمل بوحدة CPU. أرسل الطلبات الصعبة العرضية إلى API مستضاف وادفع مقابل كل رمز. استأجر GPU بالساعة للمهام الدفعية أو الضبط الدقيق أو تشغيل تضمين كبير، ثم أوقفه واحذفه. من الطبيعي الجمع بين هذه الطرق. وينطبق هنا أيضًا الانضباط المالي الموضح في التحكم في تكلفة وكيل الذكاء الاصطناعي على VPS يعمل باستمرار، مع اختلاف أن وقت الخمول هو مصدر التسرب بدلًا من عدد الرموز.

ما يزال يعمل بشكل جيد من دون GPU

التضمينات بمعدل منخفض. يعالج نموذج تضمين صغير مئات المستندات القصيرة في الدقيقة باستخدام بضع أنوية CPU، ولا يلزم أن تكون سرعة الفهرس الذي تنشئه مرة واحدة عالية.

Whisper small وbase لتحويل الكلام إلى نص. ينفذ Faster-whisper عملية تحويل الكلام إلى نص على CPU بسرعة تقارب الوقت الفعلي عند استخدام النموذج small، وهذا يكفي لخط أنابيب يعمل طوال الليل.

نماذج المحادثة المكمّمة حتى نحو 27B، لمستخدم واحد أو مستخدمين. تكون بطيئة، لكنها مقروءة وقابلة للاستخدام.

أي مهمة تعتبرها مهمة دفعية. إذا لم يكن أحد يراقب الشاشة، فسرعة التنفيذ الفعلية عامل جدولة وليست متطلبًا.

ما يحتاج فعلًا إلى GPU: التدريب أو الضبط الدقيق الذي يتجاوز adapter صغيرًا، وتقديم الخدمة لعدد كبير من المستخدمين المتزامنين، وإنشاء الصور والفيديو، والكلام في الوقت الفعلي عندما تكون زمنية الاستجابة هي جوهر المنتج.

FAQ

ما مقدار VRAM الذي أحتاج إليه لنموذج 7B أو 8B؟

تحتاج إلى نحو 6 GB لنموذج 8B مكمَّم بدقة 4-bit مع سياق عادي يتراوح بين 8k و16k. يبلغ حجم الأوزان نحو 4.7 GB، وتُستخدم المساحة المتبقية لذاكرة KV cache ونحو 1 GB للنفقات الإضافية. توفر بطاقة بسعة 12 GB مساحة مريحة للسياقات الأطول. إذا كنت تخطط للتشغيل بسياق 128k، فاحسب حجم الذاكرة المؤقتة بشكل منفصل، لأنها قد تتجاوز حجم الأوزان.

هل يمكنني تشغيل Ollama من دون GPU؟

نعم. ينتقل Ollama تلقائيًا إلى استخدام CPU، ولا يحتاج إلا إلى مقدار كافٍ من RAM لاحتواء النموذج. توقّع سرعة تتراوح تقريبًا بين 5 و12 token في الثانية لنموذج 8B بدقة 4-bit، بحسب سرعة الذاكرة. وهذا يقترب من سرعة القراءة لمستخدم واحد. تمثل المطالبات الطويلة المشكلة الأساسية عند استخدام CPU، لأن قراءة سياق يتكون من 30,000 token تتطلب معالجة مكثفة وتستغرق وقتًا أطول بكثير من إنشاء الرد.

لماذا لا تكون سرعة GPU لدي أعلى بكثير من CPU؟

السبب المعتاد هو أن النموذج لم يتسع بالكامل داخل VRAM، ولذلك تعمل بعض الطبقات على CPU، وينتظر كل token الجزء الأبطأ. شغّل ollama ps وتحقق من أن عمود PROCESSOR يعرض 100% GPU. إذا ظهر تقسيم، فاستخدم تكميمًا أصغر أو نموذجًا أصغر. والسبب الشائع الآخر هو استخدام اختبار أداء قصير، إذ يهيمن وقت تحميل النموذج على القياس.

هل يستحق VPS مزودًا بـ GPU التكلفة لمستخدم واحد؟

غالبًا لا. يقرأ الشخص بسرعة تتراوح بين 5 و10 كلمات في الثانية، كما أن جهاز CPU ينتج token بسرعة أعلى من ذلك للنماذج التي يصل حجمها إلى نحو 13B. الحالات التي تبرر التكلفة لمستخدم واحد هي المطالبات الطويلة، وتوليد الصور، والضبط الدقيق. أما تقديم الخدمة لعدة مستخدمين في الوقت نفسه فهو أقوى مبرر، لأن المعالجة الدفعية تتيح لوحدة GPU واحدة الإجابة عن عشرين طلبًا بتكلفة تقارب تكلفة الإجابة عن طلب واحد.

هل أستأجر GPU بالساعة أم أشغّله دائمًا؟

استأجره بالساعة عندما يكون العمل متقطعًا، مثل الضبط الدقيق، أو تشغيل تضمين جماعي، أو مهمة نسخ صوتي دفعية. شغّله دائمًا فقط عندما يظل الاستخدام مرتفعًا، لأن مثيل GPU يُحاسبك على بقائه قيد التشغيل، لا على عدد token التي ينتجها. يكون المساعد منخفض الاستخدام أرخص على VPS يعمل بـ CPU، أو عبر API مستضاف تُحاسب عليه لكل token، من تشغيل GPU غير مستخدم.