Teknik KILAVUZ

Toplu İletişim ve NCCL

Toplu iletişim, bir grup GPU'nun veri alışverişi ve birleştirmesidir ve NCCL, bu alışverişi son derece hızlı hale getiren NVIDIA kitaplığıdır.

2 min readSon güncelleme

Genel Bakış

Operations like all-reduce are the heartbeat of distributed training, synchronizing gradients across every GPU each step.

Derin Dalış

Büyük bir modelin eğitilmesi, her GPU'nun kendi veri dilimindeki gradyanları hesaplaması ve ardından bir sonraki adımdan önce tüm GPU'ların birleşik bir sonuç üzerinde anlaşması gerektiği anlamına gelir. Bu koordinasyon kolektif işlemlerle yapılır: All-reduce, GPU'lar arasındaki değerleri toplar ve herkese sonucu verir; all-gather her GPU'nun parçasını hepsinin üzerinde tam bir kopya halinde toplar; yayın bir GPU'nun verilerini diğerlerine gönderir; azalt-dağılım birleştirir ve sonra böler. NCCL (NVIDIA Toplu İletişim Kitaplığı), halka ve ağaç tamamen azaltma gibi topolojiye duyarlı algoritmalar kullanarak bunları bir sunucudaki GPU'lar ve sunucular genelinde verimli bir şekilde uygular. Bir düğüm içindeki NVLink'ten ve düğümler arasında InfiniBand veya RoCE'den yararlanır ve PyTorch DDP, FSDP, DeepSpeed ​​ve Megatron kapsamındaki iletişim omurgasıdır.

Teknik Bilgi

Ring all-reduce klasik algoritmadır: GPU'lar mantıksal bir halka oluşturur ve veriler dolaşan parçalara bölünür, böylece her adım iletişimle örtüşür, böylece toplam aktarım bant genişliği optimal hale gelir ve kabaca GPU sayısından bağımsız olur. Birçok düğüm için ağaç tabanlı algoritmalar, sonuçları hiyerarşik olarak birleştirerek gecikmeyi azaltır. NCCL, topolojiyi otomatik olarak algılar, en iyi algoritmayı seçer ve indirgeme matematiğini NVIDIA SHARP ile ağa aktararak bağlantıların üzerinden geçmesi gereken verileri yarıya indirebilir.

Stratejik Etki

Maliyet ve bütçe

Mimari kararlar yıllarca performansı ve işletme maliyetini etkiler.

Daha net kararlar

Teknik eğitim, ekiplerin yalnızca en yenisini değil, doğru yığını seçmesine de yardımcı olur.

Quality control

Daha iyi mühendislik seçenekleri, üretimdeki güvenilirlik olaylarını azaltır.

Toplu İletişimin Geleceği ve NCCL

Kümeler yüzbinlerce GPU'ya ölçeklendikçe iletişim, eğitim süresine giderek daha fazla hakim oluyor, dolayısıyla toplu kütüphaneler sıcak bir sınır haline geliyor. Daha derin ağ içi bilgi işlem (anahtarların azaltmayı yapması), gecikmeyi gizlemek için bilgi işlem ve iletişimin daha iyi örtüşmesi ve taşınan baytları küçülten daha düşük hassasiyetli kolektifler bekleyebilirsiniz. Satıcılar arası çabalar ve alternatifleri zorlayan Ethernet tabanlı RDMA ile rekabet de artıyor; NCCL ise NVLink, NVSwitch ve yeni ortaya çıkan optik yapılarla entegrasyonu sıkılaştırmaya devam ediyor.

Gerçek Dünya Uygulaması

PyTorch DistributedDataParallel'de all-reduce özelliğini kullanarak tüm GPU'larda her eğitim adımında degradeleri senkronize etme

FSDP veya DeepSpeed Zero'da tümünü toplama ve saçılımı azaltma özelliğiyle optimizasyon durumlarını parçalama ve talep üzerine parametreleri toplama

Bir eğitim çalışmasının başlangıcında ilk model ağırlıklarını bir GPU'dan diğerlerine yayınlama

Çok düğümlü GPU kümelerinde bant genişliğini yüksek tutmak için NVLink ve InfiniBand üzerinden ring all-reducing kullanımı

Riskler ve Korkuluklar

Bir kıyaslamayı optimize etmek daha geniş sistem zayıflıklarını gizleyebilir.

Altyapı ve bakım maliyetleri genellikle hafife alınır.

Sistemler karmaşıklaştıkça güvenlik ve gözlemlenebilirlik boşlukları büyüyebilir.

Uygulama Yol Haritası

1

Uygulamadan önce gecikmeyi, kaliteyi ve maliyet hedeflerini tanımlayın.

2

Gerçekçi yük ve veri koşulları altında kıyaslama yapın.

3

Hatalar, sapmalar ve kullanıcı etkisi için cihaz izleme.

4

Ölçeklendirmeden önce geri alma ve olay müdahale yollarını hazırlayın.

Keşfetmeye Devam Edin

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the Collective Communication and NCCL quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

Testi başlat

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Next guide

Çevrimiçi ve Çevrimdışı Özellik Sunumu Eğik

Sık sorulan sorular

What is Collective Communication and NCCL?

Toplu iletişim, bir grup GPU'nun veri alışverişi ve birleştirmesidir ve NCCL, bu alışverişi son derece hızlı hale getiren NVIDIA kitaplığıdır. Tümünü azaltma gibi işlemler, her adımda her GPU'daki degradeleri senkronize eden dağıtılmış eğitimin kalbidir.

Dağıtılmış eğitimde tamamen azaltma işlemi ne başarır?

All-reduce, her GPU genelinde bir değeri toplar (veya başka bir şekilde birleştirir) ve aynı sonucu hepsine geri dağıtır; bu, degradelerin nasıl senkronize edildiğini gösterir.

NCCL kısaltması ne anlama geliyor?

NCCL, hızlı çoklu GPU ve çok düğümlü toplu işlemleri uygulayan NVIDIA Toplu İletişim Kitaplığıdır.

Halkanın tamamını azaltma neden bant genişliği açısından ideal olarak değerlendiriliyor?

Verilerin parçalanması ve parçaların mantıksal bir halka etrafında aktarılmasıyla, her bağlantı aynı anda kullanılır ve toplam aktarım, kabaca GPU sayısından bağımsız hale gelir.

Hangi kolektif işlem, her bir GPU'nun veri parçasını, tüm GPU'lar tarafından tutulan tam bir kopya halinde toplar?

All-gather, her GPU'dan farklı parçaları toplar ve FSDP gibi parçalı eğitimlerde yoğun olarak kullanılan tüm seti bunların üzerinde birleştirir.

NVIDIA SHARP kolektif operasyonlar için ne yapar?

SHARP, ağ içi bilgi işlem gerçekleştirir ve anahtar içindeki azaltmanın bir kısmını yapar, böylece daha az verinin bağlantılardan geçmesi gerekir, bu da kolektifleri hızlandırır.