الاستضافة الذاتية
مخطط ذاكرة GPU
Beam نموذج Mixture-of-Experts: لا يعمل على كل رمز إلا 23 مليار مُعامل، لكن يجب أن تكون المُعاملات الـ501 مليار كلها في الذاكرة. اختر الدقة والسياق والعتاد لمعرفة المتطلبات.
افتراضات الانتباه
تصف Reflection آلية انتباه محلية وعالمية متداخلة، لكنها لم تنشر ملف config.json بعد. تُستخدم هذه القيم المؤقتة لتقدير KV cache؛ غيّرها عند توفر القيم الفعلية.
عدد وحدات GPU اللازمة للأوزان وحدها
الحد الأدنى لعدد الأجهزة لكل دقة، قبل احتساب ذاكرة KV، مع إتاحة 92% من ذاكرة كل جهاز للاستخدام.
| مُسرِّع | BF16 / FP16 1,002 GB | FP8 501 GB | GGUF Q4_K_M 304 GB | INT4 / FP4 251 GB |
|---|---|---|---|---|
| NVIDIA H100 80GB | × 14 | × 7 | × 5 | × 4 |
| NVIDIA H200 141GB | × 8 | × 4 | × 3 | × 2 |
| NVIDIA B200 180GB | × 7 | × 4 | × 2 | × 2 |
| NVIDIA B300 288GB | × 4 | × 2 | × 2 | × 1 |
| NVIDIA A100 80GB | × 14 | × 7 | × 5 | × 4 |
| NVIDIA RTX PRO 6000 96GB | × 12 | × 6 | × 4 | × 3 |
| NVIDIA L40S 48GB | × 23 | × 12 | × 7 | × 6 |
| NVIDIA RTX 5090 32GB | × 35 | × 18 | × 11 | × 9 |
| NVIDIA RTX 4090 24GB | × 46 | × 23 | × 14 | × 12 |
| AMD Instinct MI300X 192GB | × 6 | × 3 | × 2 | × 2 |
| AMD Instinct MI325X 256GB | × 5 | × 3 | × 2 | × 2 |
| AMD Instinct MI355X 288GB | × 4 | × 2 | × 2 | × 1 |
| Apple M3 Ultra 512GB (unified) | × 3 | × 2 | × 1 | × 1 |
طريقة احتساب التقدير
- الأوزان: 501 مليار معلمة × عدد البتات لكل وزن ÷ 8. تتضمن تنسيقات GGUF مقاييس الكتل، لذا يُحتسب Q4_K_M بنحو 4.85 بت.
- ذاكرة KV: 2 × عدد رؤوس KV × بُعد الرأس × عدد البايتات لكل قيمة، لكل توكن مخزّن مؤقتًا في كل طبقة. تخزّن الطبقات العامة السياق بأكمله؛ أما الطبقات المحلية فتخزّن نافذتها فقط.
- تشمل التكاليف الإضافية التنشيطات ورسوم CUDA البيانية وتجزئة الذاكرة. تُعد 10% نقطة بداية معقولة لـ vLLM أو SGLang؛ قِس إعدادك بنفسك.
- يفترض عدد الأجهزة أن 92% من الذاكرة متاح للاستخدام، ويُقرّب إلى أحجام مجموعات التوازي الموترية 1 أو 2 أو 4 أو 8 لكل خادم.
الأسئلة
هل يمكنني تشغيل Beam على وحدة GPU واحدة؟
لا توجد وحدة GPU استهلاكية أو مخصصة لمراكز البيانات لديها ذاكرة كافية. حتى عند استخدام 4-bit، تشغل الأوزان نحو 250 GB، لذا تحتاج إلى عدة مسرّعات كبيرة أو جهاز بذاكرة موحّدة ضخمة.
لماذا يحتاج نموذج نشط بـ 23B إلى كل هذه الذاكرة؟
يُوجَّه كل توكن إلى عدد قليل من الخبراء، لكن الخبراء المختارين يتغيرون من توكن إلى آخر، لذا يجب أن يكون كل خبير جاهزًا. تحدد المعلمات النشطة السرعة؛ أما إجمالي المعلمات فيحدد استهلاك الذاكرة.
هل يمكن أن تكون الخبراء في ذاكرة النظام؟
يمكن لبعض المحركات، مثل llama.cpp، إبقاء أوزان الخبراء في ذاكرة CPU ونقلها إلى وحدة GPU عند الحاجة. هذا ممكن، لكنه أبطأ بكثير؛ لذا خطط لاستخدامه للتجارب فقط.
متى ستكون هذه الأرقام دقيقة؟
استهلاك ذاكرة الأوزان دقيق بالفعل عند تحديد الدقة. ويصبح تقدير ذاكرة KV دقيقًا عندما تنشر Reflection إعدادات النموذج.