كيف تُسرّع تدريب المحوّلات باستخدام NVIDIA Apex: FusedAdam وFusedLayerNorm وtorch.amp
يتيح استخدام NVIDIA Apex مع torch.amp تسريع تدريب المحوّلات بمعدل يتراوح بين 1.5 و2.5 مرة دون أي تغيير في بنية النموذج. أما الأدوات الأساسية فهي: FusedAdam بدلًا من Adam القياسي، وFusedLayerNorm للتطبيع، وآلية autocast الأصلية للدقة المختلطة. يشمل الدليل بناء Apex من الشيفرة المصدرية، وقياس أداء كل مكوّن على حدة خطوة بخطوة.
معالج بواسطة الذكاء الاصطناعي من MarkTechPost؛ بتحرير Hamidun News
يُعدّ تدريب المحوّلات من أكثر مهام تعلّم الآلة استهلاكًا للموارد. يعمل PyTorch القياسي بشكل صحيح، لكنه يترك هامشًا كبيرًا من الأداء دون استغلال: فمعظم العمليات تُنفَّذ بالتتابع في مواضع كان يمكن دمجها. توفّر NVIDIA Apex مجموعة من نوى CUDA المحسّنة، بينما يضيف torch.amp الأصلي الدقة المختلطة. ومعًا يتيحان الحصول على النتيجة نفسها بسرعة أكبر وباستهلاك أقل لذاكرة الفيديو.
ما هي NVIDIA Apex ولماذا يلزم بناؤها من المصدر
Apex مكتبة مفتوحة المصدر من NVIDIA توسّع PyTorch بإضافات CUDA محسّنة. وآليتها المحورية هي النوى «المدمجة» (fused): عمليات تجمع عدة خطوات حسابية في استدعاء واحد على وحدة GPU. وهذا يقلّل عدد مرات الوصول إلى الذاكرة والتكاليف الإضافية للمزامنة، وهو أمر بالغ الأهمية خصوصًا في العمليات الصغيرة، حيث يستغرق إطلاق النواة (kernel) وقتًا أطول من الحساب نفسه.
نقطة مهمة: الأمر القياسي `pip install apex` لا يتضمّن إضافات CUDA. لذا لا بدّ من البناء اليدوي من الشيفرة المصدرية باستخدام الخيارين `--cuda_ext --cpp_ext`. ويتطلب ذلك إصدارات متوافقة من PyTorch وCUDA Toolkit ومُصرِّف C++. وبعد التثبيت يُستحسن التحقق برمجيًا من توفّر النوى عبر `apex.optimizers` و`apex.normalization`، للتأكد من استخدام النسخ الأصلية لا البدائل البطيئة المكتوبة بلغة Python.
FusedAdam وFusedLayerNorm وtorch.amp
توفّر ثلاث أدوات المكسب الأساسي في الأداء عند تدريب المحوّلات:
- FusedAdam — مُحسِّن Adam أُعيدت كتابته بلغة CUDA. يدمج في نواة واحدة تحديث الأوزان وحساب العزمين الأول والثاني وقصّ التدرجات (clip) حسب النظيم وweight decay. ويقلّل بدرجة كبيرة عدد مرات الوصول إلى ذاكرة GPU مقارنةً بالتنفيذ القياسي.
- FusedLayerNorm — تطبيع الطبقات (Layer Normalization) في نواة CUDA واحدة بدلًا من سلسلة عمليات PyTorch المتتابعة (mean وvariance وsubtract وdivide وscale وshift). وفي المحوّلات التي تضم عشرات طبقات التطبيع، يُحدث ذلك أثرًا تراكميًا ملموسًا.
- torch.amp — آلية الدقة المختلطة التلقائية المدمجة في PyTorch، وتعمل عبر `autocast()` وGradScaler. تنقل الحسابات إلى BF16 أو FP16 حيثما كان ذلك آمنًا، وتُبقي FP32 لتجميع التدرجات. وتخفّض استهلاك ذاكرة الفيديو إلى النصف تقريبًا، وتسرّع عمليات ضرب المصفوفات على وحدات GPU المزوّدة بالنوى التنسورية (Tensor Cores).
الميزة الرئيسية هي الحد الأدنى من التعديلات على الشيفرة: فـ FusedAdam بديل مباشر لـ `torch.optim.Adam`، وFusedLayerNorm يحلّ محل `nn.LayerNorm`، ويُضاف torch.amp كغلاف حول التمرير الأمامي (forward pass) دون إعادة كتابة بقية منطق التدريب.
قياس الأداء خطوة بخطوة
لعزل مساهمة كل مكوّن، تُفعَّل التحسينات تدريجيًا، مع تسجيل زمن التكرار وذروة استهلاك ذاكرة الفيديو في كل خطوة:
1. Adam الأساسي + FP32 — نقطة المرجعية 2. FusedAdam + FP32 — المكسب الناتج عن استبدال المُحسِّن 3. FusedAdam + FusedLayerNorm + FP32 — إضافة التطبيع المدمج 4. FusedAdam + FusedLayerNorm + torch.amp (BF16) — التهيئة الكاملة
يتيح هذا النهج التدريجي عدم الاكتفاء بالنتيجة الإجمالية لـ«صندوق أسود»، إذ تظهر مساهمة كل خطوة على حدة. وتحقق التهيئة النهائية تسريعًا يتراوح بين 1.5× و2.5× في زمن التكرار مقارنةً بالنسخة الأساسية؛ أما الرقم الفعلي فيتوقف على حجم النموذج وحجم الدفعة (batch) وبنية GPU.
«الدقة المختلطة مع النوى المدمجة هي المعيار الفعلي للتدريب الصناعي للمحوّلات».
ماذا يعني ذلك
بالنسبة لمهندسي تعلّم الآلة، هذه وصفة قابلة للتكرار بنتيجة قابلة للقياس: بناء Apex من المصدر، واستبدال مكوّنين، وإضافة مدير السياق autocast — دون أي تغيير في بنية البيانات أو المقاييس أو منطق التحقق. وتزداد أهمية ذلك عند محدودية ميزانية ساعات GPU: فإجراء التجارب نفسها في وقت أقل يعني توفيرًا مباشرًا للفرق التي تدرّب نماذج كبيرة على عتادها الخاص أو في السحابة.
Access Frontier LLMs & Multimodal AI in One Workspace
Discover NomadNet AI (nomadnet.ai) — unified access to frontier language models, research synthesis, and multimodal workflows.
أهم ما في عالم الذكاء الاصطناعي — مرة كل أسبوع
سبع قصص مهمة فعلاً هذا الأسبوع، مختارة بعناية. بلا ضجيج ولا بيانات صحفية.
تم! تحقق من بريدك للتأكيد.