پشت پرده هوش مصنوعی | قسمت ۳۹: Top-k Routing در مدلهای MoE چیست؟
در قسمت قبل از مجموعه «پشت پرده هوش مصنوعی» دیدیم که در معماری Mixture of Experts یا MoE، اگر تعداد توکنهای ارسالشده به یک Expert از ظرفیت آن بیشتر شود، ممکن است بعضی توکنها پردازش مربوط به آن Expert را دریافت نکنند.
اما یک سؤال مهم باقی میماند:
مدل برای هر توکن چند Expert را انتخاب میکند؟
پاسخ به این سؤال ما را با مفهومی به نام Top-k Routing آشنا میکند.
Top-k Routing در مدلهای MoE چیست؟
در معماری MoE تعداد زیادی Expert وجود دارد، اما قرار نیست همه آنها برای پردازش هر توکن فعال شوند.
اینجاست که Router وارد عمل میشود.
Router برای Expertهای مختلف امتیاز محاسبه میکند و مشخص میکند کدام Expertها برای پردازش یک توکن مناسبتر هستند.
در روش Top-k Routing، فقط تعداد مشخصی از Expertهایی که بالاترین امتیاز را دارند انتخاب میشوند.
در اینجا حرف k نشان میدهد چند Expert برای پردازش انتخاب شوند.
Top-k در مدل MoE چگونه کار میکند؟
فرض کنید یک مدل دارای ۸ Expert باشد.
وقتی یک توکن وارد Router میشود، Router میتواند برای هر Expert یک امتیاز در نظر بگیرد.
برای مثال:
Expert 1 → امتیاز ۰٫۸۵
Expert 2 → امتیاز ۰٫۳۲
Expert 3 → امتیاز ۰٫۷۸
Expert 4 → امتیاز ۰٫۲۱
Expert 5 → امتیاز ۰٫۶۴
Expert 6 → امتیاز ۰٫۱۵
Expert 7 → امتیاز ۰٫۴۳
Expert 8 → امتیاز ۰٫۲۷
اگر مدل از Top-2 Routing استفاده کند، دو Expert با بالاترین امتیاز انتخاب میشوند.
در این مثال:
Expert 1 و Expert 3
انتخاب خواهند شد.
بنابراین لازم نیست هر ۸ Expert برای این توکن فعال شوند.
چرا همه Expertها فعال نمیشوند؟
یکی از مزیتهای اصلی معماری Mixture of Experts این است که مدل میتواند ظرفیت زیادی داشته باشد، بدون اینکه مجبور باشد تمام این ظرفیت را برای هر توکن استفاده کند.
اگر همه Expertها برای هر توکن فعال شوند، هزینه محاسباتی بسیار زیادی ایجاد میشود.
اما با Top-k Routing، فقط تعداد محدودی از Expertها فعال میشوند.
در نتیجه:
🔹 محاسبات کمتری انجام میشود.
🔹 منابع سختافزاری بهتر مدیریت میشوند.
🔹 هزینه پردازش میتواند کاهش پیدا کند.
🔹 مدل همچنان میتواند Expertهای متعددی داشته باشد.
Top-2 Routing یعنی چه؟
یکی از نمونههای ساده Top-k Routing، روش Top-2 است.
در این روش، Router برای هر توکن دو Expert با بالاترین امتیاز را انتخاب میکند.
بنابراین اگر مدل ۶۴ Expert داشته باشد، قرار نیست هر ۶۴ Expert برای هر توکن فعال شوند.
در Top-2، فقط دو Expert انتخاب میشوند.
البته تعداد Expertهای فعال به معماری و طراحی مدل بستگی دارد و همه مدلهای MoE الزاماً از یک مقدار k استفاده نمیکنند.
آیا Expert بیشتر همیشه یعنی پاسخ بهتر؟
خیر.
ممکن است تصور کنیم اگر به جای دو Expert، تعداد بیشتری Expert برای هر توکن فعال کنیم، مدل همیشه پاسخ بهتری تولید خواهد کرد.
اما افزایش تعداد Expertهای فعال میتواند هزینه محاسباتی را هم افزایش دهد.
هدف Top-k Routing این نیست که بیشترین تعداد Expert ممکن را فعال کند؛ بلکه هدف این است که تعداد محدودی از Expertهای مناسب برای هر توکن انتخاب شوند.
بنابراین طراحی مناسب Router و انتخاب مقدار k اهمیت زیادی دارد.
تعداد Expertهای فعال چه تأثیری بر سرعت مدل دارد؟
هرچه تعداد Expertهای فعال برای پردازش یک توکن بیشتر باشد، محاسبات بیشتری باید انجام شود.
در مقابل، اگر تعداد Expertهای فعال کمتر باشد، مدل میتواند با هزینه محاسباتی پایینتری اجرا شود.
به همین دلیل، تعداد Expertهای فعال میتواند روی عواملی مانند:
🔹 سرعت پردازش
🔹 هزینه محاسباتی
🔹 مصرف منابع سختافزاری
تأثیر داشته باشد.
البته سرعت نهایی فقط به مقدار k وابسته نیست و معماری مدل، سختافزار و روش اجرای آن نیز اهمیت دارند.
آیا Top-k Routing همه Expertها را حذف میکند؟
خیر.
Expertهایی که برای یک توکن انتخاب نمیشوند همچنان بخشی از ظرفیت کلی مدل هستند.
فقط برای همان توکن فعال نمیشوند.
ممکن است توکن بعدی توسط Router به Expertهای کاملاً متفاوتی هدایت شود.
بنابراین یک مدل MoE میتواند برای توکنهای مختلف، مسیرهای پردازشی متفاوتی ایجاد کند.
جمعبندی
Top-k Routing در مدلهای MoE روشی برای انتخاب تعداد محدودی از Expertها برای هر توکن است.
Router ابتدا برای Expertهای مختلف امتیاز محاسبه میکند و سپس Expertهایی را که بالاترین امتیاز را دارند انتخاب میکند.
برای مثال، در Top-2 Routing دو Expert برتر برای پردازش یک توکن انتخاب میشوند.
این روش باعث میشود همه Expertهای مدل برای هر توکن فعال نباشند و ظرفیت بزرگ مدل با هزینه محاسباتی قابلکنترلتری مورد استفاده قرار بگیرد.
بنابراین، در معماری MoE هدف این نیست که تمام مدل برای هر توکن فعال شود؛ بلکه هدف، انتخاب Expertهای مناسب با تعداد محدود است.
در قسمت بعدی مجموعه پشت پرده هوش مصنوعی بررسی میکنیم وقتی دو Expert برای یک توکن انتخاب میشوند، خروجی این Expertها چگونه با یکدیگر ترکیب میشود.
درباره فیلاگر | جامعه هوش مصنوعی ایران
فیلاگر، جامعه هوش مصنوعی ایران، مرجعی برای آموزش، تحلیل و بررسی فناوریهای نوین هوش مصنوعی است. در مجموعه «پشت پرده هوش مصنوعی» تلاش میکنیم مفاهیم پیچیده AI را با زبانی ساده برای علاقهمندان فارسیزبان توضیح دهیم.
پشت پرده هوش مصنوعی | قسمت ۱
پشت پرده هوش مصنوعی | قسمت ۲
پشت پرده هوش مصنوعی | قسمت ۳
پشت پرده هوش مصنوعی | قسمت ۴
پشت پرده هوش مصنوعی | قسمت ۵
پشت پرده هوش مصنوعی | قسمت ۶
پشت پرده هوش مصنوعی | قسمت ۷
پشت پرده هوش مصنوعی | قسمت ۸
پشت پرده هوش مصنوعی | قسمت ۹
پشت پرده هوش مصنوعی | قسمت ۱۰
پشت پرده هوش مصنوعی | قسمت ۱۱
پشت پرده هوش مصنوعی | قسمت ۱۲
پشت پرده هوش مصنوعی | قسمت ۱۳
پشت پرده هوش مصنوعی | قسمت ۱۴
پشت پرده هوش مصنوعی | قسمت ۱۵
پشت پرده هوش مصنوعی | قسمت ۱۶
پشت پرده هوش مصنوعی | قسمت ۱۷
پشت پرده هوش مصنوعی | قسمت ۱۸
پشت پرده هوش مصنوعی | قسمت ۱۹
پشت پرده هوش مصنوعی | قسمت ۲۰
پشت پرده هوش مصنوعی | قسمت ۲۱
پشت پرده هوش مصنوعی | قسمت ۲۲
پشت پرده هوش مصنوعی | قسمت ۲۳
پشت پرده هوش مصنوعی | قسمت ۲۴
پشت پرده هوش مصنوعی | قسمت ۲۵
پشت پرده هوش مصنوعی | قسمت ۲۶
پشت پرده هوش مصنوعی | قسمت ۲۷
پشت پرده هوش مصنوعی | قسمت ۲۸
پشت پرده هوش مصنوعی | قسمت ۲۹
پشت پرده هوش مصنوعی | قسمت ۳۰
پشت پرده هوش مصنوعی | قسمت ۳۱
پشت پرده هوش مصنوعی | قسمت ۳۲
پشت پرده هوش مصنوعی | قسمت ۳۳
پشت پرده هوش مصنوعی | قسمت ۳۴
پشت پرده هوش مصنوعی | قسمت ۳۵
پشت پرده هوش مصنوعی | قسمت ۳۶
پشت پرده هوش مصنوعی | قسمت ۳۷
پشت پرده هوش مصنوعی | قسمت ۳۸
دیدگاهتان را بنویسید