چگونه “این” به معنای “گربه” آموخته است – سفری از طریق توجه در ترانسفورماتورها


نویسنده (ها): Ashwin Biju Alikkal

در ابتدا منتشر شده در به سمت هوش مصنوعیبشر

چگونه

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

این کنجکاوی من را به سمت تاریخ جذاب مدل های زبان سوق داد. در این وبلاگ ، شما را در یک سفر سفر کوتاه مدت می گذرانم. از روزهای ابتدایی کیسه های کلمه و Word2Vec ، تا لحظه ای توجه همه چیز را تغییر داد. در طول راه ، ما ایده اصلی را در پشت مورد توجه قرار خواهیم داد ، یک مثال ریاضی ساده را طی خواهیم کرد.

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

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

  • تاریخچه مختصری از توجه
  • توجه در ترانسفورماتورها چیست؟
  • توضیح ریاضی توجه
  • مثال ریاضی برای موارد فوق
  • چرا توجه در هوش مصنوعی مدرن اهمیت دارد
  • پایان
  • منبع

تاریخچه مختصری از توجه

در اوایل مدل سازی زبان ، ما با متن مانند یک ساده رفتار کردیم کیف کلمات جایی که ما وقایع کلمه را شمردیم و ترتیب یا زمینه را نادیده گرفتیم. در حالی که این کیسه رویکرد به مدلها کمک کرد تا “خواندن” را شروع کنند ، این نمی تواند تفاوت بین “مرد نیش سگ” و “سگ مرد نیش” را بیان کند. ما باید درک بیشتری از دستور زبان و زمینه را به مدل ارائه دهیم.

سپس آمد Word2Vec ، دستیابی به موفقیت که به هر کلمه بازنمایی بردار متراکم بر اساس کلمات اطراف آن داده است. ناگهان کلماتی مانند پادشاه وت ملکه یا پاریس وت فرانسه شروع به زندگی در نزدیکی یکدیگر در فضای بردار کرد. اما حتی این یک نقص بزرگ داشت: در هر زمینه همان معنای را به یک کلمه اختصاص داد. آیا منظور شما یک بود ساحل رودخانه یا بانک پول، word2vec درمان می کند بانک همان

این زمانی است که توجه بازی را تغییر داد. مکانیسم های توجه به جای اینکه به هر کلمه معنی ثابت بدهند ، به مدل ها اجازه می دهد تا به صورت پویا روی قسمتهای مرتبط با یک جمله متمرکز شوند. و از این مفهوم ، معماری ترانسفورماتور متولد شد ، که در دوران GPTS ، Berts و فراتر از آن به پایگاهی تبدیل شد.

