الدليل الفني

بيانات مجزأة بالكامل بالتوازي

تعد تقنية Fully Sharded Data Parallel (FSDP) بمثابة تقنية تدريب موزعة تعمل على تقسيم معلمات النموذج والتدرجات وحالات المُحسّن عبر العديد من وحدات معالجة الرسومات بحيث يحمل كل جهاز شريحة فقط.

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

نظرة عامة

It makes training huge models possible on hardware that could never fit the whole model in one GPU's memory.

الغوص العميق

يحتفظ توازي البيانات التقليدي بنسخة كاملة من النموذج على كل وحدة معالجة رسومات، مما يهدر الذاكرة ويحد من حجم النموذج. FSDP، المشهور بواسطة Meta's PyTorch والمستوحى من Microsoft's ZeRO، بدلاً من ذلك يقسم ثلاثة أشياء عبر الأجهزة: المعلمات، والتدرجات، وحالات المُحسِّن. أثناء التمرير الأمامي، تقوم كل وحدة معالجة رسومات (GPU) بتجميع الأوزان الكاملة للطبقة التي تحسبها مؤقتًا عبر تجميع كامل، وتشغيل الحساب، ثم تحرير النسخة المجمعة على الفور. يعمل التمرير للخلف بشكل مشابه، متبوعًا بتقليل التشتت الذي يوزع شرائح التدرج مرة أخرى على وحدات معالجة الرسومات الخاصة بها. نظرًا لأن كل جهاز يخزن بشكل دائم جزءًا من النموذج فقط، فإن استخدام الذاكرة ينخفض ​​بشكل خطي تقريبًا مع عدد وحدات معالجة الرسومات، مما يسمح للفرق بتدريب النماذج باستخدام عشرات أو مئات المليارات من المعلمات.

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

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

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

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

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

قرارات أوضح

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

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

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

مستقبل البيانات المتوازية بالكامل

أصبح FSDP هو الإعداد الافتراضي للتدريب المفتوح على النماذج الكبيرة، حيث يعمل FSDP2 في PyTorch على تحسين سهولة الاستخدام والتقسيم لكل معلمة. توقع تكاملًا أكثر إحكامًا مع توازي الموتر وخطوط الأنابيب لنماذج تريليون معلمة، ودعم أفضل للدقة المختلطة وfp8، والالتفاف التلقائي الأكثر ذكاءً الذي يختار حدود التجزئة لك. مع زيادة سرعة التوصيلات البينية بين وحدات معالجة الرسومات مثل NVLink وInfiniBand، تستمر تكلفة الاتصال الخاصة بالتقسيم في التقلص، مما يجعلها عملية على نطاقات أكبر من أي وقت مضى.

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

الضبط الدقيق لنموذج لاما ذو 70 مليار معلمة عبر 8 وحدات معالجة رسوميات لا يمكنها بشكل فردي حمل الأوزان الكاملة.

التدريب المسبق لنماذج اللغات الكبيرة في مختبرات الذكاء الاصطناعي من خلال مشاركة حالات المُحسِّن (التي تهيمن على الذاكرة مع آدم) عبر مئات المسرعات.

يستخدم الباحثون غلاف FSDP الخاص بـ PyTorch لتدريب محولات الرؤية على مجموعة جامعية دون شراء وحدات معالجة الرسومات الرائدة بسعة 80 جيجابايت.

الجمع بين FSDP وbfloat16 ذو الدقة المختلطة لخفض الذاكرة إلى النصف تقريبًا وتسريع إنتاجية التدريب على النماذج متعددة الوسائط.

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

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

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

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

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

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 Fully Sharded Data Parallel 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 Fully Sharded Data Parallel?

تعد تقنية Fully Sharded Data Parallel (FSDP) بمثابة تقنية تدريب موزعة تعمل على تقسيم معلمات النموذج والتدرجات وحالات المُحسّن عبر العديد من وحدات معالجة الرسومات بحيث يحمل كل جهاز شريحة فقط. فهو يجعل تدريب النماذج الضخمة أمرًا ممكنًا على الأجهزة التي لا يمكنها أبدًا احتواء النموذج بأكمله في ذاكرة GPU واحدة.

ما الذي يقسمه FSDP عبر وحدات معالجة الرسومات ولا يفعله التوازي القياسي للبيانات؟

يقوم FSDP بتقسيم معلمات النموذج والتدرجات وحالات المُحسِّن عبر الأجهزة، بينما يقوم توازي البيانات القياسية بتكرار النموذج الكامل على كل وحدة معالجة رسومات.

ما هي العملية الجماعية التي يستخدمها FSDP لإعادة بناء الأوزان الكاملة للطبقة قبل حسابها مباشرة؟

قبل تشغيل الطبقة، يقوم FSDP بإجراء تجميع كامل لتجميع المعلمات الكاملة مؤقتًا من جميع الأجزاء، ثم يحررها بعد ذلك.

لماذا يقوم FSDP بتحرير الأوزان الكاملة المجمعة فورًا بعد حساب الطبقة؟

إن الاحتفاظ بالجزء فقط بشكل دائم وجمع الأوزان الكاملة بشكل عابر هو ما يبقي استخدام الذاكرة منخفضًا ومتناسبًا تقريبًا مع جزء واحد من النموذج.

ما هو النهج السابق لتحسين الذاكرة الذي تم استلهامه إلى حد كبير من FSDP؟

يتبع تقسيم المعلمات والتدرجات وحالات المُحسِّن في FSDP بشكل وثيق الأفكار المقدمة في Microsoft's ZeRO من مكتبة DeepSpeed.

كيف يخفي FSDP جزءًا كبيرًا من زمن وصول الشبكة من جمع الأوزان؟

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