PyTorch 2.15, 28 Ekim'de yayımlandı ve dağıtık eğitimde kullanılan varsayılan NCCL iletişim arka ucunu yeniden yazılmış sürüme geçirdi. Sürüm, iletişim işlemleri takıldığında veya zaman aşımına uğradığında tanılama durumunu kaydeden 'flight recorder' özelliğini de sunuyor.
Crypto Briefing, yeniden yazılan NCCL arka ucunun PyTorch'taki tüm nccl süreç gruplarında varsayılan hale geldiğini aktardı.
Yapay zekâ modelleri birden fazla GPU üzerinde eğitilirken cihazlar işleri paylaşır ve sonuçları eşitlemek için veri alışverişi yapar. Bu iletişim, dağıtık eğitimin ilerleyişini etkiler.
Nvidia'nın (Nvidia) kolektif iletişim kütüphanesi NCCL, GPU'lar arasındaki veri alışverişini yürütür. Birden fazla cihazın katılmasını gerektiren bu işlemlere 'collective' iletişim denir.
Yeni arka uç, PyTorch'taki tüm nccl süreç gruplarına varsayılan olarak uygulanıyor. Süreç grubu, belirli bir işi birlikte yürüten GPU'ların oluşturduğu kümedir.
İletişimin takıldığı durumlarda sorunun kaynağını bulmak zor olabilir. Süreçler çalışıyor görünse bile collective iletişim ilerlemediğinde iş durabilir; çökme durumundaki gibi açık bir hata kaydı da oluşmayabilir.
PyTorch'un 'flight recorder' (uçuş kayıt cihazı) adını verdiği özellik, collective iletişim durduğunda veya zaman aşımına uğradığında tanılama durumunu otomatik olarak kaydediyor. Operasyon ekipleri bu kayıtları inceleyerek iletişimin nerede kesildiğini analiz edebiliyor.
Kayıt özelliği belirli bir iletişim kütüphanesine bağlı olmayan, arka uçtan bağımsız bir yapıda. Bu nedenle Nvidia dışı donanım kullanan veya karma ortamları işleten ekipler de bu özellikten yararlanabiliyor.
Yeni NCCL arka ucu ilk olarak PyTorch 2.14'te isteğe bağlı bir seçenek olarak sunulmuştu. 2.15'te varsayılan çalışma yolu haline gelirken collective iletişim sorunlarını teşhis etmek için flight recorder da eklendi.
PyTorch, arıza sonrasında eğitim kümesini daha hızlı yeniden yapılandırmaya yarayan bir yol da ekledi. Bu özellik, iletişim gruplarını yeniden kurmak için gereken süreyi azaltıyor.
Hızlı yeniden yapılandırma yolunu kullanmak için NCCL 2.29 veya üzeri gerekiyor. ROCm ortamında RCCL 2.30.7, arıza sonrası yeniden yapılandırmayı destekliyor.
Tanılama kaydı ve işin yeniden yapılandırılması ayrı özellikler. Bu nedenle PyTorch 2.15'i yüklemek, durmuş bir eğitim işini otomatik olarak sürdürmüyor.
TokenPost daha önce AMD ile Meta'nın PyTorch'ta AMD GPU hesaplamasını optimize etme örneğini de aktarmıştı. PyTorch 2.15'teki bu değişiklik, hesaplama optimizasyonundan ziyade GPU'lar arasındaki iletişim sorunlarının tanılanmasına ve yeniden yapılandırmaya odaklanıyor.
Önceki davranışa dönmeyi sağlayan ayar yalnızca 2.15'te bulunuyor ve sonraki sürümde kaldırılacak. Operasyon ekiplerinin yeni arka ucun başlatma ve iletişim davranışını, ayrıca gerekli kütüphane sürümlerini gerçek iş ortamlarında kontrol etmesi gerekiyor.
Comment 0