Büyük Dil Modeli (LLM) eğitim kümelemeleri oluşturmak, tek tek GPU satın almaktan çok daha çok, aralarındaki bağlantıları mimarileştirmekle ilgilidir. Modeller milyarlarca parametreden trilyonlara doğru ölçeklendikçe, "ağ duvarı" birincil darboğaz haline gelir. Mühendisler, sıkı bağlılık için NVIDIA'nın özel NVLink çözümü ile ölçeklendirme için Ethernet (özellikle InfiniBand veya RoCE) arasında karar vermek zorundadır. Bu yazı, doğru üst yapıyı tasarlamanıza yardımcı olacak teknik ticaretleri (trade-offs) incelemektedir.
Bant Genişliği Manzarasını Anlamak
Temel fark, veri aktarım hızı (throughput) ve gecikme süresindedir. NVLink, GPU'lar arasında doğrudan yüksek bant genişliğine sahip, düşük gecikmeli bir ağ sağlar ve birden fazla GPU'nun tek, devasa bir bellek ünitesi gibi davranmasını etkinleştirir. 400GbE veya 800GbE gibi teknolojiler ve RDMA (Uzaktan Doğrudan Bellek Erişimi) ile büyük ölçüde iyileştirilmiş olsa da, Ethernet, anahtar katmanı ve protokol yükünden dolayı daha yüksek gecikme süresi sunar.
Her bir GPU modelin bir kopyasını tutar ve verinin farklı partilerini işlediği Veri Paralellizmi durumlarında Ethernet genellikle yeterlidir. Ancak, geri yayılım (backward pass) sırasında aktivasyon tensörlerinin sık sık değiştirilmesi gereken Model Paralellizmi veya Boru Hattı Paralellizmi durumlarında, NVLink'in üstün bant genişliği, hesaplama birimlerinin veri beklerken boşta kalmasını önler.
Üst Yapı (Topology) Düşünceleri
Kümenizi tasarlarken GPU'ların nasıl gruplandırıldığına dikkat etmeniz gerekir. Yaygın bir yanlış anlama, her şey için GPU'ları Ethernet üzerinden basitçe birbirine bağlayabileceğinizdir. İşte pratik bir ayrıştırma:
- NVLink Üst Yapısı: Genellikle tek bir düğüm içinde kullanılır (örneğin, NVSwitch üzerinden bağlanmış 8x H100 GPU). Bu, bir "süper-GPU" etkisi yaratır.
- Ethernet/InfiniBand Üst Yapısı: Düğümler arası iletişim için kullanılır. Binlerce düğümü birbirine bağladığınız yer burasıdır.
PyTorch Dağıtık Veri Paralellizmi (DDP) veya DeepSpeed gibi dağıtık eğitim çerçevelerinde en iyi performansı elde etmek için, düğümler içinde NVLink ve düğümler arasında yüksek hızlı InfiniBand (NCCL arka ucu kullanılarak) hedeflemelisiniz.
Uygulama Örneği: NCCL Yapılandırması
Eğitim betiğinizi kurarken, NCCL_IB_DISABLE ortam değişkeni hangi arka ucun kullanılacağını belirler. Yüksek hızlı bağlantıyı kullanmak için, saf ağ gecikmesini test ediyorsanız NVLink'i devre dışı bırakmalı veya düğümler arası iletişim için InfiniBand'i etkinleştirmelisiniz.
# Örnek: NCCL'i düğümler arası iletişim için InfiniBand kullanmaya zorlayın
# Bu, çok düğümlü LLM eğitim performansı için hayati önem taşır
export NCCL_SOCKET_IFNAME=eth0 # Yedek arayüz
export NCCL_IB_HCA=mlx5 # InfiniBand adaptörünü belirtin
export NCCL_DEBUG=INFO # Başlatma günlüklerini kontrol edin
# Eğitim işinizi çalıştırın
python -m torch.distributed.run \
--nproc_per_node=8 \
--nnodes=4 \
--node_rank=$RANK \
--master_addr=$MASTER_ADDR \
--master_port=$MASTER_PORT \
train.py
NCCL günlüklerinizi her zaman izleyin. Sık sık "NCCL WARN net/socket failed" uyarılarını görürseniz, bu Ethernet yedeklemenin devreye girdiğini gösterir ve bu durum eğitim verimliliğini ciddi şekilde düşürecektir.
Maliyet ve Ölçeklenebilirlik Ticaretleri
NVLink pahalıdır. Sunucu kasası içinde özel PCIe anahtarları ve üst yapı gerektirir. Özellikle standart 400Gb/800Gb Ethernet anahtarları kullanan Ethernet, yüzlerce veya binlerce düğüme ölçeklenmek için daha maliyet etkin bir yol sunar. Ancak, Ethernet'in "maliyeti" genellikle geliştirici zamanı ve ayarlama çabasıyla ödenir. Ethernet için RDMA ayarlarını, arabellek boyutlarını ve yoğunluk kontrolü algoritmalarını optimize etmek, bir NVSwitch ağına takılmaktan çok daha karmaşıktır.
Sonuç
Her şeye uyan tek bir cevap yoktur. Küçük ölçekli ince ayarlamalar (<100 GPU) için, yalnızca NVLink içeren kümeler genellikle gereksiz yere pahalıdır ve standart Ethernet yeterlidir. Temel model öncesi eğitimi için, düğüm içi iletişim için NVLink vazgeçilmezdir, düğümler arası ölçeklendirme için ise yüksek performanslı Ethernet/InfiniBand kritiktir. Bu farklı rolleri anlayarak, maliyeti, karmaşıklığı ve ham hesaplama gücünü etkili bir şekilde dengeleyen bir LLM altyapısı oluşturabilirsiniz.