رفتن به محتوای اصلی
Koohestun
توضیح کوهستانمعماری ترانسفورمرمقاله تشریحی· 5 دقیقه مطالعه· در هوش مصنوعی

چگونه پوشش علی (Causal Masking) مانع از توجه ترانسفورمرهای فقط-دیکودر به توکن‌های آینده می‌شود

پوشش علی (Causal Masking) با اعمال یک ماتریس پایین-مثلثی بر مکانیزم توجه، تضمین می‌کند که مدل‌های هوش مصنوعی مولد کلمه بعدی را بدون نگاه کردن به پاسخ در آینده پیش‌بینی کنند. این عملیات ریاضی واحد، آموزش موازی را از تولید ترتیبی جدا کرده و شالوده معماری مدل‌های زبانی بزرگ امروزی را شکل می‌دهد.

به قلم الوین شادمهر

معماران مدل 40%مهندسان بهینه‌سازی استنتاج 35%مدافعان انکودر دوطرفه 25%
معماران مدل
تمرکز بر ظرافت ریاضیاتی جداسازی موازی‌سازی آموزش از تولید خودهمبسته.
مهندسان بهینه‌سازی استنتاج
تمرکز بر سربار محاسباتی مکانیزم توجه در طول تولید.
مدافعان انکودر دوطرفه
استدلال می‌کنند که پوشش علی توانایی مدل را برای ساخت بازنمایی‌های زمینه‌ای عمیق محدود می‌کند.

دیدگاه‌هایی که این گزارش پوشش نداده

  • طراحان سخت‌افزار
  • توسعه‌دهندگان هوش مصنوعی متن‌باز

چرا مهم است

پوشش علی تنها عملیات ریاضی است که به مدل‌های زبانی بزرگ اجازه می‌دهد در حین آموزش موازی، متن را به‌صورت ترتیبی تولید کنند. درک این مکانیزم توضیح می‌دهد که چرا هوش مصنوعی مدرن با چنین کارایی بالایی مقیاس‌پذیر است و چرا برای کار کردن به خوشه‌های عظیم پردازنده‌های گرافیکی (GPU) نیاز دارد.

در ژانویه ۲۰۲۴، کتابخانه Transformers شرکت Hugging Face به‌روزرسانی جدیدی را ادغام کرد که به توسعه‌دهندگان اجازه می‌داد ماسک‌های توجه چهاربعدی سفارشی را مستقیماً به مسیر پیش‌رو (Forward Pass) مدل‌های زبانی ارسال کنند. این تغییر معماری، پرده از عملیات ماتریسی واحدی برداشت که یک هوش مصنوعی مولد را از یک رمزگذار (Encoder) متن دوطرفه متمایز می‌کند: پوشش علی (Causal Masking). بدون این سد ریاضیاتی، یک مدل فقط-دیکودر (Decoder-only) در طول آموزش به‌سادگی به پاسخ‌های آینده نگاه می‌کرد و در نتیجه برای تولید متن در دنیای واقعی کاملاً ناتوان می‌شد.[4][6]

این مکانیزم در واقع یک فیلتر واقعی است که در داخل لایه توجه اعمال می‌شود. در یک ترانسفورمر استاندارد، مکانیزم توجه امتیازی را محاسبه می‌کند که نشان می‌دهد هر توکن در یک توالی چقدر باید روی هر توکن دیگری تمرکز کند. پوشش علی با اعمال یک ماتریس پایین-مثلثی بر روی این امتیازها مداخله می‌کند. این مکانیزم، وزن توجه را برای هر موقعیت توکنی که در سمت راست توکن فعلی قرار دارد، روی منفی بی‌نهایت تنظیم می‌کند.[6]

