Yolo Vision Shenzhen
Shenzhen
Şimdi katılın
Sözlük

Dağıtık Eğitim

Dağıtık eğitim ile AI eğitimini hızlandırın! Eğitim süresini nasıl kısaltacağınızı, modelleri nasıl ölçeklendireceğinizi ve karmaşık ML projeleri için kaynakları nasıl optimize edeceğinizi öğrenin.

Dağıtılmış eğitim şu alanlarda güçlü bir tekniktir hızlandıran makine öğrenimi (ML) Hesaplama iş yükünü birden fazla işlemciye bölerek model oluşturma süreci, örneğin Grafik İşleme Birimleri (GPU'lar) veya Tensor İşleme Birimleri (TPU'lar). Eşzamanlı cihazların birleşik gücünden yararlanarak - ister tek bir iş istasyonu veya geniş bir küme genelinde ağa bağlı olarak geliştiriciler karmaşık eğitimler için gereken süreyi önemli ölçüde azaltabilir derin öğrenme (DL) mimarileri. Bu yaklaşım büyük veri kümelerini işlemek ve en son teknolojiyi geliştirmek için gereklidir yapay zeka (AI) sistemleri, daha hızlı yineleme döngüleri ve daha kapsamlı deneyler yapılmasına olanak tanır.

Paralelleştirme için Temel Stratejiler

İş yükünü etkin bir şekilde dağıtmak için mühendisler genellikle iki temel stratejiden birini veya karma bir yaklaşım kullanır verimliliği en üst düzeye çıkarmak için tasarlanmıştır:

  • Veri Paralelliği: Bu, aşağıdaki gibi görevler için en yaygın yöntemdir nesne tespiti. Bu kurulumda, tam bir kopya her cihazda bulunur. Bu eğitim verileri daha küçük parçalara bölünür ve her cihaz aynı anda farklı bir alt kümeyi işler. sırasında geriye yayılım aşamasında, gradyanlar hesaplanır gibi iletişim protokolleri kullanılarak tüm cihazlar arasında senkronize edilir. güncellemek için Mesaj Geçirme Arayüzü (MPI) model ağırlıkları tutarlı bir şekilde.
  • Model Paralelliği: Ne zaman bir sinir ağı (NN) içine sığamayacak kadar büyüktür Tek bir GPU'nun belleği için model paralelliği gereklidir. Modelin katmanları veya bileşenleri bölümlere ayrılır farklı cihazlar arasında. Veriler ağdan geçerken cihazlar arasında sıralı veya eş zamanlı olarak akar. Bu teknik, kitlesel eğitim için kritik öneme sahiptir temel modelleri ve Büyük Dil Modelleri (LLM'ler), burada gibi özel araçlar gerektiren parametre sayıları trilyonlara ulaşabilir. Belleği yönetmek için Microsoft DeepSpeed.

Gerçek Dünya Uygulamaları

Dağıtılmış eğitim, endüstrilerin daha önce zaman nedeniyle hesaplama açısından mümkün olmayan problemleri çözmesini sağlar veya bellek kısıtlamaları.

  • Otonom Sürüş: Güvenilir sürücüsüz araçlar geliştirmek için petabaytlarca videonun işlenmesi gerekiyor ve sensör verileri. Otomotiv şirketleri, gerçek zamanlı görüş modellerini eğitmek için büyük ölçekli dağıtılmış kümeler kullanıyor semantik segmentasyon ve nesne takibi. Otomotiv iş akışlarında yapay zekadan yararlanarak, Mühendisler, performansı artırmak için güvenlik açısından kritik modeller üzerinde hızla yineleme yapabilirler.
  • Tıbbi Görüntüleme: İçinde Sağlık Hizmetlerinde Yapay Zeka, yüksek çözünürlüklü 3D analiz MRI veya CT gibi taramalar önemli hesaplama kaynakları gerektirir. Dağıtılmış eğitim araştırmacıların şunları yapmasına olanak tanır çeşitli yüksek doğruluklu teşhis modellerini eğitin, gizlilikle uyumlu veri kümeleri. Gibi çerçeveler NVIDIA CLARA genellikle dağıtılmış tekniklere dayanır Bu karmaşık tıbbi görüntüleri verimli bir şekilde işlemek için.

YOLO ile Dağıtılmış Eğitimin Uygulanması

Bu ultralytics kütüphanesi, Dağıtılmış Veri Paralel (DDP) eğitiminin uygulanmasını basitleştirir. Sen eğitiminizi kolayca ölçeklendirebilir YOLO11 genelinde modeller cihaz endekslerini belirterek birden fazla GPU'yu kullanabilirsiniz.

from ultralytics import YOLO

# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")

# Train the model using two GPUs (device 0 and 1)
# The library automatically handles DDP setup for parallel processing
results = model.train(data="coco8.yaml", epochs=5, device=[0, 1])

Dağıtılmış Eğitim ve İlgili Kavramlar

Dağıtılmış eğitimi yapay zeka ekosistemindeki diğer ilgili terimlerden ayırmak önemlidir:

  • vs. Federe Öğrenme: Her ikisi de birden fazla cihaz içermekle birlikte, temel hedefleri farklıdır. Dağıtılmış eğitim, hızı ve verimi en üst düzeye çıkarmak için genellikle verileri yüksek performanslı bir kümede merkezileştirir. İçinde aksine, birleştirilmiş öğrenme verileri önceliklendirmek için kullanıcı cihazlarında (akıllı telefonlar gibi) merkezi olmayan veri gizliliği, model güncellemelerinin ham verilerin kaynak cihazdan hiç ayrılmaması.
  • Yüksek Performanslı Hesaplamaya (HPC) karşı: HPC, aşağıdakiler için süper hesaplamayı kapsayan geniş bir alandır hava tahmini gibi bilimsel simülasyonlar. Dağıtılmış eğitim, HPC'nin özel bir uygulamasıdır nöral sistemlerde optimizasyon algoritmalarına gibi özel iletişim kütüphanelerini kullanarak ağları GPU'lar arasındaki gecikmeyi azaltmak için NVIDIA NCCL.

Araçlar ve Ekosistem

Açık kaynaklı araçlar ve platformlardan oluşan sağlam bir ekosistem, dağıtılmış eğitimin uygulanmasını destekler:

  • Çerçeveler: PyTorch yerli teklifler dağıtılmış paketi aracılığıyla desteklerken TensorFlow gibi stratejiler sağlar MirroredStrategy sorunsuz ölçeklendirme için.
  • Orkestrasyon: Büyük bir kümedeki kaynakları yönetmek genellikle konteyner düzenlemesini içerir Kubernetes gibi araçlar veya Eğitim işlerinin dağıtımını ve ölçeklendirilmesini otomatikleştiren Kubeflow.
  • Bulut Altyapısı: Başlıca sağlayıcılar aşağıdaki gibi yönetilen hizmetler sunar AWS SageMaker ve Dağıtık sistemler için optimize edilmiş altyapı sağlayan Google Cloud TPU 'lar iş yükleri, donanım bakım yükünü ortadan kaldırır.
  • Evrensel Ölçeklenebilirlik: Horovod gibi kütüphaneler ve Ray, ölçeklendirme için çerçeveden bağımsız yaklaşımlar sağlayarak geliştiricilerin kodlarını minimum değişiklikle dağıtılmış ortamlar için kullanabilirler.

Ultralytics topluluğuna katılın

Yapay zekanın geleceğine katılın. Küresel yenilikçilerle bağlantı kurun, işbirliği yapın ve birlikte büyüyün

Şimdi katılın