Herhangi bir veri merkezinde, ister yapay zeka odaklı olsun ister olmasın, düğümler arasındaki hızlı ağ iletişimi, düğümlerin kendi hızı kadar önemlidir. Yapay zeka çalışmalarında geliştiriciler, genellikle Nvidia'nın NCCL'si veya AMD'nin RCCL'si gibi üreticiye özel ağ kütüphanelerine yönlendirilir. Ancak, yeni bir makalede, bir grup Güney Koreli bilim insanı, her iki üreticinin de GPU'larından oluşan kümelerin tek bir birim gibi çalışmasına olanak tanıyan, üreticiden bağımsız bir yaklaşım olan HetCCL adlı yeni bir kütüphane önerdi.
Tek bir sistemdeki birden fazla GPU arasında iletişim için kullanılabileceği gibi, veri merkezindeki toplu iletişimler genellikle İyi Eski Uzaktan Doğrudan Bellek Erişimi (RDMA) teknolojisini kullanır. Bu teknoloji, uygulamaların verileri ağdaki başka bir GPU'ya aktarmasına olanak tanır. Veri paketlerinin sürücü, TCP/IP yığını ve işletim sistemi ağ katmanı üzerinden işlem yapmak yerine doğrudan bir cihazın belleğine (bu durumda GPU VRAM'ine) gönderildiğini düşünün.
Makalenin yazarları, HetCCL'nin, platformlar arası iletişimi ve yük dengelemeyi mümkün kılarak, üreticiye özel CCL'ler için dünyada ilk kez kullanıma hazır bir değiştirme seçeneği sunduğunu iddia ediyor. HetCCL'nin en büyük başarısı, çoklu üretici dağıtımlarını uygulanabilir hale getirerek, geliştiricilerin belirli bir görev için Nvidia ve AMD sunucu raflarının toplam hesaplama kapasitesini kullanmalarına izin vermesidir.
İkinci olarak, HetCCL doğrudan bir kütüphane değiştirme seçeneği sunuyor ve görünüşe göre geliştiricilerin uygulamalarını üreticinin CCL'si yerine HetCCL koduna bağlamaları yeterli oluyor. Buradaki en iyi benzetme, oyunlara gelişmiş post-processing filtreleri eklemek için bir DLL dosyasını değiştirmektir. Bu sayede, uygulamadan sürücülere kadar hiçbir yerde kaynak kodu değişikliği gerekmediği belirtiliyor; bu da HetCCL ekibinin gururla vurguladığı bir özelliktir.
Üçüncü olarak, gelecekteki yeni GPU üreticileri için örtük olarak destek ekliyor. Çünkü bir kez HetCCL'ye bağlanan uygulama kodu, veri transferi çağrılarının gerçekten Nvidia GPU'larına mı gideceği konusunda endişelenmek zorunda kalmıyor. Son olarak, HetCCL tüm bunları minimum ek yük ile başarıyor ve bazen daha iyi varsayılan ayarlama parametreleri sayesinde orijinal CCL'den daha iyi performans gösteriyor.
Bilim insanları, bu durumu göstermek için dört düğümlü bir kümede testler gerçekleştirdi. Bu kümede 2x4 Nvidia GPU ve 2x4 AMD GPU bulunuyordu. Sonuçların üreticiler arası kıyaslama testleri olmadığını, ancak sınırlı test kaynaklarıyla HetCCL'nin potansiyelini göstermeyi amaçladığını belirtmek önemlidir. Sonuçta, Nvidia sistemi PCI 3.0 GPU'lara sahipken, AMD sistemleri PCIe 4.0 birimlerine sahipti; hepsi de artık eski donanımlar.
Çoğu durumda, sonuçlar, Nvidia ve AMD'nin hesaplama gücünü körü körüne ekleyerek teorik maksimum değerlere ulaşıyor. Bu etkileyici bir başarı olsa da, doğal olarak kurulumlara ve iş yüklerine göre büyük farklılıklar gösterebilir. Doğru koşullar altında HetCCL, hem Nvidia hem de AMD GPU'larını verimli bir şekilde aynı anda kullanmak, modelleri eğitme maliyetlerini düşürebilir. Çünkü görevler artık kümeler arasında bölünmek ve birbirini beklemek zorunda kalmıyor. Ayrıca, bu tür görevlerin yönetiminde insan gücü tasarrufu da sağlanabilir.
Göz önünde bulundurulması gereken ana dezavantajlar, bir GPU üreticisini seçmenin aynı zamanda bir yazılım ekosistemini de seçmek anlamına gelmesi ve şu anda Nvidia'nın sunduklarının standart olması nedeniyle, üreticiler arası bir yapay zeka veri merkezi dağıtımını hayal etmenin zor olmasıdır. Ayrıca, sistem yöneticileri doğaları gereği muhafazakar olup, bakım ve destek kolaylığı için tek bir üreticiye bağlı kalmayı tercih ederler.
Diğer bir dikkat çekici nokta ise, ağ katmanını soyutlamanın yalnızca bir adım olduğudur. Veri merkezi düzeyinde çalışan model eğitimi ve yapay zeka ile ilgili hemen hemen her görev, GPU'ya özgü birçok kod ve kurulum optimizasyonu içerir. Ağ katmanı ne kadar platformlar arası olursa olsun, bu sınırlama devam edecektir.
Tüm bunlara rağmen, HetCCL'nin temel amacı, heterojen kurulumların benimsenmesi için büyük bir engelin kaldırılabileceğini göstermektir ve başkaları da bu yolda ilerleyebilir.