“PyTorch ile Büyük Ölçekli Karışık Uzmanların Eğitimini Hızlandırma”

Devasa mixture-of-experts (MoE) modellerinin eğitimi, uzun zamandır derin altyapı ve dağıtık sistemler konusundaki uzmanların sahasında kalmış bir konu oldu. Çoğu geliştirici için zorluk, daha akıllı modeller inşa etmekten çok, bu modelleri yüzlerce hatta binlerce GPU üzerinde etkin bir şekilde ölçeklendirebilmekte yatıyordu. Bu süreç, maliyetleri aşırı şekilde artırmadan gerçekleştirilmeliydi.

NVIDIA’nın NeMo Automodel adlı açık kaynak kütüphanesi, NVIDIA’nın NeMo framework içinde yer almakta ve artık geliştiricilerin büyük ölçekli MoE modellerini doğrudan PyTorch ile eğitmelerine olanak tanımaktadır. Bu, tanıdık araçlarla yapılabilir hale gelmiştir. PyTorch distributed üzerindeki yüksek hızlandırmalarla inşa edilmiş olan NeMo Automodel, büyük ölçekli MoE eğitimini demokratikleştirerek elde edilen sonuçları şu şekilde özetleyebiliriz:

  • Basit – Milyar parametreli modelleri karmaşık paralellik veya özel altyapı yönetimi olmadan doğrudan PyTorch’ta eğitmek.
  • Erişilebilir – Araştırmacılara, başlangıç seviyesindeki firmalara ve işletmelere daha önce ulaşılamaz olan MoE mimarileri ile denemeler yapma imkanı sunmak.
  • Verimli – Sekiz GPU’dan 1000’den fazla GPU’ya kadar ölçeklenirken, güçlü performans ve maliyet-etkinliği sağlaması.

Bu yazıda, NeMo Automodel’in PyTorch yerel dağıtık paralellik ile NVIDIA hızlandırmasını bir araya getirerek büyük ölçekli MoE eğitimini nasıl daha kolay, hızlı ve erişilebilir hale getirdiğini göreceksiniz. Ayrıca, benchmark sonuçlarını tekrar üretmek, kendi deneylerinizi gerçekleştirmek ve yapılandırma seçeneklerini keşfetmek için detaylı bir hızlı başlangıç kılavuzu bulacaksınız. Böylece faydalarını ilk elden deneyimleyebilirsiniz.

Büyük MoE’leri Eğitmenin Zorluğu

Büyük ölçekli MoE’leri etkin bir şekilde eğitmek, birkaç iç içe geçmiş zorluğun çözülmesini gerektirir:

  1. Uzman paralelliği: Yüzlerce uzmanı GPU’lar arasında dağıtmak ve iletişim bant genişliğini aşmamak.
  2. Token yönlendirme yükü: Token’ları hızlı ve verimli bir şekilde doğru uzmanlara yönlendirmek.
  3. Hafıza yönetimi: Büyük parametre setlerini GPU bellek kısıtlamalarına göre parçalamak.
  4. İletişim-hesaplama birleşimi: Tüm iletişim ve token sırala işlemleri için gecikmeyi en aza indirmek.

Bu sistem zorlukları nedeniyle, tarihsel olarak H100 sistemlerinde BF16 doğruluğunda 150 TFLOPs/GPU’nun üstüne çıkmak zor olmuştur, bu da performansın tam olarak kullanılmasını engellemiştir.

NVIDIA’nın NeMo Automodel kütüphanesi, PyTorch yerel paralellikleri üzerine inşa ederek bu engelleri ortadan kaldırmaktadır. Bu kütüphane, uzman makine öğrenimi mühendisleri için daha önce ayrılmış olan gelişmiş altyapı optimizasyonlarını doğrudan PyTorch ekosistemine entegre etmiştir.

Artık geliştiriciler, PyTorch API’lerini kullanarak H100’lerde BF16 doğruluğunda 200 TFLOPs’un üzerinde performansa ulaşabilmektedir. Örneğin, DeepSeek V3 modeli 256 GPU’da 250 TFLOPs/saniye değerine ulaşmıştır. Bu durum, büyük ölçekli MoE eğitimini erişilebilir hale getirerek geniş topluluğa milyarlarca parametreli modellerle araştırma yapma, denemeler gerçekleştirme ve yenilikçi çözümler sunma imkanı tanıyor.

NeMo Automodel’in Mimarisi ve Optimizasyonları

NeMo Automodel, PyTorch yerel dağıtık paralellikleri ile NVIDIA hızlandırma teknolojilerini birleştirerek MoE’ler için birleşik ve yüksek performanslı bir eğitim yığını oluşturmaktadır.

Etkin Ölçeklendirme