نگاهی به تاریخ زبان AI (منبع: https://www.oreilly.com/library/view/hands-on-large-language/9781098150952/ch01.html)

توجه در ترانسفورماتورها چیست؟

خواندن جمله زیر:

“حیوان از خیابان عبور نکرد زیرا خیلی خسته بود.”

حالا از خود بپرسید: چه می کند “آن” مراجعه به؟ مغز شما احتمالاً زوم شده است “حیوان” و بقیه را هنگام فهمیدن نادیده گرفت.

این دقیقاً همان چیزی است که توجه در یک مدل ترانسفورماتور انجام می شود. این به مدل کمک می کند تا تصمیم بگیرد کدام کلمات باید روی آن تمرکز کنند در حین پردازش هر کلمه.

از نظر فنی ، توجه مکانیسمی است که به مدل اجازه می دهد تا سطوح مختلف اهمیت (وزن) را به کلمات مختلف در یک جمله اختصاص دهد. بنابراین ، هنگام تلاش برای درک یا تولید یک کلمه ، مدل فقط با هر کلمه دیگری به طور مساوی رفتار نمی کند – می آموزد که به مواردی که بیشتر در آن زمینه اهمیت دارند ، “توجه” کنید. (مانند اینجا در این مورد ، “آن” به “حیوان” اشاره دارد)

به جای خواندن از چپ به راست یا کلمه به کلمه مانند مدل های قدیمی تر ، از ترانسفورماتورها استفاده می کنند خودداری نگاه کردن همه کلمات یکباره و روابط آنها را درک کنید. این همان چیزی است که آنها را بسیار قدرتمند می کند – و چرا آنها دنیای مدل های زبان را به دست گرفته اند.

ترانسفورماتور با استفاده از بلوک های خودآزمایی و رمزگذار رمزگذار “Llamas را دوست دارم” به هلندی ها ترجمه می کند (منبع: https://www.oreilly.com/library/view/hands-on-large-language/9781098150952/ch01.html)

به جای خواندن از چپ به راست یا کلمه به کلمه مانند مدل های قدیمی تر ، از ترانسفورماتورها استفاده می کنند خودداری نگاه کردن همه کلمات یکباره و روابط آنها را درک کنید.

(توجه: یک مکانیسم خودآگاهی در رمزگشایی نیز وجود دارد)

دو جنبه اصلی در مکانیسم توجه وجود دارد:

  1. اهمیت به دست آوردن: اول ، مدل محاسبه می کند هر کلمه چقدر مرتبط است به موردی که در حال حاضر در حال پردازش است. به عنوان مثال ، در جمله “گربه روی حصیر نشسته بود ،” هنگام پیش بینی کلمه “مات ،” مدل ممکن است پیدا کند “شنبه” وت “روشن” مرتبط تر از “”بشر این ارتباط با استفاده از یک عملکرد ریاضی شامل چیزی به نام نمایش داده شدبا کلیدیوت ارزش ها (ریاضیات در بخش بعدی در حال آمدن! آماده باشید.)
  2. ترکیب اطلاعات: هنگامی که می داند به چه چیزی توجه می کند ، مدل آن کلمات مربوطه را در یک نمایش جدید و معنی دار ترکیب می کند. این مانند ساختن یک اسموتی است که در آن فقط مواد مناسب (در این مورد ، کلمات) را بر اساس میزان اهمیت آنها برای زمینه فعلی ترکیب می کنید.

اما اینجا جایی است که همه چیز خنک می شود!

برای اینکه مدل به یکباره بر روی الگوهای مختلف در جمله متمرکز شود ، این فرایند توجه چندین بار به صورت موازی اجرا می شود. به هر اجرا سر توجه گفته می شود. بنابراین ، یک سر ممکن است روی جفت موضوعات-فعل متمرکز شود (“گربه” -> “شنبه”) ، دیگری در زمینه مکانی (“on” -> “mat”) ، و یکی دیگر از موارد مربوط به مقاله یا پیش نویس.

همه این سرها با هم کار می کنند تا به مدل درک بسیار انعطاف پذیر و انعطاف پذیر از ورودی ارائه دهند.

اما پس از اتمام مدل “توجه” چه اتفاقی می افتد؟ اطلاعات به روز شده را از طریق شبکه عصبی تغذیه ایبشر این قسمت مانند مرکز تفکر و حافظه مدل است. این به الگوهای فروشگاه مدل که در طول آموزش دیده است کمک می کند و آنها را به ورودی های جدید تعمیم می دهد.

توضیح ریاضی توجه

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

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

برای انجام این کار ، مکانیسم توجه در این زمینه وجود دارد:

  • بردار برای نشانه فعلی
  • بردارها برای همه نشانه های قبلی

هدف؟ برای تولید بردار جدید برای نشانه فعلی که زمینه مفیدی را از دیگران در بر می گیرد.

اکنون ، قبل از اینکه ترانسفورماتور بتواند توجه را محاسبه کند ، باید بردارهای ورودی را به سه شکل مختلف تبدیل کند – پرس و جو ، کلیدها و مقادیر. اما چگونه؟ این تحول با استفاده از سه ماتریس طرح ریزی آموخته اتفاق می افتد:

W_Q → ماتریس طرح ریزی پرس و جو

W_K → ماتریس پیش بینی کلید

W_V → ماتریس پیش بینی ارزش

هر یک از این ماتریس ها در مرحله یادگیری مدل آموزش داده می شوند و شکل یکسان دارند: اگر بردار ورودی از اندازه می گویند ، 512 ، و ما می خواهیم آن را به اندازه کوچکتر بگوییم ، 64 ، سپس W_Q ، W_K و W_V از شکل هستند (512 x 64).

بنابراین برای هر بردار توکن ورودی x، ما محاسبه می کنیم:

س (نمایش داده شد) = x * w_q: آنچه را که نشانه فعلی می خواهد “بداند” را ضبط می کند

k (کلیدها) = x * w_k: رمزگذاری آنچه هر نشانه باید “پیشنهاد” باشد

v (مقادیر) = x * w_v: اگر مربوط به آنها باشد ، اطلاعات واقعی را که از نشانه ها بیرون می آیند ، نگه می دارد

از این رو ، موارد فوق نسخه های جدید نشانه های ورودی را که در روند توجه تنظیم شده اند ، به ما می دهد. اکنون ما دو مرحله متفاوت داریم (به یاد داشته باشید که ارتباط و ترکیب اطلاعات را در موارد فوق به یاد داشته باشید. ما از آن استفاده خواهیم کرد)

  1. امتیاز دهی: مرحله امتیاز دهی ارتباط با ضرب بردار پرس و جو نسخه فعلی با ماتریس کلیدها (K) انجام می شود. این یک نمره را نشان می دهد که نشان می دهد هر نشانه قبلی چقدر مرتبط است. با عبور از معادله SoftMax این نمرات را عادی می کند تا آنها تا 1 جمع شوند.
  2. ترکیب اطلاعات: اکنون که نمرات ارتباطی داریم ، بردار مقدار مرتبط با هر نشانه را با نمره این نشانه ضرب می کنیم. جمع بندی این بردارهای حاصل ، خروجی این مرحله توجه را تولید می کند.

مثال ریاضی برای موارد فوق

حال بیایید نمونه ای را برای موارد فوق بررسی کنیم. ورودی را در نظر بگیرید ، “سارا گربه را تغذیه کرد زیرا”.

(توجه: ما از یک لایه خودت یک سر با اندازه = 4 استفاده می کنیم تا هر عدد به راحتی دنبال شود. به طور معمول ، ابعاد مدل 768 است.

تعبیه شده

هر نشانه در جمله توسط یک بردار نشان داده شده است. این بردارها خوانده می شوند تعبیه شده و فرم عددی است که در آن مدل می تواند بر روی کلمات درک و کار کند.

(لطفاً توجه داشته باشید که بردارهای فوق از نظر مصنوعی کوچک هستند (4 بعد) برای سادگی – اما در مدل های واقعی ، هر کلمه ممکن است توسط 300،768 و غیره نشان داده شود.

در ترانسفورماتورها ، W_Q ، W_K و W_V ماتریس آموخته شده اند. آنها در طول آموزش بهینه سازی می شوند تا به مدل کمک کند تا روابط بین نشانه ها را بیاموزد.

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

اکنون ، برای هر نشانه ای که x_i را تعبیه می کند ،

q_i = x_i * w_q

k_i = x_i* w_k

v_i = x_i*w_v

و در آخر می توانیم ماتریس را برای نمایش داده شد (Q) ، کلیدها (K) و مقادیر (V) ایجاد کنیم.

اکنون قسمت جالبی می آید که ما با استفاده از فرمول زیر نمرات خام را محاسبه خواهیم کرد:

حال ، اگر در بالا ببینیم ، K4 ، یعنی “گربه” بزرگترین امتیاز را کسب می کند. ما امیدواریم که این مدل “آن را” به “گربه” برطرف کند.

اکنون این بردار 4 بعدی بازنمایی جدید “آن” پس از توجه است. از آنجا که Alpha_3 بزرگترین بود ، “گربه” بیشتر کمک می کند ، بنابراین “IT” اکنون اطلاعات مربوط به “گربه” را حمل می کند.

چرا توجه در هوش مصنوعی مدرن اهمیت دارد

از زمان معرفی معماری ترانسفورماتور ، محققان دائماً سعی در بهبود آن داشتند و حدس می زنند که بیشتر توجه آنها به کجا می رود؟ در لایه توجه خود این به این دلیل است که فقط قلب مدل نیست ، بلکه بیشترین چیزی را دارد محاسباتی سنگین قسمت

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

پایان

وحشی است که فکر کنید توانایی ماشین آلات در تمرکز – چیزی بسیار انسانی که چگونه آنها می خوانند ، ترجمه می کنند ، می نویسند و حتی ایجاد هنر می کنند. توجه فقط یک مفهوم فنی نیست ؛ این جرقه ای است که مدل هایی مانند GPT و BERT را امکان پذیر کرده است.

توجه یکی از مهمترین پیشرفت ها در هوش مصنوعی مدرن است. این مدل به مدل ها این امکان را می داد تا روی آنچه در یک جمله مهم است تمرکز کنند ، و این باعث می شود درک و تولید زبان بسیار دقیق تر شود.

اگر در مورد ترانسفورماتورها یاد می گیرید یا با مدل های زبان کار می کنید ، توصیه من این است: وقت بگذارید تا واقعاً توجه را درک کنید. این هسته اصلی همه چیز است – از GPT تا برت گرفته تا جدیدترین ابزارهای هوش مصنوعی. هنگامی که نحوه عملکرد آن را دریافت کردید ، بقیه معماری بسیار ساده تر می شود.

منبع

یک تشکر بزرگ از شما جی آلامار وت مارتن گروتندورست برای توضیحات درخشان آنها در دست مدل های بزرگ زبان، که به من کمک کرد تا این مفاهیم را درک و ساده کنم.

همچنین ، تشکر ویژه ای از مقاله افسانه ای “توجه همه شما نیاز دارید” توسط واسوانی و همکاران ، که همه آن را آغاز کردند. اگر هنوز آن را نخوانده اید ، ارزش بررسی دارد!

منتشر شده از طریق به سمت هوش مصنوعی



منبع: https://towardsai.net/p/artificial-intelligence/how-it-learned-to-mean-cat-a-journey-through-attention-in-transformers