پس از اعمال تابع سافت‌مکس (Softmax) بر روی این امتیازها، هر مقدار منفی بی‌نهایت دقیقاً به صفر تبدیل می‌شود. از نظر ریاضی، این امر تضمین می‌کند که بازنمایی خروجی یک توکن منحصراً به خودش و توکن‌های پیش از آن بستگی دارد. آینده به‌طور کامل از محاسبات پاک می‌شود.[6]

پوشش علی پایین-مثلثی، مکانیزم توجه را مجبور می‌کند تا توکن‌های آینده را نادیده بگیرد.

این تعهد ساختاری، تفاوت باربر و اساسی میان یک مدل فقط-انکودر مانند BERT گوگل و یک مدل فقط-دیکودر مانند سری GPT شرکت OpenAI است. مدل‌های انکودر برای یادگیری بازنمایی طراحی شده‌اند، بنابراین از یک ماسک همانی (Identity Mask) استفاده می‌کنند که در آن هر توکن، تمام توکن‌های دیگر را در هر دو جهت می‌بیند. مدل‌های دیکودر برای تولید خودهمبسته (Autoregressive) طراحی شده‌اند، به این معنی که باید کلمه بعدی را تنها با استفاده از زمینه گذشته پیش‌بینی کنند.[5]

اگر یک مدل مولد بدون پوشش علی آموزش ببیند، پدیده‌ای به نام نشت اطلاعات (Information Leakage) را تجربه خواهد کرد. در طول آموزش، کل اسناد به‌یکباره به مدل داده می‌شود. اگر ماتریس توجه اجازه دید دوطرفه را می‌داد، مدل به‌جای یادگیری الگوهای زبانی زیربنایی مورد نیاز برای پیش‌بینی، به‌سادگی توکن بعدی را از توالی ورودی کپی می‌کرد.[6]

این امر به خطای (Loss) غیرواقعی و بسیار پایین در طول آموزش، اما شکست کامل در مرحله استنتاج (Inference) منجر می‌شود. از آنجا که وقتی کاربر منتظر پاسخ است توکن‌های آینده هنوز وجود ندارند، مدلی که با دید دوطرفه آموزش دیده باشد نمی‌داند چگونه کلمه بعدی را تولید کند. پوشش علی تضمین می‌کند که شرایط آموزش کاملاً با شرایط استنتاج مطابقت داشته باشد.[6]

نبوغ ماسک علی در این است که چگونه یک تنش بنیادین در یادگیری ماشین را حل می‌کند: نیاز به پیش‌بینی ترتیبی در مقابل نیاز به محاسبات موازی. پیش از معرفی معماری اولیه ترانسفورمر با ۱۰۰ میلیون پارامتر در ۱۲ ژوئن ۲۰۱۷، مدل‌های توالی به شبکه‌های عصبی بازگشتی (RNNs) متکی بودند.[1][2]

نبوغ ماسک علی در این است که چگونه یک تنش بنیادین در یادگیری ماشین را حل می‌کند: نیاز به پیش‌بینی ترتیبی در مقابل نیاز به محاسبات موازی.

شبکه‌های عصبی بازگشتی (RNN) به‌طور طبیعی از نشت اطلاعات آینده جلوگیری می‌کردند، زیرا داده‌ها را مرحله به مرحله پردازش می‌کردند. با این حال، این پردازش ترتیبی یک گلوگاه محاسباتی عظیم ایجاد می‌کرد. یک شبکه نمی‌توانست کلمه دهم را پردازش کند تا زمانی که پردازش کلمه نهم به پایان برسد، و این امر استفاده کامل از قدرت پردازش موازی سخت‌افزارهای مدرن را غیرممکن می‌ساخت. مقاله اصلی ترانسفورمر در جمله‌ای معروف پیشنهاد کرد که «از بازگشت و کانولوشن به‌طور کامل صرف‌نظر شود».[1]

ترانسفورمرها گلوگاه ترتیبی شبکه‌های عصبی بازگشتی (RNN) را از بین می‌برند و اجازه می‌دهند تمام توکن‌ها در طول آموزش به‌طور همزمان پردازش شوند.

