الأخبار التكنولوجية والاستعراضات والنصائح!

تحليل التتبع الشامل (HTA) للمصادر الوصفية (Meta Open-Sources): أداة لتحليل الأداء قابلة للتطوير بشكل كامل لدعم أعباء عمل تعلّم الآلة على أحدث طراز

ستساعدك المقالة التالية: تحليل التتبع الشامل (HTA) للمصادر الوصفية (Meta Open-Sources): أداة لتحليل الأداء قابلة للتطوير بشكل كامل لدعم أعباء عمل تعلّم الآلة على أحدث طراز

تعمل نماذج التعلم الآلي والتعلم العميق بشكل ملحوظ في المهام المختلفة بفضل التطورات التكنولوجية الحديثة. ومع ذلك ، فإن هذا الأداء المتميز لا يخلو من تكلفة. غالبًا ما تتطلب نماذج التعلم الآلي قدرًا كبيرًا من القوة والموارد الحاسوبية لتحقيق دقة متطورة ، مما يجعل توسيع نطاق هذه النماذج أمرًا صعبًا. علاوة على ذلك ، لأنهم غير مدركين لقيود الأداء في أعباء عملهم ، يفشل باحثو ML ومهندسو النظم في كثير من الأحيان في توسيع نطاق نماذجهم الحسابي. في كثير من الأحيان ، يكون عدد الموارد المطلوبة للوظيفة ما هو مطلوب بالفعل في بعض الأحيان فقط. يعد فهم استخدام الموارد والاختناقات لأحمال العمل التدريبية الموزعة أمرًا بالغ الأهمية لتحقيق أقصى استفادة من مكدس أجهزة النموذج.

عمل فريق PyTorch على بيان المشكلة هذا وأصدر مؤخرًا تحليل تتبع شامل (HTA) ، وهو تحليل أداء ومكتبة بيثون للتصور. يمكن استخدام المكتبة لفهم الأداء وتحديد الاختناقات في أعباء العمل التدريبية الموزعة. يتم تحقيق ذلك من خلال مراجعة الآثار التي تم جمعها باستخدام ملف التعريف PyTorch ، المعروف أيضًا باسم Kineto. غالبًا ما تكون آثار كينيتو معقدة لفهمها ؛ هذا هو المكان الذي يساعد فيه HTA في رفع بيانات الأداء الموجودة في هذه الآثار. تم استخدام المكتبة داخليًا لأول مرة في Meta لفهم المشكلات المتعلقة بالأداء بشكل أفضل لمهام التدريب الموزعة المكثفة على وحدات معالجة الرسومات. بعد ذلك ، شرع الفريق في العمل على تحسين العديد من قدرات HTA وتوسيع نطاقها لدعم أعباء عمل ML المتطورة.

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

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

قد يكون من الصعب على الأشخاص العاديين فهم كيفية أداء وظائف تدريب وحدة معالجة الرسومات. ألهم هذا فريق PyTorch لإنشاء HTA ، والذي يبسط عملية تحليل التتبع ويمنح المستخدم معلومات ثاقبة من خلال النظر في آثار تنفيذ النموذج. يستخدم HTA الميزات التالية لدعم المهام المذكورة أعلاه:

الانهيار الزمني: توفر هذه الميزة تفصيلًا لمقدار الوقت الذي تقضيه وحدات معالجة الرسومات في جميع الرتب من حيث الحساب والتواصل وأحداث الذاكرة وحتى وقت الخمول الذي تقضيه.

انهيار النواة: تفصل هذه الوظيفة الوقت المستثمر في كل نوع من أنواع النواة الثلاثة (COMM و COMP و MEM) وترتب الوقت المستغرق بترتيب متزايد للمدة.

توزيع مدة النواة: يمكن تصور توزيع متوسط ​​الوقت الذي تقضيه نواة معينة عبر جميع الرتب باستخدام الرسوم البيانية الشريطية التي تنتجها HTA. تعرض الرسوم البيانية أيضًا أقل وأقصى وقت تقضيه نواة معينة على رتبة معينة.

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

العدادات المعززة (طول قائمة الانتظار وعرض النطاق الترددي للذاكرة): لأغراض التصحيح ، يُنشئ HTA ملفات تتبع معززة تتضمن إحصائيات تعرض عرض النطاق الترددي للذاكرة المستخدم بالإضافة إلى عدد العمليات غير المكتملة على كل دفق CUDA (والذي يُعرف أيضًا بطول قائمة الانتظار).

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