آموزشترنسفورمرها

درس ۳ از ۶۲، هوش مصنوعی، حدود ۱۲ دقیقه خواندن

مقاله‌ی «Attention Is All You Need» (۲۰۱۷)

جواب کوتاه

«Attention Is All You Need»، یعنی «توجه همه‌ی چیزیه که لازم دارید»، مقاله‌ای از سال ۲۰۱۷ با هشت نویسنده‌ست که ترنسفورمر رو معرفی کرد. اون زمان بهترین مدل‌های ترجمه بازگشتی بودن و توجه فقط یه کمک کنارشون بود؛ این مقاله گفت بازگشت رو کنار بذارید و فقط با توجه بسازید. روی ترجمه‌ی انگلیسی به آلمانی، با حدود ۴٫۵ میلیون جفت جمله، به نمره‌ی ۲۸٫۴ رسید، بیش از ۲ واحد بهتر از بهترین نتیجه‌های قبلی؛ و آموزش مدل بزرگش فقط ۳٫۵ روز روی ۸ کارت گرافیک طول کشید. بیشتر چیزهایی که توی این مسیر یاد می‌گیرید، از توجه چندسر تا رمزگذاری موقعیتی، اول توی همین مقاله اومدن.

یعنی چی

اسمش یعنی «توجه همه‌ی چیزیه که لازم دارید». و حرف اصلیش هم همینه.

این مقاله سال ۲۰۱۷ منتشر شد و ترنسفورمر رو، که توی درس ترنسفورمر چیست دیدیم، به دنیا معرفی کرد. هشت نفر نوشتنش و یه نکته‌ی جالب پاورقی صفحه‌ی اولشه: سهم همه برابر بوده و ترتیب اسم‌ها تصادفیه. خود مقاله پنج بخش اصلی داره، همون که توی تصویر می‌بینید، و این درس هم به همون ترتیب جلو می‌ره، تا اگه خودتون خواستید بخونیدش، بدونید هر چیزی کجاست.

مشکل و پیشنهاد

کار اصلی مقاله ترجمه بود. اون زمان بهترین مدل‌های ترجمه، همون‌طور که توی درس دنباله چیست دیدیم، جمله رو کلمه‌به‌کلمه می‌خوندن، با یه رمزگذار و یه رمزگشا؛ و بهترین‌هاشون این دو تا رو با «توجه» به هم وصل می‌کردن. یعنی توجه یه کمک بود کنار مدل اصلی. حرف مقاله این بود: اگه توجه این‌قدر کمک می‌کنه، چرا کل مدل رو با همون نسازیم؟ بازگشت رو کامل کنار بذاریم. اسم مقاله هم از همین‌جاست.

چرا فقط توجه

مقاله برای دفاع از پیشنهادش یه جدول ساده داره که سه جور لایه رو کنار هم می‌ذاره: توجه، بازگشتی، و کانولوشنی که اون موقع هم برای ترجمه امتحان شده بود.

دو ستون مهمش این‌هاست. اول، چند قدم باید پشت سر هم برداشته بشه: توی لایه‌ی بازگشتی به تعداد کلمه‌ها، چون هر کلمه منتظر قبلیه؛ توی توجه فقط یک، چون همه با هم حساب می‌شن. دوم، اثر یه کلمه برای رسیدن به دورترین کلمه چند قدم راه می‌ره: توی بازگشتی باز به تعداد کلمه‌ها، توی کانولوشنی لگاریتم اون، و توی توجه فقط یک. همون حرف درس دنباله چیست: فاصله‌ی کوتاه‌تر، یاد گرفتن ربط دور آسون‌تر.

یه ستون سوم هم داره که مقاله صادقانه نوشته: هزینه‌ی حساب هر لایه. توی توجه این هزینه با مجذور تعداد کلمه‌ها بالا می‌ره؛ برای جمله‌های ترجمه که از اندازه‌ی بردارها کوتاه‌ترن مشکلی نیست، ولی برای متن خیلی بلند، همون هزینه‌ی مربعی می‌شه که بعدا یه درس کامل داره.

