متطلبات كرت الشاشة لتشغيل نموذج ذكاء اصطناعي محلياً

بقلم فريق تقني ·· ذكاء اصطناعي
متطلبات كرت الشاشة لتشغيل نموذج ذكاء اصطناعي محلياً

احسبها قبل أن تنزّل: حجم أوزان النموذج بالجيجابايت = عدد مليارات المعاملات × معامل بين 0.61 و0.68 عند تكميم Q4_K_M، ثم أضف ذاكرة المفاتيح والقيم بحسب طول السياق، واترك هامشاً لما يستهلكه سطح المكتب والمتصفح من الذاكرة نفسها. المجموع هو الرقم الذي يجب أن يقلّ عن ذاكرة كرت الشاشة لديك، واحسبه بالطرف الأعلى إن كنت قريباً من سعة كرتك. إن لم تحسم أداة التشغيل بعد فابدأ من Ollama أم LM Studio.

البايت لكل معامل: لماذا القاعدة الشائعة خاطئة

اقسم البت لكل معامل على 8 تحصل على البايت لكل معامل. القاعدة الشائعة التي تختصر Q4 إلى نصف بايت خاطئة: القياس الرسمي في مستودع llama.cpp على Llama 3.1 بحجم 8 مليارات (8.03 مليار معامل) يعطي 4.89 بت أي 0.61 بايت، لأن صيغ K تخزّن عوامل قياس إضافية وتترك طبقات حسّاسة بدقة أعلى.

الفارق 22% عن التقدير الشائع، وهو كافٍ لإسقاط حسابك عند الحدّ. الملف نفسه: 14.96 GiB عند F16، و7.95 عند Q8_0، و4.58 عند Q4_K_M.

الأحجام المعلنة في مكتبة Ollama ترسم المدى العملي: 4.9 GB لـLlama 3.1 بحجم 8 مليارات، و17 GB لـGemma 3 بحجم 27 مليار، و43 GB لـLlama 3.1 بحجم 70 مليار. النسبة تتراوح بين 0.61 و0.68 لكل مليار، وأعلاها Qwen3.5 بحجم 9 مليارات: معاملاته الفعلية 9.65 مليار وملفه 6.6 GB. ولاحظ أن 4.9 GB و4.58 GiB رقمان للملف نفسه، عشري مقابل ثنائي.

المثال الكامل: نموذج 8 مليارات

الأوزان 4.58 GiB. يبقى البند الذي يُسقطه معظم الحسابات: ذاكرة المفاتيح والقيم. ملف الضبط الرسمي للنموذج نفسه (32 طبقة، 8 رؤوس مفاتيح وقيم، بُعد 128، دقة f16) يضع تكلفة الرمز الواحد عند 128 كيبيبايت. أي أن 4,096 رمزاً تعني 0.5 GiB، و32,768 تعني 4 GiB، والسقف الكامل عند 131,072 رمزاً يعني 16 GiB — أكثر من ثلاثة أضعاف حجم النموذج نفسه.

السياق الافتراضي في Ollama يتبع حجم ذاكرة الكرت بحسب التوثيق الرسمي: 4,096 رمزاً دون 24 GiB، و32 ألفاً بين 24 و48 GiB، و256 ألفاً فوق ذلك. يُعدَّل هذا بالمتغيّر OLLAMA_CONTEXT_LENGTH.

إن ضاقت الذاكرة فوثائق Ollama تنص على أن OLLAMA_KV_CACHE_TYPE=q8_0 يستهلك نحو نصف ذاكرة الوضع الافتراضي، وq4_0 نحو الربع، على أن تكون Flash Attention مفعّلة. اضبط السياق أولاً قبل أن تنزل بتكميم الأوزان.

العربية تكلّف ذاكرة مفاتيح وقيم أكبر من الإنجليزية، لأنها تُقسَّم إلى رموز بكفاءة أقل فيستهلك النص بالطول نفسه رموزاً أكثر. احسب السياق بسخاء ولا تكتفِ بالافتراضي.

ما يحدث حين لا تتّسع الذاكرة: الطبقات تنزل إلى المعالج

تجاوز الذاكرة لا يوقف التشغيل. Ollama يوثّق أنه يحمّل النموذج على كرت واحد إن اتّسع وإلا وزّعه، وllama.cpp يوزّع الطبقات تلقائياً. ما يتغيّر هو عدّاد الرموز في الثانية وحده.

