Friday, 13 November 2026 | التحديث اليومي نظرة ثاقبة للذكاء الاصطناعي، مكتوبة للبناة

Ollama لا يستخدم GPU: تشخيص وإصلاح الرجوع إلى المعالج

  • تشغيل ollama ps بينما يتم تحميل نموذج — توضح لك عمود PROCESSOR ما إذا Ollama يستخدم GPU أو CPU.
  • وأكثر إصلاح شائع على أنظمة NVIDIA هو تثبيت أو تحديث برنامج التشغيل المضيف بحيث nvidia-smi يكتشف البطاقة، ثم إعادة تشغيل خدمة Ollama.
  • إذا كان حجم النموذج أكبر من سعة الذاكرة المخصصة لوحدة معالجة الرسومات (VRAM)، فإن Ollama تقوم بنقل الطبقات الزائدة إلى وحدة المعالجة المركزية (CPU) — استخدم حاسبة VRAM للتحقق مما إذا كان النموذج يناسب سعة الذاكرة المتوفرة قبل تنزيله.
  • وتتطلب بطاقات AMD وحزمة Docker ونظام WSL2 خطوات محددة لكل منصة، وهي موضحة أدناه.

عندما لا تستخدم Ollama وحدة معالجة الرسومات (GPU) الخاصة بك، فإن السبب الأكثر شيوعًا هو غياب برنامج التشغيل أو عدم توافقه. قم بتشغيل الأمر ollama ps — فإذا أظهر عمود PROCESSOR نسبة 100% لوحدة المعالجة المركزية (CPU)، فهذا يعني أن Ollama قد عادت بالكامل إلى استخدام وحدة المعالجة المركزية (CPU). ويعتمد الإصلاح المطلوب على نظام المنصة المستخدمة: فأنظمة NVIDIA تحتاج إلى وقت تشغيل CUDA الصحيح، بينما تتطلب أنظمة AMD دعم ROCm، أما حزمة Docker فتحتاج إلى تمرير خاصية دعم وحدة معالجة الرسومات (GPU passthrough) بشكل صريح.

الخطوة 1: التأكد مما إذا كانت Ollama تستخدم وحدة معالجة الرسومات (GPU)

قبل إجراء أي تغيير، تأكَّد أولًا من السلوك الفعلي لـOllama. قم بتحميل نموذج، وفي أثناء تشغيله افتح نافذة طرفية ثانية:

ollama ps

مثال على المخرجات:

NAME              ID              SIZE      PROCESSOR    UNTIL
llama3.2:8b       abc123def456    5.0 GB    100% GPU     4 minutes from now

إن عمود PROCESSOR هو المؤشر الحاسم:

قيمة PROCESSOR الدلالة
100% GPU جميع الطبقات تعمل على وحدة معالجة الرسومات (GPU) — وهو السلوك المتوقع والصحيح
XX% GPU / YY% CPU يناسب النموذج جزئيًّا سعة الذاكرة المخصصة لوحدة معالجة الرسومات (VRAM)، بينما تُنفَّذ الطبقات المتبقية على وحدة المعالجة المركزية (CPU)
100% CPU عودة كاملة إلى وحدة المعالجة المركزية (CPU) — أي أن وحدة معالجة الرسومات (GPU) لم تُستخدَم إطلاقًا

على أنظمة NVIDIA، يمكنك التحقق المتقاطع باستخدام الأمر nvidia-smi أثناء تشغيل الاستنتاج (inference). ويجب أن ترتفع قيمة العمود Memory-Usage تدريجيًّا أثناء تحميل النموذج. وإذا ظلت ثابتة دون تغيير، فهذا يعني أن وحدة معالجة الرسومات (GPU) غير نشطة تمامًا، بغض النظر عن التقارير التي قد تُظهرها أدوات أخرى.

الخطوة 2: لأنظمة NVIDIA — برامج التشغيل ووقت تشغيل CUDA

يُعد غياب برنامج تشغيل NVIDIA أو قدمه العامل الوحيد الأكثر شيوعًا الذي يؤدي إلى العودة الكاملة إلى وحدة المعالجة المركزية (CPU). وتضمّن Ollama مكتبات CUDA الخاصة بها، لكنها ما زالت تتطلب وجود برنامج تشغيل مضيف يدعم إصدار CUDA 11.3 أو أحدث.

تحقق أولًا من برنامج التشغيل

nvidia-smi

إذا لم يتم العثور على هذا الأمر، فهذا يعني أنه لم يُثبَّت أي برنامج تشغيل. وإذا تم تنفيذه بنجاح، فلاحظ رقم إصدار برنامج التشغيل (Driver Version) وإصدار CUDA (CUDA Version) في العنوان. ويشير إصدار CUDA المذكور هناك إلى أقصى إصدار يدعمه برنامج التشغيل — ولا يعني ذلك أن حزمة أدوات CUDA منفصلة مثبتة بالفعل، كما أن Ollama لا تحتاج إلى مثل هذه الحزمة.