داده

برای یاد گرفتن ترجمه، مدل جفت جمله لازم داره: یه جمله و ترجمه‌ش.

برای انگلیسی به آلمانی حدود ۴٫۵ میلیون جفت جمله داشتن، و برای انگلیسی به فرانسوی خیلی بیشتر، ۳۶ میلیون جمله. جمله‌ها با همون روش جفت‌های پرتکرار به توکن شکسته شدن، با واژه‌نامه‌ای حدود ۳۷ هزار و ۳۲ هزار توکنی. هر دسته‌ای که موقع آموزش به مدل داده می‌شد، حدود ۲۵ هزار توکن ورودی و ۲۵ هزار توکن خروجی داشت.

نتیجه

کیفیت ترجمه رو با نمره‌ای به اسم BLEU می‌سنجن؛ یعنی ترجمه‌ی ماشین چقدر شبیه ترجمه‌ی آدم‌های حرفه‌ایه. هر چی بیشتر، بهتر؛ و حتی ترجمه‌ی یه آدم دیگه هم کمتر کاملا یکی درمیاد.

روی انگلیسی به آلمانی، مدل بزرگ مقاله به ۲۸٫۴ رسید؛ بیش از ۲ واحد بهتر از بهترین نتیجه‌ی قبلی، که تازه ترکیب چند مدل با هم بود. حتی مدل پایه‌ش، با ۲۷٫۳، از همه‌ی مدل‌ها و ترکیب‌های قبلی بهتر بود. روی انگلیسی به فرانسوی هم از همه‌ی مدل‌های تکی قبلی بهتر شد، با کسری از هزینه‌ی آموزششون. و یه آزمایش جدا هم کردن: تجزیه‌ی ساختار جمله‌ی انگلیسی، کاری که خروجیش از ورودی بلندتره؛ اون‌جا هم خوب جواب داد.

آموزش

همه‌ی آموزش روی یه دستگاه با ۸ کارت گرافیک انجام شد. مدل پایه هر قدم آموزشش ۰٫۴ ثانیه طول می‌کشید و ۱۰۰ هزار قدم رفت، یعنی ۱۲ ساعت. مدل بزرگ هر قدم ۱ ثانیه و ۳۰۰ هزار قدم، یعنی ۳٫۵ روز. همین سرعت بود که ترنسفورمر رو این‌قدر جذاب کرد؛ و دلیلش همون چیزیه که توی درس قبل دیدیم: همه‌ی کلمه‌ها با هم حساب می‌شن، نه پشت سر هم.

چند ترفند و آزمایش

مقاله چند ترفند آموزشی هم داره که هر کدوم بعدا توی این مسیر درس خودش رو داره. نرخ یادگیری اول، ۴۰۰۰ قدم، کم‌کم بالا می‌ره و بعد پایین میاد؛ اسمش گرم کردنه. دراپ‌اوت ۰٫۱ دارن، یعنی هر بار یه دهم عددها رو تصادفی خاموش می‌کنن. و یه ترفند جالب‌تر: کاری می‌کنن مدل یه کم نامطمئن‌تر باشه. خودشون نوشتن این کار سرگشتگی رو بدتر کرد، ولی دقت و نمره‌ی ترجمه رو بهتر.

بخش آزمایش‌ها هم چند درس روشن داره. توجه با یه «سر» ۰٫۹ واحد بدتر از بهترین حالت بود، ولی سرهای خیلی زیاد هم بدتر کرد؛ پس توجه چندسر اندازه‌ی درستی داره. مدل بزرگ‌تر بهتر بود. دراپ‌اوت جلوی بیش‌برازش رو گرفت. و وقتی جای کلمه‌ها رو به‌جای یه فرمول ثابت، رمزگذاری موقعیتی، یاد دادن، نتیجه تقریبا همون شد.

یه نگاه به درون

پیوست مقاله چند تصویر از خود وزن‌های توجه داره، که ببینیم مدل واقعا به کجا نگاه می‌کنه.

