خطوات الاستخدام
أدخل قيمة 'dModel' (بُعد النموذج): هذا هو بُعد التمثيل المخفي في المحول (transformer). على سبيل المثال، في نموذج BERT الأساسي، dModel = 768. هذه القيمة تحدد حجم المتجهات التي تنتقل عبر الشبكة. يجب أن يكون عددًا صحيحًا موجبًا.
أدخل قيمة 'dFfn' (بُعد الشبكة العصبية الأمامية): هذا هو بُعد الطبقة المخفية في شبكة التغذية الأمامية (FFN). عادة ما يكون أكبر من dModel، مثلاً 4 أضعاف (dFfn = 3072 في BERT). هذه القيمة تحدد سعة التحويل غير الخطي. يجب أن يكون عددًا صحيحًا موجبًا.
حساب عدد المعاملات: تتكون شبكة التغذية الأمامية من طبقتين خطيتين مع تحيز (bias). الطبقة الأولى: مصفوفة أوزان بأبعاد (dModel × dFfn) ومتجه تحيز بطول dFfn. الطبقة الثانية: مصفوفة أوزان بأبعاد (dFfn × dModel) ومتجه تحيز بطول dModel. إذن العدد الإجمالي للمعاملات = (dModel × dFfn) + dFfn + (dFfn × dModel) + dModel = 2 × dModel × dFfn + dModel + dFfn.
تفسير النتيجة: الناتج هو عدد المعاملات القابلة للتدريب في شبكة التغذية الأمامية. هذا الرقم مهم لتقدير حجم النموذج، الذاكرة المطلوبة، وزمن التدريب. مقارنة مع معاملات الانتباه (attention) تعطي فكرة عن توزيع المعاملات في المحول.
أمثلة محلولة
تطبيقات عملية على معاملات شبكة التغذية الأمامية بخطوات الحل كاملة.
الحل
المعطيات: dModel = 768, dFfn = 3072. نطبق الصيغة: عدد المعاملات = 2 × dModel × dFfn + dModel + dFfn = 2 × 768 × 3072 + 768 + 3072. أولاً نحسب حاصل الضرب: 768 × 3072 = 2,359,296. ثم نضرب في 2: 2 × 2,359,296 = 4,718,592. نجمع dModel و dFfn: 4,718,592 + 768 + 3072 = 4,722,432 إذن عدد المعاملات هو 4,722,432 معامل (حوالي 4.72 مليون). هذا العدد يمثل جزءًا كبيرًا من إجمالي معاملات BERT (حوالي 110 مليون معامل). لاحظ أن dFfn يساوي 4 أضعاف dModel، وهو تصميم شائع.
الحل
المعطيات: dModel = 256, dFfn = 1024. عدد معاملات الـ FFN = 2 × 256 × 1024 + 256 + 1024. أولاً 256 × 1024 = 262,144. ثم 2 × 262,144 = 524,288. نجمع: 524,288 + 256 + 1024 = 525,568 معامل. معاملات الانتباه: عادة لكل رأس انتباه، الأوزان الأربع: Q,K,V,O. حسابها: dModel^2 (لـ Q, K, V) و dModel^2 لـ O؟ في المحول القياسي، معاملات الانتباه (بدون تحيز) = 4 × dModel^2 = 4 × 256^2 = 4 × 65,536 = 262,144 معامل. إذن معاملات الـ FFN (525,568) أكبر بحوالي الضعف. وهذا شائع: شبكة التغذية الأمامية تستهلك معاملات أكثر من الانتباه.
أمثلة محسوبة
قيم مُدخَلة ونتيجة محسوبة فعليًا بواسطة معاملات شبكة التغذية الأمامية.
BERT-base: طبقة FFN واحدة تحمل 4,722,432 معاملًا
- بعد النموذج
- 768
- بعد FFN
- 3,072
محول صغير 256/1024: 525,568 أي ضعف الانتباه تقريبًا
- بعد النموذج
- 256
- بعد FFN
- 1,024
المحول الأساسي 512 مع FFN 2048: 2,099,712 معاملًا
- بعد النموذج
- 512
- بعد FFN
- 2,048