إنتقل إلى المحتوى الرئيسي

الفصل 1: مزيج الخبراء (MoE)

مفهوم MoE​

بدلاً من استخدام FFN كبير واحد، استخدم عدة FFNs "خبيرة" مع موجه:

المدخلات → الموجه → اختيار أفضل k خبراء → دمج مرجح → المخرجات

بنية Mixtral​

mixtral_config = {
"num_experts": 8,
"num_experts_per_token": 2, # Sparse: only 2 active
"total_params": "46.7B",
"active_params": "12.9B", # Per forward pass
}

آلية الموجه​

def router(hidden_states, num_experts, top_k=2):
# Compute expert scores
scores = router_weights @ hidden_states

# Select top-k experts
top_k_scores, top_k_indices = torch.topk(scores, top_k)

# Normalize weights
weights = F.softmax(top_k_scores, dim=-1)

return weights, top_k_indices

الفوائد​

الجانبكثيفMoE
المعلماتجميعها نشطةمجموعة فرعية نشطة
الحسابO(params)O(active_params)
السعةثابتةأعلى لنفس الحساب

التحديات​

  • توازن الحمل بين الخبراء
  • عبء الاتصال في الإعداد الموزع
  • انهيار الخبراء (توجيه الجميع إلى عدد قليل من الخبراء)