پرش به محتوای اصلی

خواندن مقاله Attention Is All You Need؛ ایده Transformer از کجا می‌آید؟

خواندن هدایت‌شده مقاله سال ۲۰۱۷؛ از مسئله پردازش دنباله تا scaled dot-product attention و ایده‌های معماری Transformer.

مقاله اصلی — arXivریاضیات برای هوش مصنوعیپیشرفته

منبع اصلی

مقاله اصلی — arXiv

Vaswani و همکاران، Attention Is All You Need، ۲۰۱۷.

مشاهده منبع اصلی

هدف یادگیری

ایده‌های اصلی ریاضی و معماری مقاله اصلی Transformer را بفهمید، بدون اینکه طراحی مقاله اصلی را با پیاده‌سازی‌ها و مدل‌های بعدی یکی بگیریم.

پیش‌نیازها

  • جبر خطی مقدماتی
  • بردار و ماتریس
  • آشنایی با لایه‌های شبکه عصبی

مقاله چه مسئله‌ای را دنبال می‌کند؟

مقاله به مسئله پردازش دنباله در یک معماری encoder-decoder می‌پردازد. پیشنهاد اصلی این است که هسته معماری بدون recurrence و convolution و بر پایه سازوکارهای attention ساخته شود.

Scaled dot-product attention

عملیات مرکزی، query را با key مقایسه می‌کند، امتیازها را به وزن تبدیل می‌کند و سپس valueها را با آن وزن‌ها ترکیب می‌کند. تقسیم بر جذر بعد key برای کنترل مقیاس امتیازها هنگام بزرگ‌تر شدن بعد انجام می‌شود.

Scaled dot-product attention
Attention(Q,K,V)=softmax(QKTdk)V\operatorname{Attention}(Q,K,V)=\operatorname{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V

چرا 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 آن استفاده کنید؟

می‌توان از ایده ریاضی شروع کرد و آن را به مسیر پیاده‌سازی مشخص رساند.