MarkTechPost→ المصدر

كيفية تسريع تدريب نماذج Transformer باستخدام NVIDIA Apex: ‏FusedAdam وFusedLayerNorm وtorch.amp

يتيح NVIDIA Apex مع torch.amp تسريع تدريب نماذج Transformer بمقدار 1.5–2.5× من دون أي تغييرات في معمارية النموذج. الأدوات الأساسية: FusedAdam بدلًا من Adam القياسي، وFusedLayerNorm للتطبيع، وautocast الأصلي للدقة المختلطة. يتضمن الشرح بناء Apex من المصدر واختبارًا معياريًا خطوة بخطوة لكل مكوّن.

معالج بواسطة الذكاء الاصطناعي من MarkTechPost؛ بتحرير Hamidun News
كيفية تسريع تدريب نماذج Transformer باستخدام NVIDIA Apex: ‏FusedAdam وFusedLayerNorm وtorch.amp
المصدر: MarkTechPost. كولاج: Hamidun News.
◐ استمع للمقال

تدريب محولات (Transformers) هو أحد أكثر المهام استهلاكاً للموارد في ML. يعمل PyTorch القياسي بشكل صحيح لكنه يترك مكاسب أداء كبيرة دون استغلال: معظم العمليات تُنفذ بشكل متسلسل حيث يمكن دمجها. يقدم NVIDIA Apex مجموعة من نوى CUDA المُحسّنة، و torch.amp الأصلي يضيف دقة مختلطة—معاً يسمحان بتحقيق نفس النتائج بشكل أسرع وباستهلاك ذاكرة فيديو أقل.

ما هو NVIDIA Apex ولماذا البناء اليدوي من المصدر ضروري

Apex هي مكتبة مفتوحة المصدر من NVIDIA توسع PyTorch بامتدادات CUDA محسّنة. آليتها الأساسية تتكون من نوى "مدمجة": عمليات تجمع خطوات حسابية متعددة في استدعاء GPU واحد. هذا يقلل الوصول إلى الذاكرة وزيادة تكلفة المزامنة—مهم بشكل خاص للعمليات الصغيرة حيث يتجاوز وقت إطلاق النواة وقت الحساب الفعلي. ملاحظة مهمة: `pip install apex` القياسي لا يتضمن امتدادات CUDA. البناء اليدوي من المصدر مع الأعلام `--cuda_ext --cpp_ext` مطلوب. يتطلب هذا إصدارات متوافقة من PyTorch و CUDA Toolkit ومترجم C++. بعد التثبيت، من الجيد التحقق من توفر النوى بشكل برمجي عبر `apex.optimizers` و `apex.normalization`—للتأكد من استخدام الإصدارات الأصلية بدلاً من بدائل Python الأبطأ.

FusedAdam و FusedLayerNorm و torch.amp

ثلاث أدوات توفر الدفعة الرئيسية للأداء عند تدريب محولات:

  • FusedAdam—محسّن Adam معاد الكتابة في CUDA. يجمع تحديثات الأوزان وحساب أول وثاني لحظة وقص القاعدة وتحلل الوزن في نواة واحدة. الوصول إلى ذاكرة GPU أقل بكثير مقارنة بالتنفيذ القياسي.
  • FusedLayerNorm—تطبيع الطبقة كنواة CUDA واحدة بدلاً من سلسلة عمليات PyTorch متسلسلة (متوسط، تباين، طرح، قسمة، قياس، إزاحة). بالنسبة للمحولات التي تحتوي على عشرات طبقات التطبيع، يوفر هذا تأثيراً تراكمياً محسوساً.
  • torch.amp—مدمج في آلية الدقة المختلطة التلقائية في PyTorch عبر `autocast()` و `GradScaler`. يبدل الحسابات إلى BF16 أو FP16 حيث آمن، مع الحفاظ على FP32 لتراكم التدرجات. يقلل استهلاك VRAM بحوالي النصف ويسرع عمليات الضرب المصفوفي على معالجات GPU مع نوى موتر. الميزة الرئيسية هي تغييرات الكود الحد الأدنى: FusedAdam هو بديل مباشر لـ `torch.optim.Adam`، و FusedLayerNorm يحل محل `nn.LayerNorm`، و torch.amp يضيف غلافاً حول ممر المسار الأمامي دون إعادة كتابة باقي منطق التدريب.

قياس مرحلة تلو مرحلة

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

1. Adam الأساسي + FP32—نقطة مرجعية 2. FusedAdam + FP32—الكسب من استبدال المحسّن 3. FusedAdam + FusedLayerNorm + FP32—إضافة تطبيع مدمج 4. FusedAdam + FusedLayerNorm + torch.amp (BF16)—التكوين الكامل

يتجنب هذا النهج التدريجي الاعتماد على نتائج "الصندوق الأسود" الإجمالية—تصبح مساهمة كل خطوة مرئية. يوفر التكوين النهائي تسريعاً بمعدل 1.5× إلى 2.5× في وقت التكرار بالنسبة للأساس؛ الأرقام الدقيقة تعتمد على حجم النموذج وحجم الدفعة وبنية GPU.

"الدقة المختلطة مع النوى المدمجة هي المعيار الفعلي لتدريب المحولات الصناعية."

ما يعنيه هذا

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

ZK
Hamidun News
أخبار الذكاء الاصطناعي بدون ضوضاء. اختيار تحريري يومي من أكثر من 50 مصدر. منتج من جمال حميدون، رئيس الذكاء الاصطناعي في Alpina Digital.

هل تحتاج إلى ذكاء اصطناعي يعمل داخل شركتك — وليس فقط في موجز الأخبار؟

أبني ذكاءً اصطناعياً جاهزاً للإنتاج للشركات — أنظمة CRM مخصّصة، أدوات داخلية، وكلاء مستقلون، أتمتة سير العمل. ملك لك، مصمّم وفق عمليتك، دون رسوم لكل مستخدم. من إعداد جمال خميدون، مدير المنتجات في AlpinaGPT (منصة ذكاء اصطناعي، أكثر من 6000 مستخدم).

ما رأيك؟
جارٍ تحميل التعليقات…