Mixture-of-Experts (MoE) (TR)

From Systems analysis Wiki
Jump to navigation Jump to search

Mixture-of-Experts (MoE) (İng. — "Uzman Karışımı") — koşullu hesaplama ilkesine ve «Böl ve Yönet» paradigmasına dayanan bir sinir ağı mimarisidir. Her girdi sinyalinin işlenmesinde tüm parametrelerin devreye girdiği tek ve yekpare ("yoğun") bir model kullanmak yerine, MoE mimarisi görevi parçalara ayırarak "uzman" adı verilen özelleşmiş alt ağların bir alt kümesine devreder. Özel bir bileşen olan yönlendirici ağ (gating network veya router), hangi uzmanların her bir girdi token'ını işleyeceğini dinamik olarak belirler[1][2].

Bu yaklaşım, çıkarım (inference) aşamasındaki hesaplama maliyetlerini (FLOPs) çok daha küçük yoğun modellerin düzeyinde tutarken, muazzam sayıda parametreye (yüzlerce milyar hatta trilyonlar) sahip modeller oluşturmaya olanak tanır[3]. Bu sayede MoE, modern büyük dil modellerinin (LLM) ölçeklendirilmesinde kilit bir teknoloji haline gelmiş ve Mixtral 8x7B, Grok-1 ile yaygın kanıya göre GPT-4 gibi öncü sistemlerde kullanılmaktadır[1].

Temel İlke: Koşullu Hesaplama ve Seyreklik

MoE'nin temel mekanizması koşullu hesaplamadır (conditional computation). Her token işlenirken tüm parametrelerin aktif olduğu yoğun modellerin aksine, MoE modelleri girdiye bağlı olarak parametrelerinin yalnızca küçük bir bölümünü etkinleştirir. Bu süreç, geleneksel mimarilerden temel farkı oluşturan aktivasyon seyrekliğine (sparsity in activation) yol açar[4].

Bu yaklaşım şunları mümkün kılar:

  • Model kapasitesini ölçeklendirme: Toplam parametre sayısı (dolayısıyla modelin "bilgisi") hesaplama yükünde orantılı bir artış olmaksızın önemli ölçüde artırılabilir.
  • Verimliliği artırma: Model her token için daha az hesaplama yapar; bu da sabit bir hesaplama bütçesinde daha hızlı çıkarım ve daha düşük eğitim maliyetlerine yol açar[5].

Böylece MoE, darboğazı hesaplama gücünden bellek gereksinimlerine (VRAM) kaydırır; zira her an yalnızca küçük bir kısmı kullanılsa bile tüm uzmanların tüm parametrelerinin belleğe yüklenmesi gerekir[6].

MoE Mimarisinin Bileşenleri

1. Uzman Alt Ağları (Experts)

Uzmanlar genellikle bağımsız sinir ağlarıdır. Transformer mimarisi bağlamında MoE katmanları tipik olarak yoğun tam bağlantılı blokların (Feed-Forward Networks, FFN) yerini alır ve her uzman kendi başına bir FFN'dir[1]. Eğitim sürecinde her uzman belirli alanlarda "yetkinlik" geliştirebilir — örneğin biri sözdizimi, diğeri belirli bir bilgi alanındaki olgular, bir diğeri ise belirli bir dil veya üslup üzerinde uzmanlaşabilir[7].

2. Yönlendirici Ağ (Gating Network / Router)

Yönlendirici ağ, görevlerin akıllı dağıtımını gerçekleştiren küçük ancak kritik öneme sahip bir bileşendir. Her girdi token'ı için yönlendirici, hangi uzmanların işleme için en uygun olduğunu belirleyen puanlar (ağırlıklar) hesaplar. Yönlendirme kararı dinamik ve bağlama bağımlıdır[8].

En yaygın strateji, token'ı işlemek üzere en yüksek puana sahip K uzmanın seçildiği Top-K yönlendirmesidir. K değeri genellikle küçüktür (örneğin 1 veya 2), bu da seyrekliği sağlar.

3. Çıktıların Birleştirilmesi

