- Mixture-of-Experts (MoE) ve Expert Parallelism (EP) için yüksek performanslı iletişim kütüphanesi
- GPU tabanlı All-to-All kernel sağlayarak MoE dispatch ve combine işlemlerini yüksek hızda gerçekleştirir
- FP8 gibi düşük hassasiyetli hesaplamaları destekler
- DeepSeek-V3 makalesinde önerilen group-limited gating algoritmasını uygulayarak asimetrik alan bant genişliği forwarding işlemini optimize eder
- Örnek: NVLink → RDMA veri aktarımı optimizasyonu
- Eğitim ve çıkarım prefilling işleri için uygun yüksek throughput sağlar
- Gecikmeye duyarlı çıkarım decoding için yalnızca RDMA kullanan düşük gecikmeli kernel içerir
- İletişim-hesaplama örtüşme tekniği sunar (SM kaynaklarını işgal etmez)
Performans
Genel kernel (NVLink ve RDMA aktarımı)
- DeepEP, performansı H800 GPU ve CX7 InfiniBand 400Gb/s RDMA ağı ortamında test etti
- DeepSeek-V3/R1 yapılandırmasını temel alarak batch başına 4096 token, 7168 hidden node, top-4 group, top-8 expert mimarisi uygulandı; FP8 dispatch ve BF16 combine kullanıldı
- Performans testi sonucunda düğüm içi (NVLink tabanlı) iletişim yaklaşık 150GB/s üzeri bant genişliği gösterirken, düğümler arası (RDMA tabanlı) iletişim expert sayısına bağlı olarak 40~47GB/s düzeyinde bant genişliği kaydetti
- Expert sayısı arttıkça RDMA bant genişliğinin hafifçe artma eğiliminde olduğu görüldü (ör. 16 expert olduğunda 43GB/s, 64 expert olduğunda 46GB/s)
Düşük gecikmeli kernel (salt RDMA)
- Düşük gecikmeli kernelin performansını ölçme sonucunda, genel kernela göre gecikmenin (latency) önemli ölçüde azaldığı görüldü
- Batch başına 128 token işlenen ortamda, expert sayısına göre gecikme artsa da RDMA bant genişliği görece sabit kaldı
- Örneğin 8 expert olduğunda 163 mikrosaniye (us), 256 expert olduğunda 194 mikrosaniye (us) seviyesine yükseldi
- Combine işleminde dispatch'e göre daha yüksek gecikme oluştu ve expert sayısı arttıkça RDMA bant genişliğinin 40GB/s'nin altına kademeli olarak düştüğü eğilimi görüldü
- Yani düşük gecikmeli kernel küçük ölçekli expert gruplarında çok hızlı çalışsa da expert sayısı arttığında gecikme yükseldiği için uygun bir denge gerekir
Ağ yapılandırması
Trafik yalıtımı (Traffic Isolation)
- InfiniBand'in Virtual Lanes (VL) özelliği kullanılarak trafik yalıtımı yapılabilir
- Önerilen ayırma yöntemi:
- Genel kernel kullanan işler
- Düşük gecikmeli kernel kullanan işler
- Diğer işler
NVSHMEM_IB_SL ortam değişkeni üzerinden VL ayarlanabilir
Uyarlamalı yönlendirme (Adaptive Routing)
- InfiniBand switch'lerinin uyarlamalı yönlendirmesini destekler
- Düşük gecikmeli kernelde etkinleştirilebilir, genel kernelde ise devre dışı bırakılması gerekir (etkinleştirilirse veri bozulması riski vardır)
- Yapılandırma önerileri:
- Ağ yükü yüksekse: uyarlamalı yönlendirmeyi etkinleştirin
- Ağ yükü düşükse: statik yönlendirmeyi koruyun
Tıkanıklık kontrolü (Congestion Control)
- DeepEP, tıkanıklık kontrolü özelliği devre dışıyken çalışır
- Gerçek ortamda ağ tıkanıklığının ciddi olmadığını doğruladı
Başlıca teknik değerlendirmeler
- Resmî olmayan PTX komutlarının kullanımı: performansı optimize etmek için
ld.global.nc.L1::no_allocate.L2::256B kullanılır
- Hopper mimarisinde normal çalışır, ancak diğer platformlarda
DISABLE_AGGRESSIVE_PTX_INSTRS=1 ayarlanarak devre dışı bırakılabilir
- Otomatik ayarlama önerilir: en iyi performans için küme bazında performans testi sonrası ayarların uygulanması gerekir
Henüz yorum yok.