Dağıtık Eğitim: DDP, FSDP, Tensor Parallel — Modern LLM Altyapısı
1 GPU değil 10.000 GPU'da bir model eğitmenin matematiği: veri paralel, model paralel, pipeline paralel. Modern LLM'in arka oda hikâyesi.

70B model neden bir GPU'ya sığmaz
Llama 3 70B parametre:
- Ağırlıklar (fp16): 140 GB.
- Gradient (fp16): 140 GB.
- AdamW state: 280 GB.
- Aktivasyonlar: 50-100 GB (batch ve seq uzunluğuna göre).
Toplam: ~700 GB. Bir H100 GPU: 80 GB. 9 GPU yetmez, paralel mimari gerek.
Modern LLM eğitimi tipik olarak 1000-10000 GPU. Bu ölçek dağıtık eğitim matematiği gerektirir.
1. Data Parallelism (DP / DDP)
En basit dağıtım: her GPU'da modelin tam kopyası, farklı veri batch'leri.
Her adım:
- Her GPU kendi batch ile forward + backward yapar.
- Gradient'leri AllReduce ile ortala.
- Aynı güncelleme her GPU'da.
Sonuç: aynı model, daha büyük effektif batch (örn. 8 GPU x 32 sample = 256). Eğitim hızlanır.
Sınır: Model tek GPU'ya sığmazsa işe yaramaz. 70B model için DP yeterli değil.
2. ZeRO ve FSDP
Microsoft'un ZeRO (2020) optimizasyonu ve PyTorch'un FSDP (2022): data parallel'in optimize hali.
Fikir: ağırlık + gradient + optimizer state'i GPU'lar arasında parçala. Sadece hesap için gerek olduğunda topla.
- ZeRO-1: Sadece optimizer state böl. ~4x bellek tasarrufu.
- ZeRO-2: + gradient böl. ~8x tasarruf.
- ZeRO-3 / FSDP: + ağırlık böl. ~16x tasarruf. Her GPU'da sadece toplam parametrenin 1/N'i.
FSDP modern LLM eğitiminin standart yöntemi. Llama, Mistral, Gemma — hep FSDP.
3. Tensor Parallelism (TP)
ZeRO/FSDP yine de tek katman bir GPU'ya sığmalı. Çok büyük modellerde tek bir attention katmanı bile sığmaz.
Çözüm: tek bir katmanı bile böl. Megatron-LM'in (NVIDIA) yaklaşımı.
Örnek: matrisini iki GPU'ya böl:
- GPU 0: (yarı sütun)
- GPU 1: (öbür yarı)
Her GPU bir parça hesaplar. Çıkışları AllGather ile birleştirir.
TP ağ trafiği yoğun — NVLink, InfiniBand gerek. Genelde tek bir node içinde (8 GPU).
4. Pipeline Parallelism (PP)
Tek bir model bile çok büyükse: modeli katmanlara böl, farklı GPU'lara koy.
- GPU 0: 1-10. katmanlar.
- GPU 1: 11-20. katmanlar.
- GPU 2: 21-30. katmanlar.
Akış: GPU 0 → GPU 1 → GPU 2. Klasik pipeline gibi.
Sorun: bubble — bir GPU çalışırken diğerleri bekliyor. Mikro batch ile bunu küçültmek mümkün ama tamamen kaldırılamaz.
PP genelde node'lar arası (her node 8 GPU). En düşük frekanslı iletişim.
5. 3D Parallelism
Modern LLM eğitiminde üç paralellik birlikte kullanılır:
- TP (Tensor): Düşük seviye, node içi.
- PP (Pipeline): Katmanlar arası.
- DP/FSDP (Data): Üst seviye.
Örnek: GPT-4 (varsayılan):
- 16 GPU TP.
- 16 GPU PP.
- 128 grup DP.
- Toplam: 32.768 GPU.
Bu 3D parallelism modern büyük modellerin nasıl eğitildiğinin temelidir.
Megatron-LM ve diğer kütüphaneler
NVIDIA'nın Megatron-LM (Catanzaro liderliği) 3D parallelism'in standart implementasyonu. Llama, Mistral, hatta DeepSeek bunun türevini kullanır.
Diğer kütüphaneler:
- DeepSpeed (Microsoft): ZeRO uygulaması.
- FairScale (Meta): FSDP'nin atası.
- Alpa (Berkeley): Otomatik parallelism seçimi.
- JAX pjit: Google'ın yaklaşımı.
Sınır — iletişim maliyeti
Dağıtık eğitimin temel sorunu: GPU'lar arası iletişim. AllReduce, AllGather, send/recv — hepsi bant genişliği yiyor.
İletişim/hesap oranı kötü olunca eğitim iletişim sınırlı olur. GPU'lar boş bekler.
Bu nedenle modern eğitim altyapısında:
- NVLink: GPU'lar arası 900 GB/s.
- InfiniBand: Node'lar arası 400 Gb/s.
- Topology aware scheduling: GPU'lar fiziksel olarak yakın gruplara koy.
Klasik benzetme
Bir büyük yemeği 10 aşçı pişirsin. Data parallel: her aşçı kendi yemeğini pişirir, sonunda hepsini birleştir. Tensor parallel: her aşçı yemeğin bir kısmını yapar (et, sebze, sos), birleştirilir. Pipeline: her aşçı bir adımda (kesme, pişirme, servis).
3D parallelism: hepsini birlikte. Karmaşık koordinasyon, ama tek aşçıdan 1000 kat hızlı.
Sade ders
Dağıtık eğitim hikâyesinden iki şey:
- Modern AI mühendislik problemidir. Algoritma değil, iletişim, bellek, topology. Akademi bunu çoğunlukla unutur ama LLM eğitiminin %80'i altyapı işidir.
- 3D parallelism modern standartdır. TP + PP + DP üçlüsü bugün her büyük modelde. Bu mimarinin matematiği, paralel hesaplamanın modern AI versiyonu.
Bağlam
Catanzaro ve NVIDIA için: [[bryan-catanzaro-nvidia-deep-learning-altyapisinin-mimari]]. Jeff Dean için: [[jeff-dean-google-un-altyapi-dahisi]]. AdamW için: [[adamw-modern-llm-egitimlerinin-tek-optimizatoru]]. LoRA için: [[lora-buyuk-modeli-tek-gpu-da-fine-tune-etmek]]. KV-cache için: [[kv-cache-llm-belleginin-sessiz-darbogazi]].
Etiketler
Kendinizi Test Edin
Cevaplarınız profilinizde istatistik olarak saklanır.
1. Data Parallel ne yapar?
2. FSDP'nin avantajı nedir?
3. Tensor Parallel ne yapar?
4. Pipeline Parallel'in en büyük zayıflığı nedir?
5. Modern LLM eğitiminde "3D parallelism" nedir?
İlgili Yazılar
Sekreter Problemi: Hayatın En İyi Seçimini Yapmak için "%37 Kuralı"
Bir işe alma görüşmesi, bir ev arama süreci, hatta hayat arkadaşı seçimi… Hepsinin altında aynı klasik matematik problemi yatar. Cevap şaşırtıcı biçimde tek bir sayıya bağlıdır: %37.
MatematikPisagor Teoremi ve Saklı Bir Sır: İrrasyonel Sayılar Nasıl Keşfedildi?
Dik üçgenlerle ilgili o ünlü kural, aynı zamanda matematik tarihinin en sarsıcı keşfine yol açtı: kesir olarak yazılamayan sayılar. Üstelik bu keşif, bir bilim topluluğunu temellerinden sarstı.
MatematikFibonacci Dizisi ve Altın Oran: Tavşanlardan Ayçiçeklerine Uzanan Örüntü
Bir tavşan üretme bilmecesiyle başlayan basit bir sayı dizisi, ayçiçeği tohumlarından çam kozalaklarına, deniz kabuklarından galaksilere kadar doğanın her yerinde nasıl karşımıza çıkıyor?