PyTorch distributed üzerine inşa edilen NeMo Automodel, modelleri şöyle ölçeklendirir:

Eğitim Hızlandırma

NVIDIA Transformer Engine çekirdekleri kullanılarak yapılan optimizasyonlar ile NeMo Automodel, transformer bloklarını hızlandırmakta ve çeşitli dikkat mekanizmalarını desteklemektedir.

Daha Akıllı Uzman Yönlendirme ve Hesaplama

NeMo Automodel, MoE eğitimine özel olarak tasarlanmış olan Megatron-Core’dan alınan gelişmiş token yönlendirme ve uzman hesaplama bileşenlerini entegre etmektedir.

  • DeepEP token yönlendirici (Deneysel): Token yönlendirmesini 64+ uzman paralellik derecesine ölçeklendirir ve etkili bir iletişim sağlar.
  • GroupedGEMM: Birden fazla yerel uzman hesaplamasını tek bir batched GEMM işlemi halinde toplar. Bu, kernel başlatma yükünü azaltır ve GPU verimliliğini artırır.

Çığır Açan Performans: Herkes İçin Maliyet Etkili MoE Eğitimi

Aşağıdaki tablo, BF16 doğruluğunda DGX H100 sistemlerinde önemli MoE mimarileri üzerindeki ön eğitim benchmark sonuçlarını göstermektedir:

Model #GPU GSB (Küresel Batch Boyutu) Paralellik
[TP,PP,CP,EP,VP, FSDP]
Optimizasyonlar TFLOPs
/saniye/GPU
Token/saniye/GPU
DeepSeek V3 671B 256 512 1,4,1,64,8,64 TE + DeepEP 250 1,002
DeepSeek V3 671B 1024 8192 1,4,1,64,8,256 TE + DeepEP 216 865
Kimi K2 256 512 1,8,1,32,4,32 TE + DeepEP 189 924
Qwen3 MoE 30B 8 512 1,1,1,8,-,8 TE + DeepEP 277 12,040
GPT-OSS 20B 8 256 1,1,1,-,-,8 TE + DeepEP + FlexAttn 279 13,058
GPT-OSS 120B 64 512 1,1,1,-,-,64 TE + DeepEP + FlexAttn 231 7,626
Tablo 1. BF16 doğruluğunda DGX H100 sistemlerinde MoE mimarilerine yönelik ön eğitim performansı. Tüm benchmarking, tutarlı ölçüm metodolojileri ile, 4096 dizi uzunluğu için gerçekleştirilmiştir.

NeMo Automodel, farklı MoE mimarileri ve GPU sayıları arasında sektördeki en yüksek verimlilik ve ölçeklenebilirlik düzeyini sunmaktadır. Modeller, saniyede 190 ila 280 TFLOPs arasında bir performans sergilemekte ve saniyede 13,000 token işleyebilmektedir. Bu, sekiz GPU’dan 1,024 GPU’ya kadar neredeyse doğrusal bir ölçekleme sağlamakta, DeepSeek V3 671B modeli 256 GPU’da 250 TFLOPs/saniye değerine ulaşmaktadır. Tüm bunlar, yerel PyTorch paralellikleri ile NVIDIA optimizasyonlarının kombinasyonu ile gerçekleştirilmekte ve geniş bir PyTorch topluluğuna maliyet etkili büyük ölçekli MoE eğitimi fırsatları sunulmaktadır.

Geliştiricilere Güç Vermek

Native PyTorch dağıtık paralelliklerinden faydalanarak, NeMo Automodel, yüksek performanslı büyük ölçekli MoE eğitimini doğrudan PyTorch ekosistemine kazandırmaktadır. Bu yaklaşım, dış veya özel model-paralel kütüphane bağımlılıklarını ortadan kaldırarak geliştiricilere tanıdık araç ve API’lerle ölçekleme konusunda tam esneklik sağlamaktadır.

En önemlisi, bu durum NVIDIA’nın PyTorch ve daha geniş açık kaynak AI ekosistemini güçlendirme konusundaki taahhüdünü yansıtmaktadır. Büyük modellerin eğitimi yalnızca hızlandırılmakla kalmayıp, aynı zamanda daha açık, birbirleriyle uyumlu ve tüm geliştirici topluluğu için erişilebilir hale gelmektedir.

