كيف تتغلب على العقبات عندما تقوم بتدريب نماذج الذكاء الاصطناعي على كميات هائلة من البيانات؟ في مؤتمر PyTorch لهذا العام، عرضت شركة IBM Research أداة رائدة لتحميل البيانات لتدريب النماذج اللغوية الكبيرة على نطاق واسع. وتهدف الأداة، المتوفرة الآن لمستخدمي PyTorch، إلى تبسيط التدريب على نطاق واسع لأكبر عدد ممكن من الجمهور.
نشأت فكرة أداة تحميل البيانات عالية الإنتاجية من مشكلات عملية لاحظها الباحثون أثناء تدريب النماذج، إذ كانوا يحتاجون إلى أداة تستطيع معالجة كميات كبيرة من البيانات عبر أجهزة متعددة، مع مواكبة وحدات المعالجة الرسومية (GPU) التي تزداد كفاءة باستمرار". وكما تشير IBM Research في مدونتها إلى الإصدار، "كل ذلك بفضل فريق من الباحثين الذين كانوا ببساطة يبنون الأدوات التي يحتاجونها لإنجاز المهمة".
يشرح Davis Wertheimer من IBM Research بعض التحديات التي قد تظهر أثناء التدريب واسع النطاق: "هناك قاعدة 80/20 عندما يتعلق الأمر بالتدريب واسع النطاق. حيث يركز ثمانون بالمئة من جميع المؤلفات المنشورة في المفاضلات الخوارزمية بين ذاكرة GPU والاتصالات والحوسبة. ولكن عندما تحاول بناء شيء ما فعلياً، تجد أنك تكرس 80% من الوقت لمواجهة كم هائل من المشكلات التطبيقية الأخرى، لأن سير العمل تحدده سرعة أشد نقاط الضعف (عنق الزجاجة).
بينما طور فريق IBM منصة تدريبهم، استمروا في مواجهة العقبات. ويلاحظ Wertheimer: "عندما نتطور بشكل أفضل في استخدام وحدات معالجة الرسومات (GPU) الخاصة بنا، فإن العقبات في كثير من الأحيان تكمن في أداة تحميل البيانات".
وقد أدى هذا الإدراك إلى عملية تطوير مزدوجة. ويوضح قائلاً: "لقد كانت هناك رحلة موازية: من ناحية تطوير منصة التدريب الخاصة بنا، ومن ناحية أخرى، العمل على تطوير أداة تحميل البيانات باستمرار لمواكبة متطلبات السرعة من منصة التدريب لتجنب أي عوائق أمامها".
يقوم Linsong Chu من IBM Research بتحديد الميزات الأساسية لأداة تحميل البيانات:
يقول Chu: مفيدة وقابلة للتحقق: "كلما حفظت نموذجًا، يتم حفظ حالة أداة تحميل البيانات الخاصة بك أيضًا، وعندما تقوم بالاسترداد من نقطة فحص، فإنه يجب استرداد حالة النموذج وحالة أداة تحميل البيانات في الوقت نفسه".
إعادة التحجيم التلقائي لنقاط الفحص: تتكيف أداة تحميل البيانات تلقائيًا مع تغيرات حمل التشغيل أثناء جلسات التدريب الممتدة. ويشير Chu قائلاً: "قد يستغرق التدريب أسابيع أو أشهر بسهولة، وهناك الكثير من الأسباب التي قد تجعلك تضطر إلى إعادة قياس حمل التشغيل في منتصفه".
تدفق البيانات بكفاءة: يدعم النظام تدفق البيانات بدون أي عبء إضافي للخلط.
العمليات الموزعة غير المتزامنة: يشرح Chu قائلاً "نريد أن تكون أداة تحميل البيانات غير معرقلة للعمليات". "أثناء حفظ حالة أداة تحميل البيانات، نريد أن يتم الحفظ بشكل موزع لا يتطلب أي تبادل بيانات".
الخلط الديناميكي للبيانات: يمكن لأداة تحميل البيانات التكيف مع نسب خلط البيانات المختلفة، وهو أمر مفيد لتلبية احتياجات التدريب المتطورة.
الخلط العالمي الفعال: تتعامل الأداة مع عقبات الذاكرة عند التعامل مع مجموعات البيانات الكبيرة، مما يجعل الخلط فعالاً حتى مع نمو البيانات.
PyTorch أصلي ونموذجي وشامل: صُممت أداة تحميل البيانات من أجل قابلية التكيف وقابلية التوسع، وهي مهيأة للنمو المستقبلي. يتساءل Chu: "ماذا لو اضطررنا في العام المقبل إلى التعامل مع 30 تريليون أو 50 تريليون أو 100 تريليون رمز مميز؟" "فالعالم يتغير بسرعة، لذا نحن بحاجة إلى بناء أداة تحميل البيانات حتى تتمكن من النجاة اليوم أيضًا، والغد أيضًا".
اختبر فريق IBM Research أداة تحميل البيانات الخاصة بهم بدقة على مدى عدة أشهر، حيث أجروا مئات المهام الصغيرة والكبيرة. وقد لاحظوا أرقامًا برمجية مستقرة وسلسة. علاوة على ذلك، تعمل أداة تحميل البيانات بأكملها بشكل غير متزامن ودون إعاقة سير العمليات.
"يقول Wertheimer: "لقد استفدنا من الكثير من قدرات PyTorch المدمجة من أجل تحقيق كل هذا. "ولهذا السبب نحن نساهم ونعيد المساهمة".