در منظرهی به سرعت در حال تحول مدلهای زبانی بزرگ (LLMs)، جستجو برای عملکرد بالا بدون هزینهی سرسامآور تعداد پارامترهای عظیم، به یکی از مهمترین تغییرات معماری در سالهای اخیر منجر شده است: مکانیسم ترکیب متخصصان (MoE). این مدل از آزمایشگاههای شرکت Mistral AI ظهور کرده و Mixtral 8x7B لحظهای محوری برای مدلهای با وزن باز (open-weight) محسوب میشود. این مدل با نشان دادن اینکه یک معماری MoE پراکنده میتواند از مدلهای متراکم بسیار بزرگتری مانند Llama 2 70B پیشی بگیرد، در حالی که کارایی استنتاجی را حفظ میکند که برای طیف گستردهتری از توسعهدهندگان و سازمانها در دسترس است، وضعیت موجود را به چالش میکشد.
معماری پشت این جادو
برای درک Mixtral، باید نگاهی به زیر کاپوت بیندازیم. برخلاف مدلهای متراکم سنتی که در آنها هر توکن ورودی از هر لایه و هر پارامتری عبور میکند، Mixtral از یک ترکیب متخصصان پراکنده استفاده میکند. این مدل دارای ۴۵ میلیارد پارامتر کل است، اما در طول استنتاج، تنها ۱۲ میلیارد پارامتر را برای هر توکن فعال میکند. این امر از طریق یک مکانیسم مسیریابی حاصل میشود که هر توکن را به یکی از هشت «متخصص» شبکه پیشخور (feed-forward) در هر لایه هدایت میکند.
این طراحی دو مزیت اصلی ارائه میدهد:
- کارایی محاسباتی: با فعال کردن تنها زیرمجموعهای از پارامترها، مدل بودجه محاسباتی مورد نیاز برای عبورهای رو به جلو (forward passes) را کاهش میدهد.
- مقیاسپذیری: این امر به مدل اجازه میدهد ظرفیت خود (تعداد کل پارامترها) را مقیاسپذیر کند بدون آنکه هزینه محاسباتی را به صورت خطی افزایش دهد، و شکاف بین مدلهای کوچک و سریع و مدلهای عظیم و کند را پر میکند.
عملکرد و معیارها
ادعاهای مطرح شده توسط شرکت Mistral AI در مورد Mixtral با معیارهای سختگیرانه پشتیبانی میشود. در معیارهای استاندارد مانند MMLU، HellaSwag و HumanEval، Mixtral 8x7B به طور مداوم نتایجی قابل مقایسه با یا فراتر از Llama 2 70B و Gemma 27B گوگل به دست میآورد. به طور خاص، این مدل در وظایف استدلال کدنویسی و ریاضی که در آنها مدلهای کوچکتر اغلب با مشکل مواجه میشوند، درخشان عمل میکند.
علاوه بر این، این مدل از پنجره زمینه (context window) ۸ هزار توکن پشتیبانی میکند که به آن اجازه میدهد اسناد یا مخازن کد بسیار طولانیتری را نسبت به پیشینیان خود پردازش کند. این ویژگی برای کاربردهای سازمانی که با دادههای بزرگ، اسناد حقوقی یا مخازن کد پیچیده سروکار دارند، حیاتی است.
پیادهسازی عملی با Hugging Face Transformers
برای توسعهدهندگانی که مشتاق آزمایش با Mixtral هستند، اکوسیستم Hugging Face یک یکپارچهسازی بیدرنگ را فراهم میکند. در زیر یک مثال عملی از نحوه بارگذاری و اجرای استنتاج روی Mixtral 8x7B با استفاده از کتابخانه transformers آورده شده است. لطفاً توجه داشته باشید که به دلیل اندازه مدل، شما به یک GPU با حافظه VRAM کافی نیاز دارید (حداقل ۲۴ گیگابایت برای دقت ۱۶ بیتی، یا استفاده از کمفشارسازی (quantization) برای پیکربندیهای با منابع کمتر).
from transformers import AutoTokenizer, AutoModelForCausalLM, pipeline
model_name = "mistralai/Mixtral-8x7B-Instruct-v0.1"
# Load tokenizer and model
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
model_name,
device_map="auto",
torch_dtype="auto"
)
# Create the pipeline for simplified inference
generator = pipeline(
"text-generation",
model=model,
tokenizer=tokenizer
)
# Generate text
prompt = "Explain the concept of sparse Mixture of Experts in simple terms."
result = generator(prompt, max_new_tokens=256, temperature=0.7)
print(result[0]['generated_text'])
نتیجهگیری
Mixtral 8x7B فراتر از یک مدل دیگر در خط تولید مدلهای زبانی بزرگ منبعباز است؛ بلکه یک مفهومنمایی (proof-of-concept) برای آینده هوش مصنوعی کارآمد است. با بهرهگیری از معماری ترکیب متخصصان، شرکت Mistral AI مدلی را تحویل داده است که تعادلی میان قدرت، سرعت و دسترسیپذیری ایجاد میکند. برای توسعهدهندگانی که برنامههای کاربردی درجه تولید (production-grade) میسازند، Mixtral جایگزینی جذاب در برابر مدلهای اختصاصی سنگینتر و گرانقیمتتر ارائه میدهد. با ادامه جامعه منبعباز در ساخت ابزارها حول این معماری، میتوان انتظار دیدن برنامههای کاربردی نوآورانهتری را داشت که پیشتر فراتر از دسترس برای تیمهای کوچک و پژوهشگران فردی تصور میشد.