پوشش علی به ترانسفورمرهای فقط-دیکودر اجازه می‌دهد تا از مزایای هر دو روش بهره‌مند شوند. در طول آموزش، کل توالی به‌طور همزمان از مدل عبور داده می‌شود. ماسک تضمین می‌کند که خطای توکن دوم تنها با استفاده از توکن اول محاسبه شود، در حالی که خطای توکن صدم با استفاده از نود و نه توکن اول محاسبه می‌گردد.[6]

از آنجا که ماتریس پوشش وابستگی‌های هر موقعیت را ایزوله می‌کند، گرادیان‌های تمام موقعیت‌ها می‌توانند به‌یکباره در یک مسیر پیش‌رو (Forward Pass) محاسبه شوند. این عدم تقارن موازی‌سازی میان آموزش و استنتاج، دلیل اصلی مقیاس‌پذیری بسیار کارآمد پیش‌آموزش مدل‌های فقط-دیکودر در خوشه‌های محاسباتی عظیم است. ترانسفورمر اصلی تنها در ۱۲ ساعت روی هشت پردازنده گرافیکی P100 آموزش دید؛ مدل‌های مدرن همین موازی‌سازی را به ده‌ها هزار تراشه گسترش می‌دهند.[1][2]

هنگامی که OpenAI معماری GPT-1 را در سال ۲۰۱۸ منتشر کرد، از یک ترانسفورمر فقط-دیکودر ۱۲ لایه با بردارهای ۷۶۸ بعدی و ۱۲ سر توجه (Attention Head) استفاده کرد. این مدل با تکیه دقیق بر ماسک علی، توانست روی پیکره‌های متنی عظیم و بدون برچسب به‌طور موازی پیش‌آموزش ببیند و بازنمایی‌های زبانی جهانی را پیش از تنظیم دقیق (Fine-tuning) بیاموزد.[5]

با این حال، در زمان استنتاج، مدل باید به‌صورت ترتیبی اجرا شود. مدل یک توکن تولید می‌کند، آن را به توالی ورودی ضمیمه می‌کند و دوباره کل توالی را از مدل عبور می‌دهد تا توکن بعدی را پیش‌بینی کند. ماسک علی همچنان اعمال می‌شود و تضمین می‌کند که مدل تنها به گذشته توجه دارد.[6]

پیاده‌سازی پوشش علی با پیچیده‌تر شدن مدل‌ها تکامل یافته است. در پیاده‌سازی‌های استاندارد، ماسک یک تنسور دوبعدی است. اما همان‌طور که مستندات Hugging Face توضیح می‌دهد، در داخل مدل، این ماسک به یک تنسور چهاربعدی گسترش می‌یابد که برای تطبیق با اندازه دسته‌ها (Batch Sizes)، سرهای توجه، طول ورودی و طول کل توالی شکل گرفته است.[4]

پوشش علی در سطح سند، ماسک توجه را در مرزهای سند بازنشانی می‌کند تا از تداخل اطلاعات جلوگیری شود.

این ساختار چهاربعدی امکان استراتژی‌های توجه ظریف‌تری را فراهم می‌کند. به‌عنوان مثال، هنگام تنظیم دقیق مدل‌ها روی چندین سند کوتاه که در یک توالی واحد بسته‌بندی شده‌اند، پوشش علی استاندارد اجازه می‌دهد که ابتدای یک سند به انتهای یک سند نامرتبط توجه کند.[3]

برای جلوگیری از این تداخل، پشته‌های آموزشی مدرن از پوشش علی در سطح سند استفاده می‌کنند. ماسک پایین-مثلثی در مرزهای سند بازنشانی می‌شود و تضمین می‌کند که توجه در داخل یک سند کاملاً علی باقی می‌ماند، اما در مرزهای اسناد به صفر کاهش می‌یابد.[3][6]

