Distributed Training
Dağıtık eğitimin, yapay zeka iş yüklerini birden fazla GPU'ya nasıl ölçeklendirdiğini keşfet. Daha hızlı ve doğru sonuçlar için DDP ile Ultralytics YOLO26 eğitimini hızlandırmayı öğren.
Dağıtık eğitim, bir modeli eğitme iş yükünün birden fazla işlemci veya makineye bölündüğü bir makine öğrenimi yöntemidir. Bu yaklaşım, tek bir cihazda eğitilmesi pratik olmayan miktarda zaman alacak büyük ölçekli veri kümelerini ve karmaşık sinir ağı mimarilerini işlemek için gereklidir. Birden fazla Grafik İşlem Biriminin (GPU) veya Tensör İşlem Biriminin (TPU) birleşik hesaplama gücünden yararlanarak, dağıtık eğitim geliştirme döngüsünü önemli ölçüde hızlandırır; böylece araştırmacıların ve mühendislerin daha hızlı yineleme yapmalarını ve modellerinde daha yüksek doğruluk elde etmelerini sağlar.
Link to this sectionDağıtık Eğitim Nasıl Çalışır#
Dağıtık eğitimin arkasındaki temel fikir paralelleştirmedir. Verileri tek bir çip üzerinde sırayla işlemek yerine, görev eşzamanlı olarak işlenen daha küçük parçalara bölünür. Bunu başarmak için iki temel strateji vardır:
- Veri Paralelliği: Bu, nesne algılama gibi görevler için en yaygın yaklaşımdır. Bu kurulumda, tüm modelin bir kopyası her cihaza yerleştirilir. Küresel eğitim verisi daha küçük gruplara bölünür ve her cihaz aynı anda farklı bir grubu işler. Her adımdan sonra, model ağırlıklarının tutarlı kalmasını sağlamak için gradyanlar (model güncellemeleri) tüm cihazlar arasında senkronize edilir.
- Model Paralelliği: Bir sinir ağı (NN) tek bir GPU'nun belleğine sığmayacak kadar büyük olduğunda, modelin kendisi birden fazla cihaza bölünür. Modelin farklı katmanları veya bileşenleri farklı çiplerde bulunur ve veriler bunlar arasında akar. Bu, genellikle devasa temel modeller ve Büyük Dil Modellerini (LLM) eğitmek için gereklidir.
Link to this sectionGerçek Dünya Uygulamaları#
Dağıtık eğitim, daha önce hesaplama açısından imkansız olan sorunları çözmeyi mümkün kılarak endüstrileri dönüştürdü.
- Otonom Sürüş: Güvenli otonom araçlar geliştirmek, petabaytlarca video ve sensör verisinin analiz edilmesini gerektirir. Otomotiv mühendisleri, gerçek zamanlı anlamsal segmentasyon ve şerit algılama için görme modellerini eğitmek üzere büyük dağıtık kümeler kullanır. Bu devasa ölçek, otomotivdeki AI sistemlerinin çeşitli yol koşullarına güvenilir bir şekilde tepki verebilmesini sağlar.
- Tıbbi Görüntüleme: Sağlık sektöründe, MRI gibi yüksek çözünürlüklü 3D taramaları analiz etmek önemli miktarda bellek ve işlem gücü gerektirir. Dağıtık eğitim, araştırmacıların tümör tespiti ve diğer kritik görevler için yüksek performanslı tanı araçları oluşturmasını sağlar. Hastaneler, NVIDIA MONAI gibi çerçeveler kullanarak modelleri bellek darboğazlarına çarpmadan çeşitli veri kümeleri üzerinde eğitebilir ve sağlık hizmetlerindeki AI sonuçlarını iyileştirebilir.
Link to this sectionUltralytics ile Dağıtık Eğitimi Kullanma#
ultralytics kütüphanesi, Dağıtık Veri Paralelliği (DDP) eğitimini uygulamayı kolaylaştırır. En gelişmiş YOLO26 modellerinizin eğitimini, eğitim argümanlarınızda cihaz indekslerini belirterek birden fazla GPU'ya ölçekleyebilirsiniz.
from ultralytics import YOLO
# Load a pre-trained YOLO26 model
model = YOLO("yolo26n.pt")
# Train the model using two GPUs (device 0 and 1)
# The library automatically handles the DDP communication backend
results = model.train(data="coco8.yaml", epochs=100, device=[0, 1])Link to this sectionİlgili Kavramlar ve Karşılaştırmalar#
Belirli rollerini anlamak için dağıtık eğitimi makine öğrenimi ekosistemindeki benzer terimlerden ayırmak faydalıdır:
- Federated Learning ile Karşılaştırma: Her ikisi de birden fazla cihazı içermekle birlikte, hedefleri farklıdır. Dağıtık eğitim genellikle hızı en üst düzeye çıkarmak için verileri yüksek performanslı bir kümede merkezileştirir. Buna karşılık, federated learning, veri gizliliğine öncelik vermek için verileri kullanıcı cihazlarında (akıllı telefonlar gibi) merkezi olmayan bir şekilde tutar ve ham veriler hiçbir zaman kaynağı terk etmeden küresel modeli günceller.
- Yüksek Performanslı Hesaplama (HPC) ile Karşılaştırma: HPC, hava durumu tahmini gibi bilimsel simülasyonlar için süper bilgisayarları içeren geniş bir alandır. Dağıtık eğitim, derin öğrenmedeki optimizasyon algoritmalarına uygulanan özel bir HPC uygulamasıdır. Genellikle GPU'lar arasındaki gecikmeyi en aza indirmek için NVIDIA NCCL gibi özel iletişim kütüphanelerine güvenir.
Link to this sectionBulut Platformları ile Ölçeklendirme#
Dağıtık eğitim için altyapıyı yönetmek karmaşık olabilir. Modern platformlar, yönetilen ortamlar sunarak bunu basitleştirir. Örneğin, Ultralytics Platform, kullanıcıların veri kümelerini yönetmelerine ve bulut ortamlarına veya yerel kümelere dağıtılabilen eğitim süreçlerini başlatmalarına olanak tanır. Bu entegrasyon, veri etiketlemeden nihai model dağıtımına kadar olan iş akışını düzene sokar ve birden fazla GPU'ya ölçeklendirmenin mümkün olduğunca sorunsuz olmasını sağlar. Benzer şekilde, Google Cloud Vertex AI ve Amazon SageMaker gibi bulut sağlayıcıları, kurumsal ölçekte dağıtık eğitim işlerini yürütmek için sağlam altyapı sağlar.






