T5 (مدل زبان)

خانواده ***'  که به معنی ''ترنسفومر انتقال متن-به-متن***** است، شامل مجموعه‌ای از [[مدل زبانی بزرگ|مدل‌های زبان بزرگ]] است که توسط [[گوگل ای‌آی|هوش مصنوعی گوگل]] در سال ۲۰۱۹ منتشر شد.. این مدل‌ها بر پایه [[توجه، تنها چیزی است که نیاز دارید|معماری ترنسفورمر]] طراحی شده‌اند و ساختاری [[ترنسفورمر (یادگیری عمیق)|رمزگذار-رمزگشا]] دارند. در این ساختار، بخش رمزگذار متن ورودی را تحلیل کرده و پردازش می‌کند، در حالی که بخش رمزگشا وظیفه تولید متن خروجی را بر عهده دارد. این طراحی برای حل طیف گسترده‌ای از مسائل [[پردازش زبان‌های طبیعی|پردازش زبان طبیعی]]  با عملکرد بالا توسعه یافته است.

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

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

== **آموزش دادن** ==
مدل‌های T5 ابتدا بر روی مجموعه داده [[کامن کرال#پیکره متنی خزیده شده و تمیز‌شده عظیم|پیکره متنی خزیده شده و تمیز‌شده عظیم]] ، شامل متن و کد جمع‌آوری‌شده از اینترنت، پیش‌آموزش داده شدند. مدل در این فرایند به توانایی درک زبان عمومی و تولید متن را به  دست پیدا می‌کند. پس از پیش‌آموزش، مدل‌ها قابل تنظیم برای وظایف خاص هستند، به طوری که می‌توانند دانش آموخته‌شده را برای عملکرد بهتر در برنامه‌های خاص مانند ترجمه، خلاصه‌سازی یا تولید متن تطبیق دهند. این انعطاف‌پذیری، مدل‌های T5 را برای کاربردهای متنوعی مناسب می‌سازد.

مدل‌های T5 برای بسیاری از وظایف پردازش زبان طبیعی در قالبی ساده و یکپارچه طراحی شده‌اند. در این روش، هر وظیفه به صورت <متن ورودی> -> <متن خروجی> فرمول‌بندی شده است. این رویکرد باعث شده تا مدل بتواند با استفاده از یک ساختار مشترک مسائل متنوعی را، از جمله ترجمه، خلاصه‌سازی، و تولید پاسخ برای سوالات حل کند. این قالب متن به متن، قابلیت استفاده و آموزش مدل را بسیار ساده‌تر کرده است.
[[پرونده:T5-finetune-summarization.svg|بندانگشتی|یک T5 را می‌توان برای  کار خلاصه‌سازی به خوبی تنظیم کرد.]]
چند نمونه از کاربردها عبارتند از:

* بازیابی متن خراب: <code>بابت <X> در مهمانی هفته <Y> از شما ممنونم -> <X> پیش <Y> دعوت <Z></code>، که در آن <code><Z></code> به معنای "پایان خروجی" است، و <code><X></code> و <code><Y></code> نشان دهنده جاهای خالی هستند که در گزارش اصلی "سنتینل" نامیده می‌شوند.

* ترجمه: <code>عبارت انگلیسی رو به آلمانی ترجمه کن: That is good.</code> و خروجی خواهد بود <code>Das ist gut.</code>

* قضاوت در مورد مقبولیت دستوری یک جمله (جمله [[Corpus of Linguistic Acceptability|CoLA]]): <code>The course is jumping well.</code>  و نتیجه می‌دهد <code>not acceptable</code>

[[پرونده:T5_encoder-decoder_structure.svg|بندانگشتی|ساختار رمزگذار-رمزگشا در T5، که ساختار توجه را نیز نشان می‌دهد. در خود توجهی رمزگذار (مربع پایین)، همه نشانه‌های ورودی به یکدیگر توجه می‌کنند. در توجه متقابل رمزگذار-رمزگشا (مستطیل بالایی)، هر نشانه هدف به تمام نشانه‌های ورودی توجه می‌کند. در خودتوجهی رمزگشا (مثلث بالایی)، هر نشانه هدف فقط به نشانه‌های هدف فعلی و گذشته توجه می‌کند.]]

== ساختار ==
مجموعه T5 شامل چندین مدل با اندازه‌ها و قابلیت‌های متفاوت است. همه آنها [[ترنسفورمر (یادگیری عمیق)|ترانسفورماتورهای رمزگذار-رمزگشا]] هستند که در آن رمزگذار متن ورودی را پردازش می‌کند و رمزگشا متن خروجی را تولید می‌کند.

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

در جدول فوق،

* <math>n_{\text{layer}}</math> : تعداد لایه‌ها در رمزگذار. همچنین تعداد لایه‌ها در رسیور. آنها همیشه تعداد لایه‌های یکسانی دارند.
* <math>n_{\text{head}}</math> : تعداد سرهای توجه در هر بلوک توجه.
* <math>d_{\text{model}}</math> : ابعاد بردارهای تعبیه شده.
* <math>d_{\text{ff}}</math> : ابعاد شبکه پیشخور در هر لایه رمزگذار و رمزگشا.
* **d_{\text{kv}}** : ابعاد بردارهای کلید و ارزش مورد استفاده در مکانیسم خودتوجهی.

توجه داشته باشید که بر خلاف ترنسفورهای معمولی، مدل‌های 3B و 11B نیاز به رعایت <math>d_{\text{model}} = d_{\text{kv}} n_{\text{head}}</math> ندارندو

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

برای همه آزمایش‌ها، آنها از توکنایزر وردپیس**** با اندازه واژگان ۳۲۰۰۰ استفاده کردند. توکنایزر در ورودی و خروجی هر مدل مشترک است. این توکنایزر بر روی ترکیبی از داده‌های [[زبان انگلیسی|انگلیسی]] ، [[زبان آلمانی|آلمانی]] ، [[زبان فرانسوی|فرانسوی]] و [[زبان رومانیایی|رومانیایی]] منشعب شده از مجموعه داده‌های C4 با نسبت ۱۰:۱:۱:۱ آموزش داده شد.

== انواع ==
مدل‌های متنوعی از معماری T5 منشعب شده‌اند که برای متمایز کردن آنها از قراردادهای نامگذاری غیر استاندارد استفاده شد. در این بخش سعی شده است موارد اصلی جمع آوری شود. تعدا بسیار زیادی از انواع مدل‌های منتشر شده توسط [[گوگل برین]] در مخزن [[گیت‌هاب]] به T5X مربوط می‌شود.

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

* مدل‌های اصلی (۲۰۱۹): ''T5'' کوچک، پایه، بزرگ، 3B، و 11B.
* ''نسخه‌های بهبود یافته سری اصلی T5 1.1:'' کوچک، پایه، بزرگ، XL، و XXL. این‌ها پارامترهای تقریباً برابری دارند. ولی در [[تابع فعالسازی|تابع فعال‌سازی]] آنها به جای ReLU، از GEGLU  استفاده شده است. مدل‌های 3B و 11B به "XL" و "XXL" تغییر یافتند و ساختار آنها تغییر کرد: 



*''T5 سازگار با LM'' (۲۰۲۱): مجموعه‌ای از مدل‌ها (از کوچک تا XXL) که از پست‌های بازرسی سری ''T5'' شروع شدند، اما بیشتر روی 100B توکن اضافی از C4 آموزش دیدند.
*سوئیچ ترانسفورمر (۲۰۲۱): یک نوع [[ترکیب متخصصان|ترکیبی از متخصصان]] T5، با جایگزینی لایه‌های پیش‌خور در بلوک‌های رمزگذار و رمزگشا با مخلوطی از لایه‌های پیش‌خور خبره.
*''T0'' 3B, 11B (۲۰۲۱): مجموعه‌ای از مدل‌هایی که از پست‌های بازرسی ''T5 سازگار با LM'' شروع می‌شوند و برای انجام وظایف فقط بر اساس دستور کار ( [[یادگیری بدون نمونه|نفر شات]] ) آموزش داده می‌شوند. ورودی‌های مختلف در این سری از داده‌های تنظیم دقیق متفاوتی استفاده می‌کنند.
*''ByT5'' (۲۰۲۱): نسخه سطح بایت T5، آموزش داده شده بر روی مجموعه داده mC4 (چند زبانه C4). بر روی متن کدگذاری شده به صورت [[یوتی‌اف-۸|UTF-8]] بایت، بدون توکنایزر عمل می‌کند.
*''Flan-T5-XL'' (۲۰۲۲): مدلی که با یک ایست بازرسی ''T5 XL'' شروع شد و سپس بر روی مجموعه داده FLAN [[مدل زبانی بزرگ|تنظیم شد]] .
*''T5X'' (۲۰۲۲): یک پیاده‌سازی مجدد مبتنی بر [[Google JAX|JAX]] از پایگاه کد اصلی ''T5'' . مدل **نیست*' . پایگاه کد اصلی T5 در [[تنسورفلو|TensorFlow]] با MeshTF پیاده سازی شد.
**UL2* 20B (۲۰۲۲): مدلی با معماری مشابه سری *T5* ، اما تا 20B مقیاس‌بندی شده و با هدف "مخلوط زدا" در C4 آموزش دیده است. این بر روی یک خوشه TPU به طور تصادفی آموزش داده شد، زمانی که یک دوره آموزشی به طور تصادفی به مدت یک ماه در حال اجرا ماند.
**Flan-UL2* 20B (۲۰۲۲): [[مدل زبانی بزرگ|دستورالعمل]] *UL2* 20B بر روی مجموعه داده FLAN تنظیم شده است.
**Pile-T5* (2024): دارای همان معماری *T5* است، با این تفاوت که از توکنایزر [[لاما (مدل زبانی)|لاما]]  استفاده می‌کند. در [[The Pile (dataset)|The Pile]] آموزش داده شد. این در اندازه‌های پایه، بزرگ، XL، XXL عرضه شد.

== کاربردها ==
با توجه به انی که مدل T5 یک مدل رمزگذار-رمزگشا است، این امکان وجود دارد که از آن در کاربردهای پیگیری دستورالعمل استفاده شود. رمزگذار در این مدل دستورالعمل را رمزگذاری می‌کند و رمزگشا به صورت خودکار پاسخ را تولید می‌کند.

رمزگذار T5 را می‌توان به عنوان رمزگذار متن استفاده کرد، مانند [[برت (مدل زبانی)|برت]]. این یک متن را به دنباله ای از بردارهای اعداد واقعی رمزگذاری می‌کند، که می‌تواند برای برنامه‌های کاربردی پایین دست استفاده شود. برای مثال، Google Imagen  از *T5-XXL* به عنوان رمزگذار متن استفاده می‌کند، و بردارهای متن کدگذاری‌شده به عنوان شرطی‌سازی در [[مدل‌‌های انتشاری|مدل انتشار]] استفاده می‌شوند. به عنوان مثال دیگر، مدل انتشار AuraFlow  از *Pile-T5-XL'' استفاده می‌کند.

## یادداشت‌ها


## مراجع
رده:نرم‌افزارهای گوگل
رده:مدل‌های زبانی بزرگ
رده:نرم‌افزارهایی که از پروانه آپاچی استفاده می‌کنند


## نکات


رده:نرم‌افزارهای ۲۰۱۹ (میلادی)
رده:هوش مصنوعی متن‌باز