یکیشون یه جمله‌ی بلند انگلیسیه که توش عبارت «making … more difficult» با چند کلمه فاصله اومده. توی یکی از لایه‌ها، کلمه‌ی «making» بیشتر از همه به «more difficult» نگاه می‌کنه، که چند کلمه دورتره؛ یعنی مدل خودش یاد گرفته «making … more difficult» یه عبارته. نویسنده‌ها نوشتن چند تا از سرهای توجه همین ربط دور رو گرفتن. هیچ‌کس این رو بهش یاد نداده بود؛ فقط از روی میلیون‌ها جفت جمله‌ی ترجمه به‌دست اومد. یه تصویر دیگه‌ی پیوست هم سرهایی رو نشون می‌ده که ضمیر رو به اسمش وصل کردن، همون که توی درس اول دیدیم.

بعد از این مقاله

خود مقاله توی یه کنفرانس معروف ۲۰۱۷ ارائه شد، و چیزی که بعدش اومد، از چیزی که نویسنده‌هاش آخر مقاله نوشته بودن خیلی بزرگ‌تر شد.

ویکی‌پدیا می‌گه تا ۲۰۲۶ بیش از ۲۵۰ هزار بار بهش ارجاع داده شده و جزو ده مقاله‌ی پرارجاع قرن بیست‌ویکمه. یه سال بعد مدل‌های فقط‌رمزگذار و فقط‌رمزگشا اومدن؛ سه سال بعد یه مدل زبانی ۱۷۵ میلیاردی و ترنسفورمر برای عکس؛ و پنج سال بعد ChatGPT. دو تا نکته‌ی بامزه هم ویکی‌پدیا داره: اسم مقاله اشاره‌ای به یه آهنگ معروف قدیمیه که می‌گه «همه‌ی چیزی که لازم دارید عشقه»، و اسم «ترنسفورمر» رو یکی از نویسنده‌ها فقط به‌خاطر اینکه از صداش خوشش اومده بود انتخاب کرد. هر هشت نویسنده هم بعدا از شرکتی که اون موقع توش کار می‌کردن رفتن.

اگه خواستید بخونیدش

  1. اول چکیده و بخش ۱. مشکل و پیشنهاد، توی یه صفحه.
  2. بعد شکل ۱. کل ساختمان مدل توی یه تصویر.
  3. بعد بخش ۳. توجه، چندسر، و جای کلمه‌ها؛ با درس‌های همین مسیر کنارش.
  4. آخر بخش ۵ و ۶. آموزش، نتیجه و آزمایش‌ها.

خود نویسنده‌ها آخر مقاله نوشتن می‌خوان ترنسفورمر رو به عکس، صدا و ویدیو هم ببرن. درس بعد نشون می‌ده این خواسته تا کجا رفت: ترنسفورمر امروز کجاست.

جمع‌بندی. آنچه از این درس با خودتان می‌برید.

  • ۲۰۱۷، هشت نویسنده، برای ترجمه.
  • پیشنهاد: فقط توجه، بی بازگشت.
  • انگلیسی به آلمانی: ۲۸٫۴، بهتر از همه.
  • مدل بزرگ: ۳٫۵ روز روی ۸ کارت.
  • بیشتر این مسیر از همین مقاله‌ست.

خودتون رو بسنجید

۱۵ پرسش، هر بار تازه از میان ۳۰ پرسش این درس. آخرش فقط کارنامه رو می‌بینید: چند تا درست، چند تا نادرست.

خودتون رو بسنجید

۱۵ پرسش

  • هر بار پرسش‌ها و ترتیب گزینه‌ها عوض می‌شه.
  • تا آخر نمی‌گیم کدوم جواب درست بوده؛ می‌تونید برگردید و جوابتون رو عوض کنید.
  • آخرش کارنامه می‌گیرید: چند تا درست، چند تا نادرست.
  • اگه وسطش بستید، دوباره که باز کنید از همون‌جا ادامه می‌دید.

فصل‌های این درس

درس بعد