معماری ترنسفورمر
تعداد پارامترهای یک بلوک ترنسفورمر را تخمین بزنی و تفاوت Post-LN و Pre-LN و جریان داده در رمزگشا را توضیح بدهی.
15 دقیقه مطالعه · 5 سؤال تمرینی · یادگیری ماشین میانی و پیشرفته
توجه چندسَر
یک توجه تنها فقط یک نوع رابطه را در هر موقعیت میانگین میگیرد. توجه چندسر (Multi-Head Attention) توجه موازی با ابعاد کوچکتر اجرا میکند تا هر سر بتواند روی نوع متفاوتی از رابطه تمرکز کند:
معمولاً . پس روی هم، ، و هرکدام هستند و هم همینطور. بدون بایاس:
هزینهی محاسبه تقریباً با تکسر با بعد کامل برابر است.
بلوک ترنسفورمر: FFN، اتصال باقیمانده و LayerNorm
هر بلوک دو زیرلایه دارد: توجه چندسر و یک شبکهی پیشخور موقعیتی (FFN) که روی هر توکن جداگانه اعمال میشود:
معمولاً (در مقالهی اصلی و ).
دور هر زیرلایه اتصال باقیمانده و LayerNorm هست، به دو شکل:
- Post-LN (ترنسفورمر اصلی):
- Pre-LN (GPT-2 و بیشتر مدلهای امروزی):
در Pre-LN مسیر باقیمانده یک مسیر همانی تمیز برای گرادیان است؛ آموزش مدلهای عمیق پایدارتر است و به گرمکردن نرخ یادگیری حساسیت کمتری دارد. Post-LN بدون Warmup دقیق اغلب ناپایدار است.
کدگذاری موقعیت و رمزگذار-رمزگشا
کدگذاری موقعیت: چون توجه به ترتیب حساس نیست، اطلاعات جایگاه اضافه میشود:
- سینوسی (ترنسفورمر اصلی): بردارهای ثابت سینوس و کسینوس با فرکانسهای مختلف، جمعشده با embedding.
- یادگرفتنی (BERT و GPT-2): یک embedding برای هر جایگاه.
- نسبی مثل RoPE: موقعیت با چرخاندن و وارد ضرب نقطهای میشود.
رمزگذار-رمزگشا: رمزگذار خودتوجهی دوطرفه دارد. هر لایهی رمزگشا سه زیرلایه دارد:
- خودتوجهی ماسکدار روی توکنهای تولیدشده تا اینجا
- توجه متقابل: پرسوجو از رمزگشا، کلید و مقدار از خروجی رمزگذار
- FFN
در پایان، یک لایهی خطی و softmax توزیع توکن بعدی روی واژگان را میدهد.