در مدل Mixture of Experts یا MoE، بخشی از محاسبه میان چند «متخصص» تقسیم میشود و مسیریاب برای هر توکن انتخاب میکند کدام بخشها فعال باشند. بنابراین تعداد کل پارامترها و تعداد پارامترهای فعال برای یک توکن میتوانند متفاوت باشند. این تفاوت را با یک مدل کاملاً فرضی و سه مسیر توکن میشماریم؛ هیچ مدل واقعی در این تمرین اجرا نشده است.
متخصص، نام شغل یا یک مدل کامل مستقل نیست
در یک معماری رایجِ ترنسفورمر، متخصصها میتوانند شبکههای داخل لایهٔ feed-forward باشند. مسیریاب انتخاب و وزندهی میکند؛ اجزای دیگری هم مشترکاند. از نام expert نمیتوان نتیجه گرفت یکی حتماً متخصص پزشکی و دیگری حقوق است. تقسیم کار به معماری و یادگیری وابسته است و نامگذاری انسانی، شاهد مهارت تخصصیِ تأییدشده نیست.
صفحهٔ تعداد پارامتر و کیفیت هشدار کلی دربارهٔ خواندن اندازه را توضیح میدهد؛ اینجا خود شمارش کل، فعال و پارامترهای استفادهشده در چند توکن را جدا میکنیم.
مدل فرضی هشتمتخصصی
فرض کنیم هر متخصص۱۰۰پارامتر و همهٔ بخشهای مشترک، شامل مسیریابِ فرضی، جمعاً۲۰پارامتر دارند. برای هر توکن دقیقاً دو متخصص فعال میشوند. این عددها آموزشی و بسیار کوچکاند؛ مشخصات Mixtral یا محصول دیگری نیستند.
| نوع شمارش | محاسبهٔ همین مثال | نتیجه |
|---|---|---|
| کل مدل | 20+8×100 | 820 |
| فعال برای یک توکن | 20+2×100 | 220 |
| متفاوتِ لمسشده در سه توکنِ جدول بعد | 20+4×100 | 420 |
در این قرارداد، «پارامتر فعال» شمار پارامترهای بخشهایی است که در محاسبهٔ توکن شرکت میکنند؛ تعداد عملیات، بایت حافظه یا تعداد پارامتر آموزشدیدهٔ تازه نیست. بخش مشترک را فقط یک بار به هر شمارش اضافه کردهایم.
چرا سه توکن میتوانند متخصصهای متفاوت ببینند؟
| توکن فرضی | دو متخصص انتخابشده | فعال برای همان توکن |
|---|---|---|
| T1 | ۰ و۱ | 220 |
| T2 | ۱ و۲ | 220 |
| T3 | ۲ و۳ | 220 |
در کل این سه توکن، چهار متخصص متمایز دیده شدهاند؛ پس وزنهای متمایز لمسشده۴۲۰است. جمع۲۲۰برای هر سه،۶۶۰میشود، اما آن شمارش استفادهٔ تکراری است و تعداد پارامترهای متفاوتِ مدل نیست. کل مدل هم همچنان۸۲۰است؛ متخصصهای۴تا۷با ندیدهشدن در همین سه ورودی حذف نشدهاند.
خروجی متخصصها چگونه ترکیب میشود؟
در یک نمونهٔ اسکالر، دو خروجی۲و۶داریم و وزنهای مسیریاب را۰٫۷۵و۰٫۲۵انتخاب کردهایم. ترکیب وزنی برابر۳است. این، فقط نمونهٔ حساب است؛ خروجی واقعی متخصص معمولاً بردار است و قرارداد وزندهی و انتخاب به روش بستگی دارد. این وزنها احتمال درستی پاسخ نیستند و نشان نمیدهند خروجی نهایی حتماً از میان۲و۶یکی را انتخاب میکند.
پارامتر کمترِ فعال، حافظهٔ قطعی کمتر به همان نسبت نیست
وزن متخصصهای غیرفعال هم باید در معماری اجرا در جایی در دسترس باشند. بسته به سامانه ممکن است میان دستگاهها تقسیم یا جابهجا شوند؛ عدد۲۲۰بهتنهایی نمیگوید کل وزن لازم روی یک GPU جا میشود. ارتباط بین دستگاهها، طول زمینه، ظرفیت متخصصها و الگوی توکنها بر اجرای واقعی اثر دارند.
برای مقایسه، نام نسخه، تعداد کل و تعریف فعال، روش ذخیره، طول ورودی و همزمانی را ثبت کنید. کیفیت، زمان و اوج حافظه را روی همان بار بسنجید؛ از مثال۸۲۰/۲۲۰برتری سرعت یا پاسخ فارسی نتیجه نمیگیریم. برآورد حافظهٔ مدل هم وزن را از کش و سربار جدا میکند.
فایل تمرین چه دارد؟
CSV مسیر سه توکن را نگه میدارد و Python شمارش۸۲۰،۲۲۰،۴۲۰و ترکیب۳را واقعاً کنترل کرده است. انتخاب مسیریاب در این فایل دستساز است؛ آموزش، بارگذاری مدل یا بنچمارک انجام نشده است. برای تمرین بعد، مسیر T3 را به۶و۷تغییر دهید و شمار متخصصهای متمایز سه توکن را دوباره حساب کنید. ادامهٔ مبانی در صفحهٔ هوش مصنوعی است؛ این مقاله معماری داخلی اپرا را اعلام نمیکند.
فایل تمرین و منبع
مسیر سه توکن ساختگی و پارامتر فعال هرکدام · کد محلی شمارش و ترکیب دو خروجی متخصص
منابع در ۳ نوامبر ۲۰۲۶ خوانده شدند؛ این تاریخ، تاریخ انتشار منبع نیست. مثالها و فایلهای این راهنما آموزشی و ساختهٔ تحریریهاند.