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

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

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

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

به‌طور خلاصه

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

در ژانویه ۲۰۲۴، کتابخانه 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]

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

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

پرسش‌های متداول

پوشش علی در ترانسفورمر چیست؟

این یک فیلتر ریاضی است که بر ماتریس توجه اعمال می‌شود و امتیاز توکن‌های آینده را روی منفی بی‌نهایت تنظیم می‌کند تا از نگاه کردن مدل به آینده در طول آموزش جلوگیری کند.

چرا مدل‌های انکودر مانند BERT از پوشش علی استفاده نمی‌کنند؟

مدل‌های انکودر برای ساخت بازنمایی‌های دوطرفه از متن طراحی شده‌اند، بنابراین باید کل توالی را به‌یکباره ببینند. آنها متن را به‌صورت خودهمبسته تولید نمی‌کنند.

پوشش علی چگونه آموزش را تسریع می‌کند؟

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

آیا پوشش علی در طول استنتاج نیز اعمال می‌شود؟

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

بررسی عمیق دیدگاه‌ها

معماران مدل

تمرکز بر ظرافت ریاضیاتی جداسازی موازی‌سازی آموزش از تولید خودهمبسته.

برای پژوهشگرانی که ترانسفورمر اصلی و معماری‌های بعدی GPT را طراحی کردند، پوشش علی به‌عنوان پیشرفت ریاضیاتی در نظر گرفته می‌شود که هوش مصنوعی مدرن را ممکن ساخت. با جایگزینی پردازش ترتیبی شبکه‌های عصبی بازگشتی با یک ماتریس پایین-مثلثی ساده، معماران توانستند از قدرت محاسباتی موازی پردازنده‌های گرافیکی مدرن به‌طور کامل استفاده کنند. این دیدگاه تأکید می‌کند که ماسک تنها یک فیلتر نیست، بلکه شالوده ساختاری است که به مدل اجازه می‌دهد تولید خودهمبسته را بیاموزد در حالی که میلیون‌ها توکن را به‌طور همزمان در طول پیش‌آموزش پردازش می‌کند.

مهندسان بهینه‌سازی استنتاج

تمرکز بر سربار محاسباتی مکانیزم توجه در طول تولید.

مهندسانی که وظیفه استقرار مدل‌های زبانی بزرگ در محیط‌های عملیاتی را بر عهده دارند، اغلب پوشش علی را از دریچه کارایی استنتاج می‌بینند. در حالی که ماسک امکان آموزش موازی را فراهم می‌کند، تولید ترتیبی دقیق را در طول استنتاج الزامی می‌سازد و یک گلوگاه پهنای باند حافظه به نام مشکل کش KV (KV Cache) ایجاد می‌کند. از این دیدگاه، ماسک علی یک محدودیت ضروری است که به راه‌حل‌های مهندسی پیچیده‌ای - مانند پیاده‌سازی‌های سفارشی ماسک چهاربعدی و رمزگشایی گمانه‌زنانه (Speculative Decoding) - نیاز دارد تا مدل‌ها را به‌طور کارآمد به میلیون‌ها کاربر ارائه دهد.

مدافعان انکودر دوطرفه

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

پژوهشگرانی که بر درک زبان طبیعی و یادگیری بازنمایی تمرکز دارند استدلال می‌کنند که پوشش علی ذاتاً درک مدل را محدود می‌کند. از آنجا که یک مدل فقط-دیکودر تنها می‌تواند به توکن‌های گذشته توجه کند، نمی‌تواند از انتهای یک جمله برای ابهام‌زدایی از یک کلمه در ابتدای آن استفاده کند. این گروه از معماری‌های انکودر مانند BERT حمایت می‌کنند که از یک ماسک همانی برای امکان توجه دوطرفه کامل استفاده می‌کنند و استدلال می‌کنند که اگرچه پوشش علی برای تولید متن ضروری است، اما برای وظایفی که به درک عمیق و کل‌نگرانه سند نیاز دارند، بهینه نیست.

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

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

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

منابع

پوشش منابع

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]تیم سردبیری کوهستانمدافعان انکودر دوطرفه

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

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

نظرات

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

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

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