المنصة أدنى إصدار مطلوب من برنامج التشغيل
Linux 525.xx (يدعم CUDA 12.0)
ويندوز الأصلي (Windows native) 527.xx (يدعم CUDA 12.0)
WSL2 (مع نظام ويندوز كمضيف) 525.xx على جانب ويندوز — ولا تقم بتثبيت برنامج تشغيل NVIDIA الخاص بلينكس داخل بيئة WSL2

ثبِّت أو حدِّث برنامج التشغيل

أوبونتو / ديبيان:

sudo apt install nvidia-driver-550
sudo reboot

Windows: نزِّل البرنامج من الموقع nvidia.com/Download أو استخدم تطبيق GeForce Experience، ثم أعد التشغيل. ويجب إجراء إعادة تشغيل كاملة — وليس مجرد إعادة تشغيل الخدمة فقط — بعد تثبيت أو تحديث برنامج التشغيل.

بعد إعادة التشغيل، تأكَّد من أن الأمر nvidia-smi يعرض بطاقتك، ثم أعد تشغيل Ollama:

# لينكس (باستخدام systemd)
sudo systemctl restart ollama

# ماك أو إس
launchctl kickstart -k gui/$(id -u)/com.ollama.ollama

# ويندوز — أعد تشغيل تطبيق Ollama في شريط المهام، أو أعد تشغيل النظام بالكامل

شغِّل نموذجًا وتحقق من الأمر ollama ps مرة أخرى. وإذا ظل عمود PROCESSOR يُظهر نسبة 100% لوحدة المعالجة المركزية (CPU)، فانتقل إلى الخطوات التالية.

الخطوة 3: نموذج كبير جدًّا بالنسبة لسعة الذاكرة المخصصة لوحدة معالجة الرسومات (VRAM)

عندما يتجاوز وزن النموذج السعة المتاحة للذاكرة المخصصة لوحدة معالجة الرسومات (VRAM)، فإن Ollama لا ترفض التشغيل — بل تقوم بتقسيم عملية الاستنتاج (inference). فتُحمَّل أكبر عدد ممكن من طبقات المحول (transformer layers) على وحدة معالجة الرسومات (GPU)، بينما تُنفَّذ الطبقات المتبقية على وحدة المعالجة المركزية (CPU). ويظهر هذا التقسيم كنسبة مئوية مقسَّمة في ollama ps وهذا سلوك مقصود وليس عيبًا برمجيًّا.

ويحتاج نموذج ذو 70 مليار معلَّمة (70B parameter model) عند تكميم Q4_K_M عادةً إلى حوالي 40 جيجابايت من سعة الذاكرة المخصصة لوحدة معالجة الرسومات (VRAM)، وهي سعة تفوق أي بطاقة رسوميات استهلاكية واحدة. ولذلك، قبل تنزيل نموذج كبير، تحقَّق مما إذا كان يناسب سعة ذاكرتك باستخدام حاسبة VRAM. وللاطلاع على الأرقام الخاصة بكل نموذج من أكثر نماذج اللغات الكبيرة (LLMs) شيوعًا، راجع متطلبات ذاكرة VRAM لكل نموذج لغوي رئيسي. لمعرفة كمية VRAM التي يتمتع بها GPU الخاص بك، اتبع دليلنا حول كيفية التحقق من VRAM الخاص بك.

إذا لم يتناسب النموذج مع سعة ذاكرتك المخصصة لوحدة معالجة الرسومات (VRAM)، فلديك الخيارات التالية:

  • استخدم كمية تحديد أقل (مثل Q2_K أو Q3_K_S) — يقلل استخدام VRAM بتكلفة جودة بسيطة.
  • التبديل إلى نسخة نموذج أصغر (مثل 8B بدلاً من 70B). ال أفضل النماذج المحلية لـ Ollama الصفحة تغطي أي نماذج تعمل بشكل جيد على أجهزة المستهلك.
  • قبل التفريغ الجزئي — معدل الإنتاجية سيكون بين سرعات GPU الكاملة و CPU الكاملة.
  • ترقية بطاقة الرسومات الخاصة بك. ال أفضل GPUs للنماذج اللغوية المحلية الدليل يقارن الخيارات الحالية حسب VRAM والسعر.

الخطوة 4: بطاقات AMD وROCm

دعم AMD في Ollama مبني على ROCm، منصة حوسبة GPU من AMD. يدعم Ollama رسمياً بطاقات RDNA 2 (سلسلة RX 6000) و RDNA 3 (سلسلة RX 7000) على Linux. دعم AMD على Windows محدود — تحقق من ملاحظات الإصدار لإصدار Ollama المثبت لديك قبل توقع عمله على Windows.

