الدليل الفني

تفريغ حالة المُحسِّن إلى وحدة المعالجة المركزية (CPU) وNVMe

خدعة موفرة للذاكرة تعمل على مسك الدفاتر الثقيلة للتدريب (حالات المُحسِّن، والتدرجات، وأحيانًا الأوزان) في ذاكرة الوصول العشوائي لوحدة المعالجة المركزية (CPU) أو على محركات أقراص NVMe SSD بدلاً من ذاكرة GPU النادرة.

قراءة لمدة دقيقتينآخر تحديث

نظرة عامة

It lets people train far larger models than their GPU's memory would otherwise allow.

الغوص العميق

عندما تقوم بتدريب شبكة عصبية باستخدام مُحسِّن مثل آدم، فإن كل معلمة تحمل أمتعة إضافية: إحصائيات تشغيل (الزخم والتباين)، بالإضافة إلى نسخة كاملة الدقة من الوزن، بالإضافة إلى تدرجه. في التدريب المختلط الدقة، يمكن أن يصل إجمالي هذا إلى 16 بايت تقريبًا لكل معلمة، مما يؤدي إلى تقزيم 2 بايت للوزن نفسه. يؤدي التفريغ إلى نقل تلك الأمتعة من وحدة معالجة الرسومات. يعمل إلغاء تحميل وحدة المعالجة المركزية على تدفق حالات المُحسِّن إلى ذاكرة الوصول العشوائي (RAM) العادية للنظام عبر ناقل PCIe، بينما يدفعها إلغاء تحميل NVMe إلى أقراص الحالة الصلبة السريعة. هذه التقنية، التي اشتهرت بواسطة ZeRO-Infinity وZeRO-Offload من DeepSpeed، تستبدل السرعة الأولية بالسعة، مما يسمح لوحدة معالجة رسومات واحدة أو مجموعة صغيرة بضبط النماذج باستخدام مليارات المعلمات.

البصيرة الفنية

المفتاح هو تداخل حركة البيانات مع الحساب. توجد حالات المُحسِّن في وحدة المعالجة المركزية/NVMe؛ أثناء التمرير للخلف، يتم جلب الأقسام مسبقًا عبر PCIe قبل الحاجة إليها مباشرةً، وغالبًا ما يتم تشغيل خطوة المحسن نفسها على وحدة المعالجة المركزية. يحافظ ZeRO-Offload على أوزان float32 الرئيسية ولحظات Adam على وحدة المعالجة المركزية، لذلك تبقى العمليات الحسابية الأمامية والخلفية فقط على وحدة معالجة الرسومات. يضيف NVMe ذاكرة تخزين مؤقت متدرجة بحيث تنتقل حالات مقياس التيرابايت إلى القرص بينما تظل الأقسام الساخنة في ذاكرة الوصول العشوائي.

التأثير الاستراتيجي

التكلفة والميزانية

تؤدي قرارات الهندسة المعمارية إلى زيادة الأداء وتكلفة التشغيل لسنوات.

قرارات أوضح

يساعد التعليم الفني الفرق على اختيار المجموعة المناسبة، وليس فقط المجموعة الأحدث.

مراقبة الجودة

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

مستقبل تفريغ حالة المُحسِّن إلى وحدة المعالجة المركزية (CPU) وNVMe

مع استمرار نمو النماذج في ذاكرة وحدة معالجة الرسومات (GPU)، أصبح التفريغ المتدرج قياسيًا وليس غريبًا. توقع تكاملًا أكثر إحكامًا مع اتصالات بينية أسرع مثل مجمعات الذاكرة NVLink-C2C وCXL التي تطمس حدود وحدة المعالجة المركزية (CPU) ووحدة معالجة الرسومات (GPU)، بالإضافة إلى برامج جدولة أكثر ذكاءً تتنبأ بالحالات التي سيتم جلبها مسبقًا. تقلل بنيات الذاكرة الموحدة مثل Grace Hopper من عقوبة PCIe، وتدفع أطر العمل نحو جعل عملية التفريغ متعددة الطبقات شفافة تقريبًا حتى يتمكن الهواة من ضبط النماذج الكبيرة على أجهزة متواضعة.

التنفيذ في العالم الحقيقي

ضبط LLM ذو 13 مليار معلمة على وحدة معالجة رسومات استهلاكية واحدة بسعة 24 جيجابايت باستخدام DeepSpeed ​​ZeRO-Offload لدفع حالات Adam إلى ذاكرة الوصول العشوائي لوحدة المعالجة المركزية.

