چگونه رمزگذاری مثبت و ترانسفورماتورهای توجه چند سر؟

آن جملات تند و تیز را از مدرسه به خاطر می آورید که مجبور بودید از آن استفاده کنید؟ شما می توانید مجموعه ای از کلمات را به ترتیب تصادفی داشته باشید و وظیفه شما تنظیم مجدد آنها برای ایجاد یک جمله معنی دار است. حال تصور کنید که اگر مجبور بودید این کار را با یک کتاب کامل انجام دهید. این چالشی است که رمزگذاری موضعی هدف برای حل در مدل های ترانسفورماتور!
این قسمت دوم سری چند پست در ترانسفورماتورها است. در مورد قبلی ، ما نگاهی به مکانیسم خودآگاهی داشتیم. در این وبلاگ ، ما چگونگی کار رمزگذاری موقعیت را در بلوک خودآزمایی انجام می دهیم.
علاوه بر این ، حتی اگر مکانیسم خودآگاهی در ترانسفورماتورها به ضبط زمینه کلمات کمک می کند ، صرفاً دانستن متن نیز کافی نیست ، برخی از کلمات دارای معانی متعدد هستند ، برخی از جملات حاوی منابع مبهم هستند و برخی دیگر به وابستگی های دوربرد که سنتی است متکی هستند مدل های خودآزمایی برای گرفتن تلاش می کنند. این جایی است که توجه چند سر و وارد آن است.
بعداً در این وبلاگ ، ما همچنین می توانیم به چگونگی شیرجه زدن بپردازیم توجه چند سر به باز کردن پتانسیل واقعی ترانسفورماتورها کمک می کند.
مقدمه
به عنوان یک علاقه مندان به هوش مصنوعی که به قلمرو جذاب Generativeai می رود ، احتمالاً در بعضی مواقع تعجب کرده اید که چگونه مدلهای مدرن زبان بزرگ (LLM) مانند GPT معانی پیچیده ای را درک می کنند.
ما می دانیم که پاسخ در بلوک خود مورد توجه ترانسفورماتورها نهفته است ، که پایه ای را برای تمام مدلهای بزرگ زبان بزرگ (LLM) تشکیل می دهد GPT ، BERT و T5.
قبل از ترانسفورماتورها ، مدل های قبلی مانند RNN (شبکه های عصبی مکرر) و LSTM (شبکه های حافظه کوتاه مدت)، در تلاش برای حفظ زمینه بیش از وابستگی های دوربرد و از نظر محاسباتی ناکارآمد بودند ، زیرا آنها هر کلمه را به صورت متوالی پردازش می کردند. و در حالی که RNNS و LSTM ها تمام تلاش خود را کردند ، آنها نتوانستند پیچیدگی زبانها را کاملاً درک کنند.
ترانسفورماتورها با موازی سازی فرایند با استفاده از خود ، مشکلات را حل کردند ، اما انجام این کار یک مشکل منحصر به فرد و مهم را ایجاد کرد. اطلاعات مثبت در طول این فرآیند به دلیل فرآیند کاملاً مستقل برای هر کلمه از بین رفت.
بردارهای زمینه برای هر کلمه اکنون می توانند به راحتی تولید شوند اما آنها را لرزاند. این جایی است که رمزگذاری های موقعیتی بازی می شوند!
رمزگذاری های مثبت: سفارش به کلمات
روش 1: چرا فقط از شاخص های عدد صحیح استفاده نمی کنیم؟
به سادگی می توان با افزودن موقعیت خود در عبارت ، به جاسازی مربوطه ، موقعیت های کلمه را ضبط کرد.
به عنوان مثال: در جمله: “تام جری را تعقیب می کند“
اگر تعبیه کلمات کلمات “تام” ، “تعقیب” و “جری” به ترتیب ET ، EC و EJ هستند.
`” تام “→ Concat (et + 1)
“تعقیب” → Concat (EC + 2)
“جری” → Concat (EJ + 3)]`
جایی که ET ، EC و EJ می توانند به نظر برسند:
“Tom” → [-0.82802757 -0.96047069 -0.41985336 -0.62008336 0.58877143 -1.08165606 0.04304579 0.00271311]
“chases” → [ 1.08075773 -0.37670473 0.32323258 -1.0866603 -0.045058 1.16836346 -0.17799415 -0.58963795]
“Jerry” → [-1.20919747 -0.2386588 0.88268251 -0.74223663 -0.9577803 -0.50713604 -0.01114394 0.6699456 ]
اما این روش محدودیت های خاص خود را دارد:
1. عدد صحیح بی حد و حصر: ** مقادیر عدد صحیح بزرگ بر فضای تعبیه حاکم می شوند و باعث می شود که مدل تعادل بین معنی نشانه و اطلاعات موقعیتی را برای مدل دشوار کند.
** 2. طبیعت گسسته: موقعیت های عدد صحیح گسسته هستند و منجر به یادگیری ضعیف شیب برای مدلهای آموزشی می شوند.
3. موقعیت نسبی: موقعیت های عدد صحیح مسافت های نسبی بین نشانه ها را ضبط نمی کنند ، که برای درک زمینه بسیار مهم هستند.
روش 2: رمزگذاری موقعیتی سینوسی.
برای غلبه بر این محدودیت ها ، می توان از امواج سینوسی استفاده کرد ، همانطور که محدود ، مداوم است و می تواند برای یافتن موقعیت یابی نسبی مورد استفاده قرار گیرد.
در این روش ، شاخص های انتگرال کلمات از طریق یک تابع سینوسی منتقل می شوند تا رمزگذاری موقعیت جدید کلمات را پیدا کنند.
به عنوان مثال :: در جمله – “تام جری را تعقیب می کند“
`” تام “→ Concat (et + sin (1))
“تعقیب” → Concat (EC + SIN (2))
“جری” → Concat (ej + sin (3))]`
این روش کاملاً تمیز نیست ، در این روش دو مشکل وجود دارد:
مشکل 1: تناوبی عملکرد
یک مشکل بارز این است که عملکرد سینوسی نیز دوره ای است ، از این رو ، رمزگذاری های موقعیتی بعد از هر چرخه تکرار می شوند.
این امر به راحتی می تواند با نشان دادن موقعیت هر کلمه با ترکیبی از توابع متعدد سینوسی و کسین به جای یک موج سین واحد ، همه در انتهای تعبیه های مربوطه ضمیمه شود ، از این رو تناوب مدل را افزایش می دهد.
از این رو ، ما چندین جفت توابع سینوسی و کسین خواهیم داشت که هر جفت فرکانس کاهش می یابد. به خاطر داشته باشید که این عملکرد هنوز هم برای یک برد طولانی دوره ای خواهد بود.
فرمول تصمیم گیری در مورد تعداد جفت توابع سینوسی و کسین برای رمزگذاری موقعیتی عبارتند از:
کجا ،
پید موقعیت کلمه است ، من شاخص ابعاد است ، و d_model اندازه جاسازی (معمولاً 512) است.
ماهیت تناوبی سینوسی و کسین تضمین می کند که مدل می تواند بین موقعیت ها تمایز قائل شود ، در حالی که مسافت ها را معنی دار نگه می دارد.
مشکل 2: افزودن در مقابل رمزگذاری رمزگذاری موقعیتی
مشکل دیگر این است که اگر ما رمزگذاری های موقعیتی را به کلمه تعبیه کنیم ، ترتیب تعبیه ها تغییر می کند و در بلوک خودآگاهی ناسازگار می شود.
از این رو ، به جای اینکه رمزگذاری های موقعیتی را با تعبیه های کلمه ای در نظر بگیرند ، به تعبیه ها اضافه می شوند. این افزودنی تضمین می کند که هر کلمه معنای معنایی (از تعبیه) و اطلاعات موقعیتی (از رمزگذاری موقعیتی) را حفظ می کند. این به مدل کمک می کند تا هم زمینه و هم موقعیت کلمات را در یک جمله درک کند.
ماتریس همه رمزگذاری های موقعیتی ، چیزی شبیه به این است:
از این رو ، این همه مشکلات را در ضبط اطلاعات موقعیتی برای هر دنباله حل می کند.
تجسم زیر کلمه تعبیه شده را قبل و بعد از ضبط رمزگذاری های موقعیتی مقایسه می کند. این خیلی جالب به نظر می رسد!
با استفاده از مؤلفه رمزگذاری موقعیت ، ترانسفورماتورها اکنون می توانند ضمن حفظ روابط بین کلمات ، بین موقعیت ها تمایز قائل شوند.
اکنون می بینیم که چگونه توجه چند سر به باز کردن پتانسیل واقعی ترانسفورماتورها کمک می کند.
چرا خودآگاهی تک فرآیند کافی نخواهد بود
برای جملات پیچیده ، یک فرآیند خودداری واحد-که در آن هر کلمه دارای یک جاسازی متنی واحد است-به سادگی طیف کاملی از معنی را به خود جلب نمی کند. این امر به ویژه در مواردی که جملات مبهم هستند ، صادق است ، شامل معانی متعدد برای یک کلمه واحد است ، یا شامل وابستگی های دوربرد است.
مثالها:
- Polysemy: “بانک” می تواند به معنای یک موسسه مالی یا یک رودخانه باشد.
- ضمایر مبهم: “جان کتاب خود را به مارک داد.” – “او” می تواند به جان یا مارک اشاره کند.
- وابستگی های دوربرد: “سگی که گربه را تعقیب کرد فرار کرد.” – “سگ” و “فرار” بسیار از هم هستند اما مرتبط هستند.
- نفی: “من جان را در پارک ندیدم.” – نفی معنی را می چرخاند.
- معانی ضمنی: “او مطالعه نکرد ، بنابراین او شکست خورد.” -رابطه علت و معلولی بی تاب اما درک شده است.
توجه چند سر چگونه کار می کند: ضبط چندین زمینه
برای حل این مسئله ، ترانسفورماتورها برای هر کلمه از بلوک های مختلف خود استفاده می کنند-هر کدام دارای کلید ، پرس و جو و ارزش خود هستند-از این رو زمینه های مختلف را در همان مجموعه کلمات ضبط می کنند و به آن اجازه می دهند تا پدیده های زبانی پیچیده ای را به طور مؤثر اداره کند.
چگونه می چرخد:
مرحله 1: دنباله ورودی با تعبیه Word از سفارش 1×51 (در مقاله اصلی) شروع می شود که زیر مجموعه های تعبیه 512 بعدی برای هر کلمه را نشان می دهد.
مرحله 2: ترانسفورماتورها به جای یک مورد از 8 سر توجه استفاده می کنند. این بدان معنی است که هر سر وکتور زمینه خود را با استفاده از ماتریس های وزنی (WQ ، WK و WV) از اندازه های 512×64 ایجاد می کند. از این رو ایجاد 24 ماتریس وزن کل.
مرحله 3: ماتریس (q ، k ، v) سفارش 1*512 برای هر کلمه ساخته شده است ، که باعث می شود تعبیه ها به بردارهای متن تبدیل شوند که منعکس کننده روابط مختلف بین کلمات هستند.
مرحله 4: هر کلمه از طریق بلوک های خودآگاهی منتقل می شود ، و بردارهای متن به هم پیوسته و از طریق ماتریس تحول خطی (به نام W₀ ماتریس) سفارش (512×512) عبور می کنند تا اهمیت آنها را رتبه بندی کنند.
خروجی نهایی: خروجی نهایی یک ماتریس NX512 است که نشان دهنده زمینه کلمات N در دنباله است.
برای تجسم سرهای توجه و چگونگی حضور هر کلمه به دیگران ، می توان از ابزاری مانند Bertviz استفاده کرد و نشان می دهد که چگونه این مدل بر جنبه های مختلف جمله تمرکز دارد.
درک توجه چند سر و رمزگذاری موقعیت همان چیزی است که پایه و اساس محکمی برای درک ترانسفورماتورها در تمام توان خود ایجاد می کند.
این که آیا این برای ترجمه _machine ، توسعه chatbot یا تولید محتوا است ، درک این مکانیسم ها – کلید مهار پتانسیل واقعی هوش مصنوعی مدرن است. ترانسفورماتورها کل زمینه NLP را دوباره تعریف کرده اند و همچنان که ما به بررسی توانایی های آنها ادامه می دهیم ، پیشرفت های بیشتری را در نحوه درک و تولید دستگاه ها مشاهده خواهیم کرد.
اگر از این پست لذت بردید ، احساس راحتی کنید که آن را به اشتراک بگذارید و مرا برای شیرجه های عمیق تر در هوش مصنوعی و یادگیری ماشین دنبال کنید!