خواندن مقاله Attention Is All You Need؛ ایده Transformer از کجا میآید؟
خواندن هدایتشده مقاله سال ۲۰۱۷؛ از مسئله پردازش دنباله تا scaled dot-product attention و ایدههای معماری Transformer.
هدف یادگیری
ایدههای اصلی ریاضی و معماری مقاله اصلی Transformer را بفهمید، بدون اینکه طراحی مقاله اصلی را با پیادهسازیها و مدلهای بعدی یکی بگیریم.
پیشنیازها
- جبر خطی مقدماتی
- بردار و ماتریس
- آشنایی با لایههای شبکه عصبی
مقاله چه مسئلهای را دنبال میکند؟
مقاله به مسئله پردازش دنباله در یک معماری encoder-decoder میپردازد. پیشنهاد اصلی این است که هسته معماری بدون recurrence و convolution و بر پایه سازوکارهای attention ساخته شود.
Scaled dot-product attention
عملیات مرکزی، query را با key مقایسه میکند، امتیازها را به وزن تبدیل میکند و سپس valueها را با آن وزنها ترکیب میکند. تقسیم بر جذر بعد key برای کنترل مقیاس امتیازها هنگام بزرگتر شدن بعد انجام میشود.
چرا Q، K و V؟
Query نشان میدهد جایگاه فعلی دنبال چه چیزی است، key ویژگیهایی برای مقایسه فراهم میکند و value اطلاعاتی است که پس از محاسبه وزنهای attention ترکیب میشود. این سه نقش از حفظکردن صرف حروف مفیدترند.
Multi-head attention
بهجای اینکه یک attention مجبور باشد همه رابطهها را ثبت کند، چند head با projectionهای یادگرفتنی جداگانه ساخته میشود و نمایشهای حاصل دوباره ترکیب میشوند.
چه اجزای دیگری در معماری وجود دارند؟
- چون attention بهتنهایی ترتیب را مانند recurrence تحمیل نمیکند، اطلاعات موقعیت وارد نمایش میشود.
- Residual connection و layer normalization در اطراف زیرلایههای اصلی قرار دارند.
- در encoder و decoder، زیرلایههای feed-forward نیز وجود دارند.
- در decoder از masking استفاده میشود تا هنگام تولید autoregressive، هر موقعیت به tokenهای آینده دسترسی نداشته باشد.
مقاله را چگونه انتقادی بخوانیم؟
مقاله منبع طراحی و آزمایشهایی است که همان مقاله گزارش کرده است. نباید آن را توضیح کامل همه Transformerها یا LLMهای امروزی در نظر گرفت؛ باید بین انتخابهای معماری مقاله اصلی و تغییرات پژوهشهای بعدی تفاوت گذاشت.
ارتباط با یک پیادهسازی قابل بررسی
پروژه HowLLMsWork در این سایت همین اصل آموزشی را از سمت پیادهسازی دنبال میکند: tokenization، attention، training، generation و inference را تا حد امکان قابل مشاهده و دنبالکردن نگه میدارد.
راهکارهای مرتبط
پروژه مرتبط
میخواهید یک ایده دشوار AI را بفهمید، نه فقط از API آن استفاده کنید؟
میتوان از ایده ریاضی شروع کرد و آن را به مسیر پیادهسازی مشخص رساند.