MarkTechPost→ المصدر

NVIDIA Transformer Engine: фьюзед-ядра, FP8 и BF16 для обучения трансформеров

NVIDIA Transformer Engine ускоряет обучение трансформеров через фьюзед GPU-ядра, вычисления в BF16 и аппаратный FP8. Библиотека заменяет стандартные PyTorch-слои — te.Linear, te.LayerNorm, te.TransformerLayer — и автоматически выбирает режим по типу GPU. На картах H100 и RTX 40xx доступны FP8 tensor cores с форматами E4M3/E5M2; на старых GPU — откат на чистый PyTorch без изменений кода.

معالج بواسطة الذكاء الاصطناعي من MarkTechPost؛ بتحرير Hamidun News
NVIDIA Transformer Engine: фьюзед-ядра, FP8 и BF16 для обучения трансформеров
المصدر: MarkTechPost. كولاج: Hamidun News.
◐ استمع للمقال

NVIDIA Transformer Engine — مكتبة لتسريع تدريب نماذج المحوّل (transformer) على وحدات معالجة الرسومات (GPU) من فئة Ampere وما بعدها. يُظهر برنامج تعليمي نُشر في الأول من أغسطس 2026 على موقع MarkTechPost كيفية ربط TE بنموذج مشابه لـ GPT، وضبط التكميم بتقنية FP8، وقياس المكاسب في السرعة والذاكرة.

ما هو NVIDIA Transformer Engine

NVIDIA Transformer Engine هي مكتبة رسمية لتحسين نماذج المحوّل على وحدات معالجة الرسومات من مستوى Ampere وأعلى. توفّر المكتبة بدائل drop-in للطبقات القياسية في PyTorch: `te.Linear` و`te.LayerNorm` و`te.LayerNormLinear` و`te.LayerNormMLP` وكتلة كاملة `te.TransformerLayer`. تعمل جميع المكوّنات بتنسيق BF16 افتراضيًا؛ وتتوفر tensor cores الخاصة بـ FP8 على البطاقات ذات compute capability ≥ 8.9.

المكوّنات الرئيسية للمكتبة:

  • `te.Linear` — طبقة خطية مع دعم tensor cores لـ FP8
  • `te.LayerNormLinear` — تجمع LayerNorm والإسقاط في نواة واحدة
  • `te.LayerNormMLP` — كتلة MLP مدمجة مع التطبيع
  • `te.TransformerLayer` — كتلة محوّل كاملة: الانتباه، وFFN، والتطبيع
  • رجوع تلقائي إلى PyTorch الخالص على وحدات معالجة الرسومات غير الداعمة لـ TE

كيف يعمل FP8 وDelayedScaling

يُفعَّل وضع FP8 عبر وصفة `DelayedScaling` من `transformer_engine.common.recipe`. تُدير الوصفة سجلّ amax الخاص بالمصفوفات (`amax_history_len=16`)، وخوارزمية الحساب (`amax_compute_algo="max"`)، والتنسيق الهجين E4M3/E5M2: يوفّر التنسيق الأول الدقة للتنشيطات، بينما يوفّر الثاني نطاقًا ديناميكيًا موسّعًا للتدرجات.

الخاصية الرئيسية للقياس المتأخر هي تراكم الإحصائيات على مدار 16 تكرارًا قبل تحديث مقياس المصفوفة. يُستقرّ بذلك التدريب في خطواته الأولى حين لا يكون توزيع التنشيطات قد استقرّ بعد.

«يجمع

Transformer Engine بين النوى المدمجة وقياس FP8 ومسارات التنفيذ المُحسَّنة لـ Ampere، مما يجعله خيارًا عمليًا لتدريب النماذج الكبيرة»، وفقًا للتوثيق الرسمي لـ NVIDIA.

في البرنامج التعليمي، يبني المؤلفون نموذجًا مدمجًا مشابهًا لـ GPT باسم `MiniGPT_TE`: أربع كتل `te.TransformerLayer`، وبُعد خفي مقداره 768، و12 رأس انتباه، ومفردات من 96 رمزًا (token)، وطول تسلسل يبلغ 256. يُدرَّب النموذج على بيانات اصطناعية حتمية. تُظهر القياسات أن وضع FP8 على وحدة معالجة رسومات من فئة H100 يُقلّل من ذروة استهلاك VRAM والوقت المستغرق في كل خطوة مقارنةً بـ BF16، مع الحفاظ على دقة مماثلة — يتحقق المؤلفون من ذلك عبر التوليد الانحداري الذاتي بعد التدريب.

متطلبات وحدة معالجة الرسومات

يعمل Transformer Engine فقط على وحدات معالجة الرسومات ذات compute capability ≥ 8.0 (بنية Ampere). تتوفر tensor cores الخاصة بـ FP8 اعتبارًا من CC ≥ 8.9: وهي Ada Lovelace (RTX 40xx) وHopper (H100/H200). على بطاقات T4 والأقدم منها، ترجع المكتبة إلى PyTorch الخالص دون نوى مدمجة.

  • الحدّ الأدنى لنوى TE: Ampere، CC ≥ 8.0 — A10، A100، RTX 30xx
  • الحدّ الأدنى لـ FP8: Ada Lovelace / Hopper، CC ≥ 8.9
  • التثبيت: `pip install transformer_engine[pytorch]`
  • الاعتماديات: CUDA 11.8+، PyTorch 2.0+

وفقًا لمؤلفي البرنامج التعليمي، يكفي استخدام وحدة معالجة رسومات A100 أو L4 في Google Colab للتطبيق الكامل؛ أما على T4 فلا يتوفر إلا وضع الرجوع دون النوى المدمجة.

ماذا يعني هذا

يُخفّض NVIDIA Transformer Engine عتبة الدخول إلى التدريب بالدقة المنخفضة: بدلًا من تطبيق تكميم FP8 يدويًا، يكفي استبدال طبقات PyTorch القياسية بمكافئاتها في TE. بالنسبة للفرق التي تُدرّب نماذج كبيرة على مجموعات GPU، هذه طريقة عملية لتقليل استهلاك الذاكرة ووقت التكرار دون إعادة هيكلة البنية.

الأسئلة الشائعة

هل تحتاج إلى H100 لاستخدام Transformer Engine؟

لا. يعمل NVIDIA Transformer Engine على أي وحدة معالجة رسومات ذات compute capability ≥ 8.0، بما فيها A100 وRTX 3090. لا تتوفر tensor cores الخاصة بـ FP8 إلا مع CC ≥ 8.9 — على H100 وRTX 4090؛ أما على البطاقات الأخرى فتتحوّل المكتبة تلقائيًا إلى BF16.

كيفية تثبيت Transformer Engine؟

التثبيت عبر pip: `pip install transformer_engine[pytorch]`. يُشترط توفر CUDA 11.8 أو أحدث وPyTorch 2.0+.

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

هل تريد التوقف عن قراءة الذكاء الاصطناعي والبدء باستخدامه؟

AI News هو موجز منسق لأخبار الذكاء الاصطناعي. تعلمك Hamidun Academy استخدام الذكاء الاصطناعي في عملك.

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