في هذه المدونة، سنركز على الطرق التي يمكنك من خلالها زيادة استخدام وحدة معالجة الرسومات في PyTorch.
كيفية زيادة استخدام GPU في PyTorch؟
هناك العديد من التقنيات التي يمكن استخدامها لزيادة استخدام وحدة معالجة الرسومات والتأكد من استخدام أفضل موارد الأجهزة لمعالجة نماذج التعلم الآلي المعقدة. تتضمن هذه التكتيكات تحرير التعليمات البرمجية واستخدام ميزات PyTorch. بعض النصائح والحيل الهامة مذكورة أدناه:
- تحميل البيانات وأحجام الدفعات
- نماذج أقل تعتمد على الذاكرة
- لايتنينغ باي تورش
- ضبط إعدادات وقت التشغيل في Google Colab
- مسح ذاكرة التخزين المؤقت للتحسين
تحميل البيانات وأحجام الدفعات
ال ' محمل البيانات يتم استخدام 'في PyTorch لتحديد مواصفات البيانات التي سيتم تحميلها في المعالج مع كل تمريرة أمامية لنموذج التعلم العميق. وأكبر ' حجم الدفعة 'من البيانات سيتطلب المزيد من قوة المعالجة وسيزيد من استخدام وحدة معالجة الرسومات المتاحة.
فيما يلي بناء الجملة لتعيين أداة تحميل البيانات بحجم دفعة محدد في PyTorch لمتغير مخصص:
زيادة_GPU_Utilization = DataLoader ( حجم الدفعة = 32 )
نماذج أقل تعتمد على الذاكرة
تتطلب كل بنية نموذجية حجمًا مختلفًا من ' ذاكرة 'للأداء على المستوى الأمثل. النماذج التي تتسم بالكفاءة في استخدام ذاكرة أقل لكل وحدة زمنية قادرة على العمل بأحجام دفعات أكبر بكثير من تلك الخاصة بالنماذج الأخرى.
لايتنينغ باي تورش
لدى PyTorch نسخة مصغرة وهي ' لايتنينغ باي تورش '. لقد تم تحسينه للحصول على أداء فائق السرعة كما يتبين من اسمه. يستخدم Lightning وحدات معالجة الرسومات بشكل افتراضي ويوفر معالجة أسرع بكثير لنماذج التعلم الآلي. الميزة الرئيسية لـ Lightning هي عدم وجود متطلبات للتعليمات البرمجية النمطية التي يمكن أن تعيق المعالجة.
قم باستيراد المكتبات الضرورية إلى مشروع PyTorch باستخدام الصيغة الموضحة أدناه:
! نقطة تثبيت الشعلة
! نقطة تثبيت pytorch - برق
يستورد شعلة
يستورد pytorch_lightning
ضبط إعدادات وقت التشغيل في Google Colab
Google Colaboratory عبارة عن بيئة تطوير متكاملة سحابية توفر وصولاً مجانيًا لوحدة معالجة الرسومات لمستخدميها لتطوير نماذج PyTorch. بشكل افتراضي، يتم تشغيل مشاريع Colab على وحدة المعالجة المركزية (CPU) ولكن يمكن تغيير الإعدادات.
افتح دفتر Colab، وانتقل إلى ' مدة العرض ' في شريط القائمة، ثم قم بالتمرير لأسفل إلى ' تغيير إعدادات وقت التشغيل ':
ثم حدد 'وحدة معالجة الرسومات T4' الخيار وانقر على ' يحفظ ' لتطبيق التغييرات لاستخدام GPU:
مسح ذاكرة التخزين المؤقت للتحسين
تسمح PyTorch لمستخدميها بمسح ذاكرة التخزين المؤقت للذاكرة حتى يتمكنوا من تحرير مساحة لتشغيل العمليات الجديدة. ال ' مخبأ يقوم بتخزين البيانات والمعلومات حول النماذج التي يتم تشغيلها حتى يتمكن من توفير الوقت الذي سيتم إنفاقه في إعادة تحميل هذه النماذج. يوفر مسح ذاكرة التخزين المؤقت للمستخدمين مساحة أكبر لتشغيل نماذج جديدة.
الأمر الخاص بمسح ذاكرة التخزين المؤقت GPU موضح أدناه:
شعلة. مختلف . empty_cache ( )
تُستخدم هذه النصائح لتحسين تشغيل نماذج التعلم الآلي باستخدام وحدات معالجة الرسومات في PyTorch.
نصيحة محترف
يتيح Google Colab لمستخدميه الوصول إلى تفاصيل حول استخدام وحدة معالجة الرسومات من خلال ' نفيديا 'للحصول على معلومات حول مكان استخدام موارد الأجهزة. الأمر الخاص بعرض تفاصيل استخدام وحدة معالجة الرسومات موضح أدناه:
! نفيديا - smi
نجاح! لقد أظهرنا للتو بعض الطرق لزيادة استخدام وحدة معالجة الرسومات في PyTorch.
خاتمة
يمكنك زيادة استخدام وحدة معالجة الرسومات في PyTorch عن طريق حذف ذاكرة التخزين المؤقت، واستخدام PyTorch Lightning، وضبط إعدادات وقت التشغيل، واستخدام نماذج فعالة، وأحجام الدُفعات المثالية. تقطع هذه التقنيات شوطًا طويلًا في ضمان أداء نماذج التعلم العميق في أفضل حالاتها وتكون قادرة على استخلاص استنتاجات واستدلالات صحيحة من البيانات المتاحة. لقد أظهرنا تقنيات زيادة استخدام GPU.