في قياس فردي نشرته مدوّنة inventivehq على كرت بذاكرة 16 جيجابايت مع نموذج بحجم 14 مليار عند Q4_K_M: 48 طبقة كاملة على الكرت تعطي 43.18 رمز/ثانية، و40 طبقة 12.5، والمعالج وحده 2.89. سُدس الطبقات على المعالج كافٍ لهبوط السرعة إلى أقل من ثلثها، والنسبة تختلف من كرت إلى آخر.

أين تتوقف عن خفض التكميم

ورقة تقييم على arXiv — مسوّدة غير محكّمة على نموذج واحد هو Llama 3.1 Instruct بحجم 8 مليارات — تعطي حدّاً واضحاً. مقياس الحيرة يرصد مدى عدم يقين النموذج في التنبؤ بالرمز التالي، وكلما انخفض كان أفضل: 7.32 عند F16، ثم 7.56 عند Q4_K_M، ثم 7.96 عند Q3_K_M. ودرجات اختبار GSM8K تتحرك معه: 77.63 ثم 77.41 ثم 73.16. الانهيار عند 3 بت لا عند 4.

الاتجاه المعاكس مكلّف أيضاً: جدول llama.cpp الرسمي يسجّل 71.93 رمز/ثانية عند Q4_K_M مقابل 50.93 عند Q8_0 و29.17 عند F16. إن أردت جودة أعلى فالترقية المنطقية Q5_K_M أو Q6_K، لا القفز إلى F16.

أين لا تصلح المعادلة: خليط الخبراء والذاكرة الموحّدة

نماذج خليط الخبراء تُحسب ذاكرتها بإجمالي المعاملات لا بالمُفعَّل منها. Qwen3.6 إجمالي معاملاته 35 مليار ونحو 3 مليارات مُفعّلة لكل رمز، وملفه 24 GB عند Q4_K_M. السرعة تتبع المُفعّل، والذاكرة تتبع الإجمالي.

الذاكرة الموحّدة تلغي الفصل بين ذاكرة النظام وذاكرة الرسوميات. توثيق mlx-lm من آبل يشترط أن يتجاوز حدّ الذاكرة المثبّتة حجم النموذج ويبقى دون إجمالي ذاكرة الجهاز، ويُرفع على macOS 15 فأحدث بأمر sudo sysctl iogpu.wired_limit_mb. هذا المسار يفتح أحجاماً لا يبلغها كرت استهلاكي، لكن بعرض نطاق أقل: تتّسع، لكنها أبطأ.

ما الذي يعمل فعلاً عند كل فئة ذاكرة

فئة 8 جيجابايت: أوزان 7 و8 مليارات لا تترك هامشاً إلا لسياق قصير. ومعها ALLaM بحجم 7 مليارات من المركز الوطني للذكاء الاصطناعي في سدايا، متاح على Hugging Face بملف GGUF مجتمعي عند Q4_K_M بحجم 4.26 GB.

فئة 12 جيجابايت تشغّل الأحجام نفسها بسياق أوسع، ومعها Fanar-1 بحجم 9 مليارات من معهد قطر لبحوث الحوسبة، وهو يدعم الفصحى واللهجات الخليجية والشامية والمصرية. فئة 16 جيجابايت تستوعب من 12 إلى 14 مليار دون أن تخنق السياق.

فئة 24 جيجابايت تفتح 27 مليار، ومعها Fanar-2 المبنيّ على Gemma 3 بحجم 27 مليار بسياق 32,768 رمزاً وبنسخ GGUF متاحة. أما 70 مليار عند 43 GB فخارج حدود أي كرت استهلاكي واحد، إذ يقف أعلى الكروت عند 32 جيجابايت. وALLaM بحجم 34 مليار الذي تشغّله HUMAIN أوزانه ليست مفتوحة، فلا سبيل لتشغيله محلياً مهما كبر كرتك. إن ذهبت إلى الكروت عالية الذاكرة فراجع ذوبان كابل كرت الشاشة 12V-2x6 قبل التركيب.

القرار

خذ ذاكرة كرتك، اطرح منها حاصل ضرب مليارات النموذج في 0.68، ثم انظر كم بقي لذاكرة المفاتيح والقيم. إن بقي أقل من نصف جيجابايت فأنت عند الحدّ، والثمن بطءٌ لا رسالةُ خطأ. عندها اخفض السياق أو كمّم ذاكرة المفاتيح والقيم، ولا تنزل بالأوزان تحت 4 بت.