Seçilen K uzman token'ı işledikten sonra, bireysel çıktıları MoE katmanının nihai sonucunu oluşturmak üzere birleştirilir. Bu işlem genellikle yönlendirici tarafından üretilen normalleştirilmiş puanların ağırlık olarak kullanıldığı ağırlıklı toplama yöntemiyle yapılır[1].

MoE'nin Evrimi

MoE kavramı ilk olarak 1991 yılında Robert Jacobs, Geoffrey Hinton ve Michael Jordan tarafından "Yerel Uzmanların Uyarlanabilir Karışımı" başlıklı çalışmada önerilmiştir[3]. Ancak hesaplama kısıtlamaları ve eğitim zorluğu nedeniyle bu fikir, derin öğrenme çağına kadar geniş çapta benimsenmedi.

Büyük atılım, Transformer mimarisinin ortaya çıkmasıyla gerçekleşti. 2010-2015 yılları arasında koşullu hesaplamaya (Yoshua Bengio ve diğerleri) adanmış araştırmalar teorik temeli attı; Shazir ve diğerlerinin (2017) çalışması ise MoE'nin 137 milyar parametreli bir LSTM modeline kadar ölçeklendirilebileceğini gösterdi[8].

MoE'nin modern yeniden doğuşu, Google'ın 2021 yılında Top-1 yönlendirmesini kullanan ve 1,6 trilyon parametreye kadar ölçeklenen Switch Transformer modeliyle ilişkilidir[9]. Mistral AI'ın 2023 yılında yayımladığı açık model Mixtral 8x7B'nin başarısı, MoE'yi yüksek performanslı LLM oluşturmak için önde gelen mimarilerden biri olarak kesin biçimde yerleştirdi[1].

Sorunlar ve Optimizasyon Yöntemleri

Yük Dengeleme

MoE'nin temel sorunlarından biri, yönlendiricinin sürekli olarak aynı "popüler" uzmanları seçerken diğerlerinin yetersiz kullanılmasına yol açan yük dengesizliğidir. Bu durum, verimsiz eğitime ve "uzman çöküşüne" neden olur.

  • Yardımcı Kayıp Fonksiyonları (Auxiliary Loss): Token dağılımındaki eşitsizliğe "ceza" ekleyen geleneksel bir yöntemdir. Dengelemeye yardımcı olsa da bu yaklaşım, genel performansı düşürebilecek "gürültü gradyanları" oluşturabilir[10].
  • Kayıpsız Dengeleme (Loss-Free Balancing): Yönlendiricinin puanlarına dinamik olarak sapma (bias) uygulayarak temel eğitim görevine müdahale etmeden daha dengeli kararlar almasını sağlayan daha yeni bir yaklaşımdır[11].
  • Uzman Seçimi ile Yönlendirme (Expert Choice Routing): Token'ların uzman seçmediği, aksine her uzmanın gruptaki `top-k` token'ı kendisi seçtiği alternatif bir yaklaşımdır. Bu yöntem mükemmel dengelemeyi garanti eder, ancak uygulaması daha karmaşık olabilir[1].

İnce Ayar ve Nicemleme

  • İnce Ayar (Fine-tuning): Tarihsel olarak MoE modelleri, büyük parametre sayısı nedeniyle aşırı öğrenmeye eğilimlidir. Bu sorunu azaltmak için "uzman dropout" gibi yöntemler kullanılmaktadır[12].
  • Nicemleme (Quantization): Model boyutunu küçültmek ve çıkarımı hızlandırmak için ağırlıkların sayısal hassasiyetinin düşürülmesidir. MoE için bu, uzmanlar arası dengesizlik nedeniyle zorlu bir görevdir. MoEQuant gibi yöntemler, her uzman için dengeli kalibrasyon temelli çözümler önerir[13].

Sistem Optimizasyonu