ماسک علی به‌عنوان لنگرگاه معماری عصر هوش مصنوعی مولد عمل می‌کند. این یک عملیات ماتریسی واحد است که یک شبکه عصبی بسیار موازی را مجبور می‌کند تا به جریان خطی زمان احترام بگذارد و تضمین می‌کند که مدل‌ها به‌جای حفظ کردن آینده، پیش‌بینی آن را یاد بگیرند.[6]

نکات کلیدی

  • پوشش علی از یک ماتریس پایین-مثلثی استفاده می‌کند تا امتیاز توجه توکن‌های آینده را روی منفی بی‌نهایت تنظیم کند.
  • این فیلتر ریاضی تضمین می‌کند که بازنمایی خروجی یک توکن منحصراً به خودش و توکن‌های گذشته بستگی داشته باشد.
  • این پوشش به مدل‌های فقط-دیکودر اجازه می‌دهد تا کل توالی‌های آموزشی را به‌طور موازی پردازش کنند، در حالی که پیش‌بینی ترتیبی را الزامی می‌کند.
  • بدون پوشش علی، مدل‌های مولد دچار نشت اطلاعات شده و در مرحله استنتاج (Inference) با شکست مواجه می‌شوند.
  • پیاده‌سازی‌های مدرن از تنسورهای چهاربعدی برای مدیریت دسته‌بندی‌های پیچیده (Batching) و پوشش در سطح سند استفاده می‌کنند.

اصطلاحات کلیدی

تولید خودهمبسته (Autoregressive Generation)
فرآیند تولید متن به‌صورت توکن به توکن، که در آن هر توکن جدید صرفاً بر اساس توکن‌های تولیدشده قبلی پیش‌بینی می‌شود.
مکانیزم توجه (Attention Mechanism)
یک عملیات ریاضی که به شبکه عصبی اجازه می‌دهد هنگام پردازش یک کلمه خاص، اهمیت کلمات مختلف در یک توالی را وزن‌دهی کند.
ماتریس پایین-مثلثی (Lower-Triangular Matrix)
شبکه‌ای از اعداد که در آن تمام درایه‌های بالای قطر اصلی صفر یا منفی بی‌نهایت هستند و برای مسدود کردن دسترسی به موقعیت‌های آینده استفاده می‌شود.
نشت اطلاعات (Information Leakage)
یک شکست در آموزش که در آن مدل به‌طور ناخواسته به پاسخ هدفی که قرار است پیش‌بینی کند دسترسی پیدا می‌کند و مانع از یادگیری الگوی زیربنایی می‌شود.

منابع

پوشش منابع

6 منبع

3 دیدگاه شناسایی‌شده

معماران مدل 40%مهندسان بهینه‌سازی استنتاج 35%مدافعان انکودر دوطرفه 25%
  1. [1]arXivمعماران مدل

    Attention Is All You Need

    مطالعه در arXiv
  2. [2]Wikipediaمعماران مدل

    Attention Is All You Need

    مطالعه در Wikipedia
  3. [3]GitHubمهندسان بهینه‌سازی استنتاج

    Sequences packing in SFT (supervised finetuning) training

    مطالعه در GitHub
  4. [4]Hugging Faceمهندسان بهینه‌سازی استنتاج

    Attention Mechanisms and Masks

    مطالعه در Hugging Face
  5. [5]OpenAIمعماران مدل

    Improving Language Understanding by Generative Pre-Training

    مطالعه در OpenAI
  6. [6]تیم سردبیری کوهستانمدافعان انکودر دوطرفه

    تحلیل تیم سردبیری کوهستان

    مطالعه در تیم سردبیری کوهستان

نظرات

همیشه در جریان باشید

هر زاویه. هر روز.

دریافت هوش مصنوعی اخبار همراه با پوشش کامل منابع و تحلیل دیدگاه‌ها، مستقیم در صندوق ورودی شما.