الدليل الفني

SwiGLU والتنشيط المسور

SwiGLU هي وظيفة تنشيط مسورة تعمل على مضاعفة إسقاط خطي واحد للمدخل من خلال إسقاط ثانٍ منشط بواسطة Swish، وتعمل كبوابة قابلة للتعلم وتعتمد على البيانات داخل طبقات تغذية المحولات.

قراءة لمدة دقيقتينآخر تحديث

نظرة عامة

It consistently improves language-model quality, which is why nearly every modern LLM uses it.

الغوص العميق

كتلة التغذية الأمامية للمحول القياسية عبارة عن طبقتين خطيتين مع ReLU أو GELU بينهما. الوحدات الخطية المسورة، التي اقترحها دوفين وآخرون. في عام 2016، قسّم الإسقاط الأول إلى نصفين واستخدم النصف لبوابة الآخر عبر الضرب حسب العناصر. تستخدم SwiGLU، التي شاعها Noam Shazeer في عام 2020، وظيفة Swish (SiLU) لتلك البوابة: الإخراج = (Swish(xW) * (xV)) W2، بثلاث مصفوفات وزن بدلاً من مصفوفتين. تتيح البوابة للشبكة تمرير المعلومات أو منعها بشكل انتقائي لكل بُعد. نظرًا لأن إضافة المصفوفة الثالثة يؤدي إلى زيادة المعلمات، فإن عمليات التنفيذ تعمل على تقليص البعد المخفي إلى الثلثين تقريبًا بحيث يظل إجمالي الحوسبة مشابهًا لـ GELU MLP. أظهرت تجارب شازير مكاسب حيرة قابلة للقياس، وتبنتها كل من LLaMA وPaLM وMistral.

البصيرة الفنية

Swish هي x * sigmoid(beta*x)، وهي دالة سلسة وغير رتيبة، على عكس ReLU، تسمح بمرور القيم السالبة الصغيرة. في SwiGLU، ينتج فرع "البوابة" Swish(xW) قيمًا قريبة من 0 أو 1 تضاعف عنصر xV لفرع "القيمة"، لذلك يتم تعديل مساهمة كل وحدة مخفية بواسطة إشارة متعلمة تعتمد على الإدخال. مصفوفة الوزن الثالثة هي التكلفة؛ تحافظ خدعة الحجم المخفي للثلثين على مطابقة ميزانية FLOP لطبقة تغذية الفانيليا.

التأثير الاستراتيجي

التكلفة والميزانية

تؤدي قرارات الهندسة المعمارية إلى زيادة الأداء وتكلفة التشغيل لسنوات.

قرارات أوضح

يساعد التعليم الفني الفرق على اختيار المجموعة المناسبة، وليس فقط المجموعة الأحدث.

مراقبة الجودة

تعمل الخيارات الهندسية الأفضل على تقليل حوادث الموثوقية في الإنتاج.

مستقبل SwiGLU والتنشيط المسور

تم ترسيخ SwiGLU باعتباره MLP الافتراضي في LLMs ذات الوزن المفتوح ومن غير المرجح أن يتم إزاحته قريبًا. تتضمن الاتجاهات النشطة متغيرات GeGLU وReGLU، ونواة GPU المدمجة التي تحسب كلا الإسقاطات في مسار واحد، والجمع بين MLPs المسورة مع خليط من الخبراء بحيث يكون كل خبير في حد ذاته كتلة SwiGLU. ويدرس الباحثون أيضًا السبب الذي يجعل البوابات تساعد على تحسين الأداء، بهدف تصميم بوابات أرخص.

التنفيذ في العالم الحقيقي

تستبدل LLaMA وPaLM وMistral طبقة التغذية الأمامية لـ GELU بـ SwiGLU لتقليل الارتباك عند حساب متساوٍ

يتم تحجيم البعد المخفي إلى حوالي الثلثين (8/3 د) بحيث لا تؤدي مصفوفة البوابات الإضافية إلى تضخيم FLOPs

تستخدم نماذج خليط الخبراء مثل Mixtral كتل SwiGLU كشبكة تغذية للأمام لكل خبير

تستعير محولات الرؤية والمحولات متعددة الوسائط بوابة GeGLU/SwiGLU لتحسين طبقاتها الفرعية MLP

المخاطر والدرابزين

يمكن أن يؤدي تحسين معيار واحد إلى إخفاء نقاط ضعف النظام الأوسع.

غالبًا ما يتم التقليل من تكاليف البنية التحتية والصيانة.

يمكن أن تنمو الفجوات الأمنية وقابلية المراقبة عندما تصبح الأنظمة أكثر تعقيدًا.

خارطة طريق التنفيذ

1

تحديد الكمون والجودة وأهداف التكلفة قبل التنفيذ.

2

المعيار في ظل ظروف التحميل والبيانات الواقعية.

3

مراقبة الأدوات للأخطاء والانجراف وتأثير المستخدم.

4

قم بإعداد مسارات التراجع والاستجابة للحوادث قبل القياس.

استمر في الاستكشاف

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the SwiGLU and Gated Activations quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

ابدأ الاختبار

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

الدليل التالي

مقايضات إعادة حساب التنشيط

الأسئلة المتداولة

What is SwiGLU and Gated Activations?

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

ما هي العملية الأساسية التي تحدد الوحدة الخطية المسورة؟

تقوم GLU بضرب إسقاط القيمة من خلال عنصر إسقاط البوابة، مما يسمح لمعلومات التحكم في الشبكة بالتدفق لكل بُعد.

ما هي وظيفة التنشيط التي يستخدمها SwiGLU لفرع البوابة الخاص به؟

يستخدم SwiGLU Swish، والذي يسمى أيضًا SiLU، والذي تم تعريفه كـ x * sigmoid(beta*x)، لفرع البوابات.

ما هو عدد مصفوفات الوزن التي تستخدمها كتلة التغذية الأمامية SwiGLU؟

يحتاج SwiGLU إلى ثلاث مصفوفات: إسقاط البوابة، وإسقاط القيمة، وإسقاط الإخراج.

لماذا يتم عادةً تغيير حجم البعد المخفي إلى حوالي الثلثين في طبقات SwiGLU؟

وإلا فإن المصفوفة الثالثة قد تؤدي إلى تضخيم الحوسبة، لذا فإن تقليص الحجم المخفي إلى ما يقرب من 8/3 d يحافظ على مطابقة الميزانية.

من قام بتعميم SwiGLU لطبقات تغذية المحولات في عام 2020؟

قدمت ملاحظة نعوم شازير لعام 2020 بعنوان "GLU Variants Improve Transformer" SwiGLU وأظهرت مكاسبها الحيرة.