MoE'nin verimli dağıtımı, aşağıdakileri kapsayan bütünsel bir sistem yaklaşımı gerektirir:

  • Paralellik Stratejileri: Uzman paralelliği (uzmanların farklı GPU'lara dağıtılması), model paralelliği ve veri paralelliği[14].
  • Özelleştirilmiş Çekirdekler (Kernels): Seyrek işlemler için matris çarpmalarını optimize eden Mixtral'ın Megablocks örneği[15].
  • Donanım Ortak Tasarımı (Hardware Co-design): MoE iş yükleri için özel olarak optimize edilmiş donanım çözümlerinin geliştirilmesi.

Öne Çıkan MoE Modelleri

Öne çıkan MoE mimarilerinin karşılaştırması
Model Geliştirici Toplam
parametre sayısı
Aktif
parametreler
Uzman
sayısı
Seçilen
uzmanlar (k)
Switch Transformer C-2048 Google 1,6 trilyon Uzman boyutuna bağlı 2048 1
Mixtral 8x7B Mistral AI ~47 milyar ~13 milyar 8 2
Grok-1 xAI 314 milyar 86 milyar 8 2
GPT-4 (varsayılan) OpenAI >1 trilyon - 16 (tahmini) 2 (tahmini)
Qwen 2 MoE Alibaba 57-90 milyar 14 milyar 64 4 veya 8
DeepSeekMoE 16B DeepSeek-AI 16,4 milyar ~2,8 milyar 64 (2 aktif) 2 (6'dan)[16]

Farklı Alanlarda Uygulamalar

MoE en çok LLM bağlamında bilinse de kullanımı doğal dil işlemeyle sınırlı değildir:

  • Zaman serisi tahmini: Time-MoE modeli, tahmin modellerinin ön eğitimi için ölçeklenebilir bir mimari sunar[17].
  • Güvenlik açığı tespiti: MoEVD, güvenlik açığı tespiti görevini CWE türlerine göre sınıflandırmaya ayrıştırmak için MoE'yi kullanır; her uzman kendi türünde uzmanlaşır[18].
  • Blok zinciri teknolojileriyle entegrasyon: MoE, akıllı sözleşme optimizasyonu ve dolandırıcılık tespitinde uygulama alanı bulur; uzmanlar farklı işlem örüntülerini analiz eder[19].
  • Çok modlu modeller: MoE, farklı modalitelerde (metin, görüntü, ses) uzmanlaşmış uzmanları birleştirmek ve daha çok yönlü sistemler oluşturmak için kullanılır[20].

Notlar

  1. 1.0 1.1 1.2 1.3 1.4 1.5 «Applying Mixture of Experts in LLM Architectures». NVIDIA Technical Blog. [1]
  2. «Mixture of Experts (MoE): A Big Data Perspective». arXiv. [2]
  3. 3.0 3.1 «Mixture-of-Experts (MoE): что это такое и как работает». LLM Studio. [3]
  4. «Serving Mixtral MoE Model». Friendli.ai Blog. [4]
  5. «What is Mixture of Experts (MoE)? How it Works and Use Cases». Zilliz Learn. [5]
  6. «Mixture of Experts (MoE) vs Dense LLMs». Maximilian Schwarzmüller's Blog. [6]
  7. «Understanding Mixture of Experts in Deep Learning». VE3. [7]
  8. 8.0 8.1 «Mixture of Experts Explained». Hugging Face Blog. [8]
  9. «Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity». arXiv. [9]
  10. «Auxiliary-Loss-Free Load Balancing Strategy for Mixture-of-Experts». OpenReview. [10]
  11. «DeepSeek-V3 Explained: 3. Auxiliary-Loss-Free Load-Balancing». gopubby.com. [11]
  12. «Switch Transformers: Scaling to Trillion Parameter Models with...». cse.ust.hk. [12]
  13. «MoEQuant: Enhancing Quantization for Mixture-of-Experts...». arXiv. [13]
  14. «A Survey of Mixture of Experts Models: Architectures and Applications in Business and Finance». Preprints.org. [14]
  15. «Mixtral of Experts». arXiv. [15]
  16. «A Survey on Inference Optimization Techniques for Mixture of Experts Models». arXiv. [16]
  17. «Time-MoE: A Scalable and Unified Framework for Pre-training Time Series Foundation Models». arXiv. [17]
  18. «MoEVD: A Mixture of Experts-based Framework for Vulnerability Detection». Semantic Scholar. [18]
  19. «What a Decentralized Mixture-of-Experts (MoE) Is and How It Works». Gate.io Learn. [19]
  20. «LLaMA-MoE: Building Mixture-of-Experts from Open-source LLMs». arXiv. [20]