تدريب موزع باستخدام Azure Machine Learning
في هذه المقالة، يمكنك التعرف على التدريب الموزع وكيفية دعم Azure التعلم الآلي له لنماذج التعلم العميق.
في التدريب الموزع ، يتم تقسيم عبء العمل لتدريب نموذج ومشاركته بين معالجات مصغرة متعددة ، تسمى عقد العامل. تعمل عقد العمال هذه بالتوازي مع تسريع التدريب النموذجي. يمكن استخدام التدريب الموزع لنماذج ML التقليدية ، ولكنه أكثر ملاءمة للمهام الحسابية والزمنية المكثفة ، مثل التعلم العميق لتدريب الشبكات العصبية العميقة.
التعلم العميق والتدريب الموزع
هناك نوعان رئيسيان من التدريب الموزع: توازي البيانات وتوازيالنموذج. للتدريب الموزع على نماذج التعلم العميق، تدعم Azure التعلم الآلي SDK في Python عمليات التكامل مع الأطر الشائعة وPyTorch وTensorFlow. يستخدم كلا الإطارين توازي البيانات للتدريب الموزع ، ويمكنهما الاستفادة من horovod لتحسين سرعات الحوسبة.
بالنسبة إلى طرازات ML التي لا تتطلب تدريبا موزعا، راجع نماذج القطار باستخدام Azure التعلم الآلي للحصول على الطرق المختلفة لتدريب الطرز باستخدام Python SDK.
توازي البيانات
توازي البيانات هو الأسهل في تنفيذ نهجي التدريب الموزعين ، وهو كاف لمعظم حالات الاستخدام.
في هذا النهج ، يتم تقسيم البيانات إلى أقسام ، حيث يكون عدد الأقسام مساويا للعدد الإجمالي للعقد المتاحة ، في مجموعة الحوسبة. يتم نسخ النموذج في كل عقد من عقد العمال هذه، ويعمل كل عامل على مجموعة فرعية خاصة به من البيانات. ضع في اعتبارك أن كل عقدة يجب أن يكون لديها القدرة على دعم النموذج الذي يتم تدريبه ، أي أن النموذج يجب أن يتناسب تماما مع كل عقدة. يوفر الرسم البياني التالي عرضا مرئيا لهذا النهج.
تقوم كل عقدة بشكل مستقل بحساب الأخطاء بين توقعاتها لعينات التدريب الخاصة بها والمخرجات الموسومة. في المقابل ، تقوم كل عقدة بتحديث نموذجها بناء على الأخطاء ويجب عليها توصيل جميع تغييراتها إلى العقد الأخرى لتحديث نماذجها المقابلة. وهذا يعني أن العقد العاملة تحتاج إلى مزامنة معلمات النموذج، أو التدرجات، في نهاية حساب الدفعات للتأكد من أنها تقوم بتدريب نموذج متسق.
نموذج التوازي
في توازي النموذج ، المعروف أيضا باسم توازي الشبكة ، يتم تقسيم النموذج إلى أجزاء مختلفة يمكن تشغيلها بشكل متزامن في عقد مختلفة ، وسيتم تشغيل كل منها على نفس البيانات. تعتمد قابلية تطوير هذه الطريقة على درجة توازي المهام للخوارزمية ، وهي أكثر تعقيدا في التنفيذ من توازي البيانات.
في موازاة النموذج ، تحتاج عقد العمال فقط إلى مزامنة المعلمات المشتركة ، عادة مرة واحدة لكل خطوة انتشار أمامية أو خلفية. أيضا ، النماذج الأكبر ليست مصدر قلق لأن كل عقدة تعمل على قسم فرعي من النموذج على نفس بيانات التدريب.
الخطوات التالية
- تعرف على كيفية استخدام أهداف الحوسبة للتدريب على النماذج باستخدام Python SDK.
- للحصول على مثال فني، راجع سيناريو البنية المرجعية.
- ابحث عن نصائح ل MPI و TensorFlow و PyTorch في دليل تدريب وحدة معالجة الرسومات الموزعة