موضوع مقاله: ترکیب متخصصان | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # ترکیب متخصصان | مقدمه: ترکیب متخصصان یک تکنیک یادگیری ماشینی است که در آن از چندین شبکه متخصص (یادگیرنده) به منظور تقسیم‌بندی یک فضای مسئله، به مناطق همگن استفاده می شود. | ## بخش 1: ترکیب متخصصان | تفاوت آن با تکنیک‌های یادگیری گروهی در این است که در MoE بر روی هر ورودی، تنها یک یا چند مدل متخصص اجرا می‌شوند، برخلاف تکنیک‌های گروهی، که همه مدل‌ها بر روی همه ورودی‌ها اجرا می‌شوند. متخصصان را داریم، که همه آنها ورودی یکسان را دریافت می کنند، و خروجی‌های را تولید می‌کند. یک تابع وزن‌دهی واحد (با نام مستعار تابع دروازه) وجود دارد، که را به عنوان ورودی دریافت کرده و بردار خروجی‌های را تولید می کند. ترکیب متخصصان با داشتن ورودی ، با توجه به وزن های ، مقادیر را تجمیع کرده و یک خروجی مرکب تولید می کند. به منظور به حداقل رساندن تابع هزینه، هم متخصصان و هم تابع وزن‌دهی با استفاده از روش گرادیان کاهشی، آموزش داده می‌شوند. در انتخاب تابع وزن‌دهی و تابع هزینه که شکل‌بندی دقیق متخصصان را تعیین کند، محدودیتی وجود ندارد. نویسندگان مقاله در انتشار اولیه آن، مسئله طبقه‌بندی واج‌ها در سیگنال گفتاری 6 سخنران مختلف ژاپنی، شامل 2 زن و 4 مرد، را حل کردند. آنها 6 متخصص را آموزش دادند که هر کدام یک «شبکه عصبی با تأخیر زمانی» (در اصل یک شبکه کانولوشن چندلایه بر روی طیف‌نگار mel ) بودند. سپس دریافتند که ترکیب متخصصان به‌دست آمده، 5 متخصص را به 5 سخنران اختصاص داده است، اما گوینده ششم (مرد) متخصص اختصاصی ندارد. در عوض صدای او توسط ترکیب خطی متخصصان مرتبط با 3 سخنران مرد دیگر طبقه‌بندی شده است. ترکیب‌های تطبیقی از متخصصان محلی ترکیب تطبیقی متخصصان محلی از یک مدل ترکیبی گاوسی استفاده می کند. به بیان دقیق‌تر، متخصص -ام پیش‌بینی می‌کند که خروجی است، به طوری که یک پارامتر آموزش‌پذیر است. گرادیان برای متخصص -ام به قرار زیر خواهد بود:و گرادیان، برای تابع وزنی به قرار زیر است:تابع وزن‌دهی برای هر جفت ورودی-خروجی تغییر می‌کند تا وزن همه متخصصانی که بالاتر از میانگین کار کرده‌اند افزایش یابد و وزن همه متخصصانی که کمتر از میانگین کار کرده‌اند کاهش یابد. با این کار تابع وزن‌دهی تشویق می‌شود تا یاد بگیرد فقط متخصصانی را انتخاب کند که پیش‌بینی‌های درست را برای هر ورودی انجام می‌دهند. به بیان دیگر می‌توان گفت: از متخصصانی که در گذشته، متخصصان خوبی برای مشورت به نظر می‌رسیدند، خواسته می‌شود تا بر روی داده ها آموزش ببینند. اثر ترکیبی بدین گونه است که متخصصان تبهر پیدا می‌کنند: فرض کنید دو متخصص هر دو در پیش‌بینی یک ورودی خاص خوب هستند، اما یکی کمی بهتر است، در این صورت تابع وزن‌دهی در نهایت یاد می‌گیرد که به نفع آن یکی که بهتر بوده تمایل پیدا کند. پس از این اتفاق، متخصص ضعیف‌تر قادر به دریافت سیگنال گرادیان بالاتر نیست و در پیش‌بینی ورودی بدتر و بدتر می‌شود. برعکس، متخصص ضعیف‌تر می‌تواند در پیش‌بینی دیگر انواع ورودی‌ بهتر عمل کند و به طور فزاینده‌ای به منطقه دیگری کشیده شود. این روش یک اثر بازخوردی مثبت دارد و باعث می‌شود هر متخصص از بقیه جدا شود و به تنهایی یک منطقه محلی را تحت نظر بگیرد. یک MoE سلسله مراتبی 2 سطحی نوعی به عنوان مثال، یک تابع دروازه ای مرتبه اول ، توابع دروازه‌ای مرتبه دوم و متخصصان را شامل می‌شود. انواع ترکیب متخصصان، که شبیه به مدل ترکیبی گاوسی است، می‌تواند مشابه به روش الگوریتم حداکثرسازی انتظارات آموزش ببیند، که همانند مدل‌های مخلوط گاوسی است. به عنوان یک مثال خاص، در مرحله انتظار، "بار" (که برای توضیح هر نقطه داده به کار می رود) بین متخصصان توزیع می‌شود. | ## بخش 2: ترکیب متخصصان | متخصصان، آموزش می‌بینند تا توضیحاتی را بهبود بخشند، که برای آنها بار زیادی دریافت کرده‌اند دروازه‌ها، برای بهبود سهمیه‌بندی و توزیع "بار" آموزش می‌بیند. با این روش تابع درست‌نمایی لگاریتمی سریعتر از روش گرادیان صعودی می‌تواند همگرا شود. به علاوه، استفاده از توزیع های گاوسی و استفاده از خانواده توابع نمایی پیشنهاد شده است. به جای پیاده‌سازی مجموع وزنی از همه متخصصان، در MoE سخت، تنها از متخصص با بالاترین رتبه استفاده می‌شود. به بیان دیگر، هر متخصص یاد می‌گیرد که رگرسیون خطی را با استفاده از روش تخمین عدم‌قطعیت قابل‌یادگیری انجام دهد. برای طبقه‌بندی باینری نیز، متخصص رگرسیون لجستیک توصیه شده است بابه طوری که و پارامترهای قابل یادگیری هستند. با تعمیم این فرمول می‌توان به طبقه‌بندی چندگروهی دست یافت، که با استفاده از متخصصان رگرسیون لجستیک چند جمله‌ای انجام می‌شود. یادگیری عمیق در بخش قبلی MoE توصیف شد و باید توجه کرد که روش‌های بالا پیش از عصر یادگیری عمیق مورد استفاده قرار می گرفت. در دوره پیش از یادگیری عمیق، MoE کاربردهای دیگری از جمله، در پیاده‌سازی مدل‌های بسیار بزرگتر پیدا کرد. یعنی به جای استفاده از کل مدل، فقط بخش‌هایی از مدل استفاده می‌شود، که متناسب با ورودی انتخاب می‌شوند. در نتیجه، برای هر پرس و جو، تنها یک زیرمجموعه کوچک از متخصصان باید پرس و جو شود. ولی در MoE یادگیری عمیق، خروجی نهایی در هر پرس و جو می‌تواند تنها شامل خروجی‌های زیر مجموعه ای از کل متخصصان باشد. در نتیجه، انتخاب کلیدی طراحی در این MoE معطوف به به مسیریابی می‌شود: مسیریابی و جهت‌دهی ورودی ها (پرس و جوها) به بهترین متخصصان چگونه انجام بپذیرد‌. مشابه پیشنهادهای ارائه شده در بالا برای MoE سخت، به منظور دستیابی به هدف پراکندگی، آنها به جای استفاده از جمع وزنی همه متخصصان، از جمع وزنی k متخصص برتر استفاده می‌کنند. تابعی است که ورودی های به k واحد برتر را دست نخورده و یکسان نگه می‌دارد، ولی همه ورودی‌های دیگر را به تغییر می‌دهد. نویسندگان مقاله برای ارائه نتایج خود، با استفاده از لایه‌های متناوب MoE و LSTM، مجموعه‌ای از مدل‌ها را برای کاربرد به عنوان ترجمه ماشینی آموزش دادند و نتیجه را با مدل‌های عمیق LSTM مقایسه کردند. جدول 3 نشان می دهد که مدل های MoE علیرغم داشتن 30 برابر پارامترهای بیشتر، از زمان محاسبه استنتاج کمتری استفاده می کنند. Vanilla MoE معمولاً مشکلاتی در تعادل بار دارد: با برخی از متخصصان اغلب مشورت می شود، در حالی که متخصصان دیگر به ندرت یا اصلاً مشورت نمی کنند. برای تشویق گیت به انتخاب هر متخصص با فرکانس برابر (تعادل بار مناسب) در هر دسته، هر لایه MoE دارای دو تابع تلفات کمکی است. به طور خاص، اجازه دهید تعداد متخصصان باشد، سپس برای یک دسته معین از پرس و جوها ، ضرر کمکی برای دسته است مسیریابی در MoE با دروازه‌های پراکنده، فقط از k متخصصان برتر پرس و جو می‌شود و خروجی‌های آن‌ها وزن‌دهی و به هم افزوده می‌شود. در Hash MoE، مسیریابی توسط یک تابع هش انجام می شود که قبل از شروع یادگیری تثبیت و بدون تغییر در نظر گرفته شده است. به عنوان مثال، اگر مدل یک ترانسفورماتور 4 لایه باشد و ورودی، نشانه‌ای (توکن) متناظر با کلمه "eat" باشد و هش "eat" باشد. | ## بخش 3: ترکیب متخصصان | آنگاه توکن به متخصص 1 در لایه 1، متخصص 4 در لایه 2، متخصص 2 در لایه و متخصص 3 در لایه 4 هدایت می شود. با وجود سادگی، این روش از لحاظ بازدهی در سطح MoE با دروازه پراکندگی با پارامتر است. در MoE نرم، فرض کنید در هر دسته، هر متخصص می تواند تعداد پرس و جو را پردازش کند. حال برای هر دسته از پرس و جوهای ، لایه MoE نرم، یک آرایه نوعی را محاسبه می کند، به طوری که توزیع احتمال بر روی پرس و جوها است، و پرس و جو -ام به متخصص -ام با رابطه محاسبه می‌شود. با این حال، این روش با مدل‌سازی مدل خودهمبسته کار نمی‌کند، زیرا وزن‌ بغیر از خود توکن، به همه توکن‌های دیگر بستگی دارد. روش‌های دیگر عبارتند از حل مسئله با روش برنامه‌ریزی خطی مقید وادار کردن هر متخصص به انتخاب k پرس و جو برتر به انتخاب خودش (به جای اینکه هر پرس و جو k متخصص برتر را انتخاب کند) استفاده از یادگیری تقویتی برای آموزش الگوریتم مسیریابی (از آنجایی که انتخاب یک متخصص یک اقدام مجزا است، مانند RL). به عنوان مثال، اگر هر پرس و جو به یک متخصص مانند ترنسفورمر سوئیچی هدایت شود، و اگر تقسیم بار بین متخصصان صورت گرفته باشد، هر متخصص باید به طور متوسط انتظار دریافت از دسته پرس و جوها را داشته باشد. در عمل، متخصصان نمی‌توانند انتظار تعادل بار کامل را داشته باشند: در برخی از دسته پرس و جوها، یک متخصص ممکن است کم کار شود، در حالی که در دسته های دیگر، بیش از حد کار می کند. تعادل بار از آن جهت اهمیت پیدا می‌کند به بدانیم ورودی‌‌ها به هر لایه نمی‌توانند از آن عبور کرده و به لایه بعدی بروند، تا زمانی که همه متخصص‌ها در همان لایه پرس و جوهایی را که به آنها منتسب شده را به پایان برساند. فاکتور ظرفیت بدین معنی که: هر متخصص فقط مجاز به پردازش حداکثر تا پرس و جوی دسته ای را دارد. کاربرد در مدل های ترنسفورمر لایه‌های MoE در بزرگترین مدل‌های ترنسفورمر استفاده می‌شوند، زیرا که مراحل آموزش و استنباط مدل کامل بسیار پرهزینه است. در مدل‌های ترانسفورماتور، لایه‌های MoE اغلب برای انتخاب لایه‌های پیش‌خور (معمولاً یک شبکه-خطی-ReLU-خطی) استفاده می‌شوند. به این که با بزرگتر شدن مدل‌ها، لایه‌های پیش‌خور بخش فزاینده‌ای از هزینه محاسبات را به خود اختصاص می‌دهند. به عنوان مثال در مدل Palm-540B حدود 90 درصد پارامترها در لایه های پیشخور آن قرار دارند. ، مدل‌هایی به اندازه کافی بزرگ که از MoE استفاده کنند، معمولا مدل‌های زبان بزرگ هستند که هر متخصص در آن حدود 10 میلیارد پارامتر دارد. نویسندگان مقاله با آموزش یک مدل با 15 میلیارد پارامتر، کاربرد دیگر MoE را نشان دادند. بدین سان که، ابتدا متخصص برتر اول انتخاب می‌شود و متخصص برتر دوم با احتمالی متناسب با وزن محاسبه شده توسط تابع دروازه انتخاب می‌شود. پس از آن، مدل GLaM که یک مدل زبانی با 1.2 تریلیون پارامتر را رونمایی شد که هر در لایه MoE آن از 2 متخصص برتر (از بین 64 متخصص) استفاده می کرد. در سطح اول، تابع دروازه تصمیم می‌گیرد که از یک لایه پیشخور "به اشتراک گذاشته شده" استفاده کند یا متخصصان. اگر از متخصصان استفاده شود، یک تابع دروازه‌ای دیگر وزن‌ها را محاسبه می‌کند و 2 متخصص برتر را انتخاب می کند. مدل‌های زبان بزرگ MoE را می‌توان با تنظیم دستورالعمل برای کارهای پایین دستی سازگار کرد. | ## جمع‌بندی | آنها همچنین نسخه ای را منتشر کردند که به منظور فرمان‌بری از دستورها تنظیم شده بود.