يقوم مختبر أبحاث صغير بتدريب نموذج متعدد المليارات من المعلمات على عدد قليل من وحدات معالجة الرسومات عن طريق نقل حالات المحسن إلى محركات أقراص NVMe باستخدام ZeRO-Infinity.

Hugging Face تسريع التكوينات التي تتيح إلغاء تحميل وحدة المعالجة المركزية (CPU) حتى يتمكن المستخدمون من تشغيل مهام الضبط الدقيق الكاملة التي قد تؤدي إلى حدوث أخطاء خارج الذاكرة.

تقوم الشركات الناشئة التي تهتم بالتكلفة بتأجير وحدات معالجة رسوميات سحابية أرخص وذات ذاكرة أقل وتفريغها إلى NVMe المرفقة بدلاً من الدفع مقابل بطاقات من الدرجة الأولى بسعة 80 جيجابايت.

المخاطر والدرابزين

يمكن أن يؤدي تحسين معيار واحد إلى إخفاء نقاط ضعف النظام الأوسع.

غالبًا ما يتم التقليل من تكاليف البنية التحتية والصيانة.

يمكن أن تنمو الفجوات الأمنية وقابلية المراقبة عندما تصبح الأنظمة أكثر تعقيدًا.

خارطة طريق التنفيذ

1

تحديد الكمون والجودة وأهداف التكلفة قبل التنفيذ.

2

المعيار في ظل ظروف التحميل والبيانات الواقعية.

3

مراقبة الأدوات للأخطاء والانجراف وتأثير المستخدم.

4

قم بإعداد مسارات التراجع والاستجابة للحوادث قبل القياس.

استمر في الاستكشاف

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the Optimizer State Offloading to CPU and NVMe quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

ابدأ الاختبار

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

الدليل التالي

آدم والمحسنون التكيفيون

الأسئلة المتداولة

What is Optimizer State Offloading to CPU and NVMe?

خدعة موفرة للذاكرة تعمل على مسك الدفاتر الثقيلة للتدريب (حالات المُحسِّن، والتدرجات، وأحيانًا الأوزان) في ذاكرة الوصول العشوائي لوحدة المعالجة المركزية (CPU) أو على محركات أقراص NVMe SSD بدلاً من ذاكرة GPU النادرة. فهو يتيح للأشخاص تدريب نماذج أكبر بكثير مما تسمح به ذاكرة وحدة معالجة الرسومات الخاصة بهم.

ما هو الهدف الأساسي من تفريغ حالات المُحسِّن إلى وحدة المعالجة المركزية (CPU) أو NVMe؟

يؤدي إلغاء التحميل إلى نقل حالات المُحسِّن الثقيلة من وحدة معالجة الرسومات إلى ذاكرة الوصول العشوائي لوحدة المعالجة المركزية (CPU) أو NVMe، مما يؤدي إلى تحرير ذاكرة وحدة معالجة الرسومات بحيث يمكن تدريب النماذج الأكبر حجمًا على نفس الجهاز.

بالنسبة لمحسن Adam بدقة مختلطة، ما هي البيانات التي تستهلك عادةً أكبر قدر من الذاكرة لكل معلمة؟

يقوم Adam بتخزين الزخم والتباين والوزن الرئيسي كامل الدقة، بإجمالي 16 بايت تقريبًا لكل معلمة، وهو أكثر بكثير من الوزن نصف الدقة المكون من 2 بايت.

ما هو إطار العمل الذي يتميز بتفريغ المُحسِّن واسع النطاق؟

قدمت كل من ZeRO-Offload وZeRO-Infinity من DeepSpeed ​​حالات محسّنة لتفريغ التحميل إلى وحدة المعالجة المركزية وNVMe على نطاق واسع.

ما هي تكلفة الأداء الرئيسية لتفريغ وحدة المعالجة المركزية أو NVMe؟

يعني نقل الحالات خارج وحدة معالجة الرسومات نقل البيانات عبر PCIe أو إلى NVMe، وهو أبطأ من الذاكرة الموجودة على وحدة معالجة الرسومات، لذلك ينخفض ​​معدل النقل ما لم يتداخل مع الحوسبة.

كيف تخفي أنظمة التفريغ الكثير من زمن انتقال النقل؟

يقوم المجدولون بإحضار الأقسام المطلوبة مسبقًا عبر PCIe بينما لا تزال وحدة معالجة الرسومات تقوم بالحوسبة، مما يؤدي إلى تداخل الاتصال مع الحساب لإخفاء زمن الاستجابة.