Fikrini yapay zeka paraya çevirsin — ücretsiz başla →

Veri Paralelliği (Data Parallelism)

Mimari
Ing: Data ParallelismSon güncelleme: 25 Eylül 2026
Aynı modelin kopyalarını birden fazla GPU'ya koyup her birine verinin farklı bir parçasını vererek eğitimi hızlandırma yöntemi.

Veri Paralelliği nedir?

Veri paralelliği (data parallelism), bir modeli eğitirken ya da çalıştırırken iş yükünü birden fazla işlemciye (genellikle GPU'ya) dağıtmanın en yaygın yoludur. Temel fikir şudur: Modelin tamamı her cihaza kopyalanır, ama her cihaz verinin farklı bir parçası üzerinde çalışır.

Bir restoran mutfağı düşün: Aynı tarifi bilen dört aşçı var. Gelen 100 siparişi dörde bölüp her aşçıya 25 sipariş verirsin. Her aşçı aynı tarifi uygular ama farklı siparişleri hazırlar. İş dört kat hızlı biter.

Nasıl çalışır?

Eğitim sırasında bir adım şöyle ilerler:

  • Dağıtım: Bir büyük veri batch'i, cihaz sayısı kadar küçük parçaya bölünür. Her GPU kendi parçasını alır.
  • Paralel hesaplama: Her GPU, modelin kendi kopyası üzerinde forward pass ve backpropagation yaparak kendi gradyanlarını hesaplar.
  • Senkronizasyon: Tüm GPU'ların gradyanları toplanır ve ortalaması alınır. Bu işleme genellikle all-reduce denir.
  • Güncelleme: Ortalama gradyanla her kopya aynı şekilde güncellenir. Böylece tüm kopyalar bir sonraki adıma birebir aynı ağırlıklarla başlar.

Bu senkronizasyon adımı veri paralelliğinin darboğazıdır. Cihazlar arası iletişim yavaşsa, GPU'lar hesaplamadan çok birbirini beklemeye zaman harcar. Hızlı bağlantılar ve iletişimi hesaplamayla örtüştüren teknikler bu yüzden önemlidir.

Klasik veri paralelliğinin bir sınırı var: Modelin tamamı her GPU'nun belleğine sığmalıdır. Çok büyük modellerde bu mümkün olmadığında, model ağırlıklarını, gradyanları ve optimizer durumunu cihazlar arasında parçalayan "sharded" veri paralelliği kullanılır. Bunun da yetmediği yerde model paralelliği ile birleştirilir.

Neden önemli?

Veri paralelliği, derin öğrenmede ölçeklemenin ilk ve en kolay adımıdır. Uygulaması görece basittir, modelin kodunda büyük değişiklik gerektirmez ve cihaz sayısıyla neredeyse doğrusal hızlanma sağlayabilir. Büyük modellerin eğitimi, veri, model ve pipeline paralelliğinin birlikte kullanıldığı karma stratejilerle yapılır; veri paralelliği bu yapının her zaman bir parçasıdır.

Dikkat edilmesi gereken bir yan etki: Toplam batch size cihaz sayısıyla büyür. Çok büyük batch'ler learning rate ayarını ve genelleme davranışını değiştirebilir; bu yüzden warmup ve learning rate ölçekleme gibi teknikler kullanılır.

Kullanım alanları

  • Model eğitimi: Çok GPU'lu sunucularda ve kümelerde eğitimi hızlandırmak.
  • Fine-tuning: Orta boy modelleri birkaç GPU'da daha kısa sürede uyarlamak.
  • Çıkarım (inference): Aynı modelin kopyalarıyla çok sayıda isteği paralel karşılamak.
  • Büyük ölçekli eğitim: Model ve pipeline paralelliğiyle birlikte karma stratejilerin bir katmanı olarak.
mindi
mindi'nin notu
Veri paralelliği, "aynı işi yapan daha çok el" demek. Kolay ölçeklenir ama eller birbirini beklemeye başlarsa hızlanma durur. Darboğaz genelde hesaplama değil, iletişim.