Uzun Bağlamlı Uzman Karışımı (MoE) Eğitiminde Bellek Zirvelerini Düzleştirme
İçindekiler
Giriş ve Temel Problem
Uzun bağlamlı (long-context) ve büyük yığın (batch) boyutlarına sahip Uzman Karışımı (Mixture-of-Experts - MoE) modelleri eğitilirken karşılaşılan en kritik engel, ortalama bellek tüketimi değildir. Asıl sorun, bileşenlerden herhangi birinin anlık bellek tepe noktasının (memory peak) cihaz donanım sınırını aşarak bellek yetersizliği (OOM) hatasına yol açmasıdır. Bu nedenle optimizasyon odağı ortalama bellek ayak izi değil, her bir tepe noktasının eş zamanlı olarak sınırlandırılması olmalıdır.
Belleği Tüketen 4 Sınırsız Zirve
Mevcut paralelleştirme planlarının sınırlandırmadığı ve her biri farklı dinamiklerle büyüyen 4 temel tepe noktası bulunur:
- Uzman Yönlendirme (Expert Dispatch): Yönlendirme matrisinin (routing matrix) büyüklüğüyle ölçeklenir.
- Kelime Dağarcığı Projeksiyonu (Vocabulary Projection): İşlenen token sayısı ile kelime dağarcığı boyutunun çarpımıyla artar.
- Gradyan Kontrol Noktası Sınırları (Gradient Checkpoint Boundaries): Ağ derinliği ile dizi uzunluğunun çarpımı doğrultusunda genişler.
- Optimize Edici Durumu (Optimizer State): Modelin toplam parametre sayısı ile doğru orantılı olarak büyür.
Bu zirvelerden hangisinin belleği tüketeceği; model mimarisine, bağlam uzunluğuna ve cihaz sayısına göre değişir. Dolayısıyla yalnızca en büyük zirveyi düşürmek, arkasından gelen diğer darboğazı açığa çıkarır.
Zirveleri Sabitleyen 4 Yenilikçi Yöntem
Geliştirilen mimari, GPU çalışma kümesini henüz başlatma aşamasında sabitleyerek tüm bu zirveleri sınırlar. Matematiksel kayıp ve gradyan doğruluğunu birebir koruyan bu 4 çözüm şunlardır:
- PipelinedLLEP: En az yüklü uzman paralelizmini genişleterek, her bir kaynağın bir yönlendirme öbeğine sağlayabileceği token miktarına üst sınır koyar.
- Ring-DTP: Kelime projeksiyonunda aktivasyon veya ağırlık parçalarını bir halka etrafında dolaştırır ve her bir logit bloğunu çevrim içi log-sum-exp yapısına indirger.
- Selective Checkpoint Offload (SCO): Her bir kontrol noktası sınırındaki uzun ömürlü tek tensörü CPU belleğinde tutarak GPU belleğini rahatlatır.
- OffloadStreamAdamW: Optimize edici durumunu CPU'ya aktaran seri Adam güncellemesini akışkan bir demet işlem hattına (bucket pipeline) dönüştürür.
Performans Kazanımları ve Yazılım Çıkarımları
Hesaplama ve veri taşıma sıralamasını optimize eden bu yaklaşımlar şu somut kazanımları sağlamıştır:
- MoE uzman yönlendirme tepe noktasında %59,3'e varan düşüş (işlem verimi korunarak).
- Kelime projeksiyonu tepe noktasında %86,6 bellek tasarrufu.
- Boşaltılmış (offloaded) optimize edici adımında 2,05 kat hızlanma.
- 120B ile 667B parametreli MoE modellerinde 1M bağlam uzunluğunda kararlı eğitim; ince ayarlı FSDP2 taban çizgisine kıyasla 8 ila 32 kat daha geniş erişim ve 10,4 kata varan işlem hacmi artışı.
Öğrenme ve Mühendislik Çıkarımı: Dağıtık büyük model eğitiminde gerçek performans, bellek tüketimini genel olarak kısmaktan ziyade donanım düzeyinde anlık tepe noktalarını statik zamanlamayla dizginlemekten geçer.
Orijinal kaynağa buradan ulaşabilirsiniz.
Bu konuyu derinlemesine öğrenmek isterseniz: PyTorch FSDP2: Modern Sharding API modülüne göz atın.
Bu konuyu daha derinlemesine öğrenmek ister misin?
Edumints'teki ücretsiz kursları incele ve bugün başla.
Kurslara Göz At →