تحقق من أن ROCm يرى البطاقة

rocm-smi

إذا rocm-smi لم يتم العثور عليه، فإن مكدس ROCm لم يتم تثبيته. تحقق من amd.com/en/developer/rocm للحصول على تعليمات التثبيت الحالية لتوزيعك، حيث تتغير أسماء الحزم ومتطلبات الإصدار بين إصدارات ROCm.

إذا كانت البطاقة غائبة عن rocm-smi الإخراج بعد التثبيت:

sudo usermod -aG render,video $USER
# تسجيل الخروج والدخول مرة أخرى لتفعيل تغيير المجموعة

لاستهداف GPU محدد عند وجود عدة بطاقات:

HIP_VISIBLE_DEVICES=0 ollama serve

الخطوة 5: حزمة Docker — غياب تمرير دعم وحدة معالجة الرسومات (GPU passthrough)

لا تحصل حاويات Docker على وصول GPU إلا إذا مررت الجهاز صراحة. هذا هو السبب الأكثر شيوعاً لعودة Ollama إلى CPU في النشرات المحتوية على حاويات — GPU على المضيف بخير، لكن الحاوية لا ترى.

NVIDIA في Docker

ثبت NVIDIA Container Toolkit على المضيف:

sudo apt install nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

ثم مرر GPU عند بدء الحاوية:

docker run -d --gpus all 
  -v ollama:/root/.ollama 
  -p 11434:11434 
  ollama/ollama

بدون --gpus all أو --gpus device=0 لبطاقة محددة)، الحاوية ليس لديها وصول GPU بغض النظر عن إعدادات المضيف.

AMD في Docker

docker run -d 
  --device /dev/kfd --device /dev/dri 
  -v ollama:/root/.ollama 
  -p 11434:11434 
  ollama/ollama:rocm

الـ :rocm وسم الصورة مطلوب. الافتراضي ollama/ollama الصورة لا تتضمن ROCm وستعود إلى CPU على أجهزة AMD.

الخطوة 6: نظام WSL2 على ويندوز

يمكن لـ WSL2 مشاركة GPU من NVIDIA مع مضيف Windows، لكن قاعدة واحدة مطلقة: يجب تثبيت برنامج تشغيل NVIDIA على ويندوزوليس داخل WSL2. تثبيت برنامج تشغيل Linux NVIDIA داخل بيئة WSL2 يكسر نقل GPU تماماً.

  • ثبت أو حدّث برنامج تشغيل NVIDIA على Windows، ثم أعد تشغيل Windows.
  • يتطلب WSL2 النواة 5.10.43 أو أحدث. تحقق مع uname -r داخل WSL2؛ حدّث مع wsl --update في محطة Windows.
  • يمكن تثبيت مجموعة أدوات CUDA داخل WSL2 إذا كان سير العمل الخاص بك يحتاجها — هذا منفصل عن البرنامج والتشغيل ولا يتعارض.

تحقق من ظهور GPU من داخل WSL2:

nvidia-smi

إذا أظهر هذا بطاقتك، فإن Ollama الذي يعمل داخل WSL2 سيستخدمها تلقائياً. إذا فشل، حدّث برنامج التشغيل على جانب Windows وأعد التشغيل wsl --update.

نظام macOS — تقنية Metal (لرقائق Apple Silicon وبطاقات AMD)

على macOS، يستخدم Ollama Apple Metal لتسريع GPU — لا توجد برامج تشغيل للتثبيت ولا متغيرات بيئة للتعيين. إذا كنت على Apple Silicon وكان Ollama بطيئاً، تأكد من أنك ثبتت النسخة الأصلية ARM من ollama.com بدلاً من نسخة x86 التي تعمل ضمن Rosetta. تستخدم أجهزة Apple Silicon Mac الذاكرة الموحدة، لذا فإن نظام RAM الكامل متاح للنماذج — أدخل إجمالي RAM كحد VRAM عند استخدام حاسبة VRAM.

التحقق من نجاح الإصلاح والأداء المتوقع

بعد إجراء التغييرات، شغّل نموذجاً وتحقق من إشارتين في نفس الوقت:

# Terminal 1 — ابدأ عملية إنشاء
ollama run llama3.2:8b "What is the capital of France?"

# Terminal 2 — أثناء إنشاء
ollama ps

# NVIDIA: راقب أيضاً استخدام GPU في الثانية
nvidia-smi dmon -s u

الإنتاجية المرجعية (تقريبية — تختلف حسب التحديد الكمي، إصدار البرنامج، وعرض النطاق الترددي PCIe):