Geliştiriciler için ana faydalar:

  • Daha Hızlı Denemeler: Hızlı deneyler ve model geliştirme için daha yüksek bir iş hacmine ulaşma imkanı.
  • Daha Düşük Eğitim Maliyetleri: Daha iyi GPU kullanımı, eğitim süresi başına daha az GPU saati anlamına gelir.
  • Ölçeklenebilir Performans: Sekiz GPU’dan 1,000 GPU’nun üzerine kadar, tutarlı bir düz bir ölçekleme imkanı sağlar.
  • Yerel PyTorch Entegrasyonu: Dış model-paralel çerçevelere bağımlılığı azaltır ve her şeyi PyTorch uygulama akışında tutar.
  • Ecosystem Commitment: NVIDIA’nın PyTorch gelişimini ilerletme konusundaki uzun vadeli yatırımını göstermektedir.
  • Üretime Hazır: Önde gelen açık kaynaklı MoE mimarileri için kanıtlanmış ve test edilmiş yapılandırmaları içerir.

Hızlı Başlangıç: Büyük MoE Modellerini Eğitme ve Benchmarklama

NeMo Automodel ile başlamanın yolu, PyTorch geliştiricileri için hızlı ve tanıdık bir şekilde gerçekleşmektedir.

Sağlanan benchmark komut dosyalarını ve yapılandırma dosyalarını kullanarak sonuçları tekrar üretebilir veya kendi büyük ölçekli MoE modellerinizi NVIDIA optimizasyonları ile eğitebilirsiniz.

Minimum Gereksinimler

Benchmark sonuçlarını tekrar üretmek ve ince ayar deneylerini etkin bir şekilde gerçekleştirmek için en az sekiz GPU (her biri 80 GB bellek) önerilmektedir.

Bir benchmark veya ince ayar denemesi yürütmek için aşağıdaki basit adımları takip edin:

# 1. NeMo docker görüntüsünü çekin ve bir konteyner başlatın
docker pull nvcr.io/nvidia/nemo:25.09
docker run -it -d --ulimit memlock=-1 --ulimit stack=67108864 --gpus all nvcr.io/nvidian/nemo:25.09 bash

# 2. Konteynerin içinde, reponuzu klonlayın ve Automodel dizinine gidin
git clone https://github.com/NVIDIA-NeMo/Automodel.git
cd Automodel

Benchmark’i Yürütün

Örnek: Qwen3 MoE 30B benchmark’ını sekiz GPU üzerinde çalıştırın

torchrun --nproc-per-ndoe 8 nemo_automodel/recipes/llm/benchmark.py 
  --config examples/benchmark/configs/qwen3_moe_30b_te_deepep.yaml

İnce Ayar Yapın

Örnek: Qwen3 MoE 30B ince ayarını yapın

Not:

  • Öncelikle model checkpoint’unu Hugging Face’den indirmeniz gerekecek: hf download Qwen/Qwen3-30B-A3B
  • Dataset oluşturma hatası ile karşılaşırsanız, datasets kütüphanesini güncelleyerek çözümleyebilirsiniz: pip install --upgrade datasets
torchrun --nproc-per-node 8 examples/llm_finetune/finetune.py --config examples/llm_finetune/qwen/qwen3_moe_30b_te_deepep.yaml

Kullanılabilir Yapılandırma Dosyaları:

  • deepseek_v3_te_deepep.yaml – DeepSeek V3 (671B parametre)
  • kimi_k2_te_deepep.yaml – Kimi K2 için optimize edilmiş yapılandırma
  • qwen3_moe_30b_te_deepep.yaml – Tam NVIDIA optimizasyonları ile Qwen3 MoE 30B
  • gptoss_20b_te_deepep.yaml – GPT-OSS 20B ile FlexAttention
  • gptoss_120b_te_deepep.yaml – GPT-OSS 120B üretim yapılandırması

Performans dokümantasyonu ve uygulama detayları için belgelere göz atabilirsiniz.

Geleceğe Bakış: Açık MoE Eğitimini İlerletmek İçin Bize Katılın

Bu sürüm, hızlandırılmış PyTorch ile büyük ölçekli MoE eğitimini demokratikleştirmede önemli bir kilometre taşıdır. Fakat bu, başlangıç için yalnızca bir adımdır.

Biz aktif olarak şu konular üzerinde çalışıyoruz:

  • Model Destekleme Genişletmeleri: Yeni MoE ve karma mimariler eklemek.
  • Daha Derin Optimizasyonlar: Çok daha yüksek verimlilik için çekirdek seviyesinde ve iletişim geliştirmeleri yapmak.
  • Genişletilmiş Benchmarking: Çeşitli donanım ve küme konfigürasyonları arasında performans doğrulamasını geliştirmek.

NeMo Automodel ile hemen başlayarak bu yolculuğun bir parçası olmak istediğinizi umuyoruz. Yapılandırmaları deneyin, sonuçlarınızı paylaşın ve GitHub Issues üzerinden geri bildirimde bulunun. Geri bildirimleriniz, ölçeklenebilir, açık yapay zeka eğitim araçlarının bir sonraki neslinin şekillenmesine yardım edecektir.

Kaynak

Nvdia Blog

Exit mobile version