Mesh-TensorFlow: التعلم العميق لحواسيب الفائقة

التقسيم الدُفعة (التوازي البياناتي) هو الاستراتيجية الموزعة السائدة لتدريب الشبكات العصبية العميقة (DNN)، وذلك بسبب قابليته للتطبيق الشامل وسهولته في برمجة البرنامج الواحد-البيانات المتعددة (SPMD). ومع ذلك، يعاني التقسيم الدُفعة من مشاكل تشمل عدم القدرة على تدريب نماذج كبيرة جدًا (بسبب قيود الذاكرة)، والتأخير العالي، وعدم الكفاءة عند أحجام دفعات صغيرة. يمكن حل جميع هذه المشاكل من خلال استراتيجيات التوزيع الأكثر عمومية (التوازي النموذجي). للأسف، تميل الخوارزميات الموزعة النموذجية الفعالة إلى أن تكون معقدة الاكتشاف، الوصف، والتنفيذ، خاصةً علىusters كبيرة. نقدم Mesh-TensorFlow، وهو لغة لتحديد فئة عامة من الحسابات الموزعة للموترات. حيث يمكن اعتبار التوازي البياناتي كتقسيم الموترات والعمليات على البُعد "الدُفعة"، في Mesh-TensorFlow يمكن للمستخدم تحديد أي أبعاد موترة لتكون مقسمة عبر أي أبعاد لمصفوفة متعددة الأبعاد من المعالجين. يتم تجميع رسم بياني Mesh-TensorFlow إلى برنامج SPMD يتكون من عمليات موازية مرتبطة ببدائيات اتصال جماعي مثل Allreduce. نستخدم Mesh-TensorFlow لتنفيذ إصدار فعال للتوازي البياناتي والتوازي النموذجي لنموذج Transformer التتابعي-إلى-تتابعي. باستخدام شبكات TPU تتضمن حتى 512 نواة، نقوم بتدريب نماذج Transformer تحتوي على ما يصل إلى خمسة مليارات معلمة، مما يتفوق على أفضل النتائج في مهمة الترجمة الإنجليزية-الفرنسية في WMT'14 وفي معيار نمذجة اللغة الذي يحتوي على مليار كلمة. يمكن الوصول إلى Mesh-TensorFlow عبر الرابط: https://github.com/tensorflow/mesh .