الأجهزة النموذج ~tok/s
RTX 4090 (24 جيجابايت) Llama 3.1 8B Q4 120–160
RTX 3080 (10 GB) Llama 3.1 8B Q4 60–80
Apple M3 Pro (unified memory) Llama 3.1 8B Q4 40–60
CPU only (Ryzen 9 7950X) Llama 3.1 8B Q4 5–15

الرموز الفردية في الثانية مع GPU قادر موجود هو أوضح علامة على أن الإصلاح لم يتم تفعيله.

الأسئلة المتكررة

لماذا يظهر ollama ps انقسام GPU/CPU بدلاً من 100% GPU؟

النموذج أكبر من VRAM المتاح لديك. يضع Ollama أكبر عدد ممكن من الطبقات على GPU ويشغل الباقي على CPU. النتيجة أسرع من CPU الكامل لكن أبطأ من GPU الكامل. حمّل نموذجاً أصغر أو التبديل إلى تحديد كمي أقل لدفع المزيد من الطبقات إلى GPU.

كان Ollama يستخدم GPU من قبل وتوقف فجأة — ماذا تغير؟

يمكن لتحديث برنامج التشغيل أو تحديث نظام التشغيل أو إصدار جديد من Ollama أن يكسر كشف GPU. تحقق من nvidia-smi لا يزال يظهر البطاقة، ثم أعد تشغيل الخدمة بشكل كامل. إذا حدثت برنامج تشغيل NVIDIA مؤخراً، فإعادة تشغيل النظام الكاملة ضرورية أحياناً بدلاً من إعادة تشغيل الخدمة فقط.

هل يمكن لـ Ollama استخدام عدة وحدات معالجة رسومات GPU في نفس الوقت؟

نعم. يوزع Ollama طبقات النموذج عبر جميع وحدات GPU المرئية تلقائياً عندما يكون هناك أكثر من واحدة. لتقييد وحدات GPU التي يستخدمها Ollama، قم بتعيين CUDA_VISIBLE_DEVICES (NVIDIA) أو HIP_VISIBLE_DEVICES (AMD) قبل البدء ollama serve.

هل يعمل Ollama مع بطاقات GeForce الاستهلاكية، أم أنني بحاجة إلى وحدة معالجة رسوميات مخصصة لمراكز البيانات؟

تُدعم بطاقات GeForce GTX 10xx والإصدارات الأحدث دعمًا كاملاً — ولا يلزم وجود وحدة معالجة رسوميات مخصصة لمراكز البيانات. أما الحد العملي لمعظم المستخدمين فهو سعة الذاكرة المخصصة للرسوميات (VRAM): إذ يمكن لبطاقة سعتها 8 جيجابايت تشغيل نماذج تتراوح معاييرها بين 7 و8 مليارات معلَّمة بسلاسل كمية من نوع Q4 بسلاسة. ويُوصى باستخدام حاسبة VRAM للتحقق مما إذا كان النموذج المحدد يناسب موارد جهازك قبل تنزيله.

لماذا يستخدم Ollama وحدة المعالجة المركزية (CPU) رغم امتلاك بطاقتي الرسومية سعة VRAM كافية؟

قد تكون هناك عملية أخرى تشغل الذاكرة الرسومية (VRAM) — تحقق من nvidia-smi للعثور على عمليات أخرى تستهلك هذه الموارد، مثل متصفح ويب مُفعَّل به تسريع الأجهزة أو نموذج آخر قيد التشغيل بالفعل. كما قد يكون النموذج قد تم تحميله قبل أن تكون وحدة التحكم في البطاقة الرسومية (GPU driver) جاهزة للعمل. ولإيقاف النموذج المحمل حاليًّا، استخدم الأمر ollama stop <name>، ثم حرِّر الذاكرة الرسومية (VRAM) في التطبيقات الأخرى، وأعد تحميل النموذج.

أين يمكنني التعرُّف على المزيد حول إعداد Ollama واختيار النماذج المناسبة؟

الـ دليل Ollama الكامل يغطي هذا الدليل المتغيرات البيئية وإدارة النماذج واستخدام واجهة برمجة التطبيقات (API) بشكل شامل. أما لاختيار النموذج الأنسب لجهازك المحدد، فراجع أفضل النماذج المحلية لـ Ollama.

كتبه مصطفى إحسان

مصطفى إحسان هو مؤسس ومحرر Convly.ai. بنى ويحتفظ بقاعدة بيانات نماذج AI المباشرة للموقع، ومؤشر أداء السعر، وآلاته الحاسبة المجانية لمتطلبات VRAM وتكاليف API واقتصاديات الاستضافة الذاتية. يكتب عن تسعير النماذج ونتائج المقاييس والأجهزة المطلوبة لتشغيل نماذج AI محلياً، ويفضل باستمرار الأرقام المقاسة على ادعاءات البائع.

انتقل إلى الأعلى