Bu konu, DLC içindeki SanityCheck özelliğinin nasıl kullanılacağını açıklar.
Genel Bakış
Yapay zeka eğitimi senaryolarında aşağıdaki sorunlarla karşılaşabilirsiniz:
İşleri kesintiye uğratan ve GPU kaynaklarını boşa harcayan kaynak hataları: Bir iş, model kontrol noktasını yükleme gibi başlatma işlemlerinde önemli zaman harcayabilir ve arızalı kaynaklar nedeniyle başarısız olabilir. Sorunu araştırıp işi yeniden göndermek GPU kaynaklarının israfına neden olur.
Performans tanılama ve testi için yetersiz araçlar: İş sırasında model eğitim performansı düşerse bunun nedeni yavaş bir düğüm olabilir ancak bunu hızlıca belirlemek zor olabilir. Ayrıca kullanıcılar genellikle bir kaynak grubundaki makinelerin GPU hesaplama ve iletişim performansını test etmek için kullanışlı ve güvenilir kıyaslamalara sahip değildir.
Bu sorunları çözmek için DLC, dağıtılmış eğitim işleri için hesaplama kaynaklarının sağlığını ve performansını kontrol eden SanityCheck özelliğini sunar. Bu özelliği bir DLC eğitim işi oluştururken etkinleştirebilirsiniz. SanityCheck, eğitim kaynaklarında kapsamlı bir denetim gerçekleştirir, arızalı düğümleri otomatik olarak izole eder ve arka uçta otomatik bakım iş akışlarını tetikler. Bu süreç, eğitimin ilk aşamasındaki sorun olasılığını azaltır ve iş başarı oranını artırır. Denetimler tamamlandığında SanityCheck, GPU hesaplama ve iletişim performansı üzerine bir rapor oluşturur. Rapor, eğitim performansını düşürebilecek faktörleri belirlemenize yardımcı olarak genel tanılama verimliliğini artırır.
Sınırlamalar
Şu anda bu özellik yalnızca Lingjun akıllı hesaplama kaynaklarını kullanan PyTorch eğitim işleri için kullanılabilir. Bu işlerin, tahsis edilen her makinedeki tüm GPU'ları kullanması gerekir. Lingjun akıllı hesaplama kaynaklarına yalnızca izin listesindeki kullanıcılar erişebilir. Erişim talep etmek için hesap yöneticinizle iletişime geçin.
Sağlık denetimlerini etkinleştirin
Konsolu kullanın
PAI konsolunda bir DLC eğitim işi oluşturma sırasında, aşağıdaki ana parametreleri yapılandırarak sağlık denetimlerini etkinleştirebilirsiniz. İşi oluşturduktan sonra sistem, sonuçları sağlamadan önce kaynak sağlığını ve kullanılabilirliğini kontrol eder.
Ana parametreler aşağıda açıklanmıştır:
-
Resource Information bölümünde:
Parametre
Açıklama
Resource TypeLingjun Intelligence Resources seçin.
SourceResource Quota seçin.
Resource QuotaLingjun akıllı hesaplama kaynakları için mevcut bir kaynak kotası seçin. Kaynak kotası oluşturma hakkında bilgi için bkz. Kaynak kotası oluşturma.
FrameworkPyTorch seçin.
Job Resourceİş, her makinedeki tüm GPU'ları kullanacak şekilde yapılandırılmalıdır.
-
Fault Tolerance and Diagnosis bölümünde, Health Check anahtarını açın ve aşağıdaki parametreleri yapılandırın:
Parametre
Açıklama
Check Time
-
Before Job Runs (varsayılan): Sistem, işe kaynak tahsis ettikten sonra ve kodunuz çalıştırılmadan önce hesaplama düğümlerinde ön denetim gerçekleştirir.
-
After Job Restarts: AIMaster otomatik hata toleransı, bir istisna nedeniyle bir işi yeniden başlattıktan sonra sağlık denetimi gerçekleştirir.
NotBu seçeneği kullanmak için Automatic Fault Tolerance anahtarını açmanız gerekir. Daha fazla bilgi için bkz. AIMaster: Esnek ve otomatik hata toleransı motoru.
-
Before Job Runs + After Job Restarts: Hem iş çalışmadan önce hem de iş yeniden başlatıldıktan sonra sağlık denetimi gerçekleştirir.
NotBu seçeneği kullanmak için Automatic Fault Tolerance anahtarını açmanız gerekir. Daha fazla bilgi için bkz. AIMaster: Esnek ve otomatik hata toleransı motoru.
Check Items
Denetim öğeleri dört kategoriye ayrılmıştır: hesaplama performansı denetimi, düğüm iletişimi denetimi, hesaplama ve iletişim örtüşmesi denetimi ve model simülasyon doğrulaması. Denetim öğeleri ve önerilen senaryolar hakkında daha fazla bilgi için bkz. Ek: Denetim öğeleri.
-
Varsayılan olarak GPU GEMM (GPU GEMM performansını kontrol etmek için) ve All-Reduce (düğüm iletişim performansını kontrol etmek ve yavaş veya arızalı düğümleri belirlemek için) etkindir.
-
Bir listeden denetim öğelerini arayabilir veya seçebilirsiniz. Ayrıca önceden tanımlanmış bir denetim öğesi kümesini seçmek için hızlı bir yapılandırma şablonu kullanabilirsiniz.
Maximum Check Duration
Sağlık denetimi için izin verilen maksimum süre. Varsayılan değer 60 dakikadır. Denetim zaman aşımına uğrarsa sistem, denetim istisnalarını işlemek için yapılandırılan ilkeyi tetikler.
Exception Handling Policy
Bir sağlık denetimi başarısız olursa sistem, işi seçilen ilkeye göre işler:
-
End job: Arızalı veya şüpheli bir düğüm tespit edilirse iş sonlandırılır ve Check Failed olarak işaretlenir.
-
Add to blocklist and rerun: Arızalı veya şüpheli bir düğüm tespit edilirse sistem düğümü otomatik olarak engelleme listesine ekler, işi yeniden başlatır ve tüm denetimler geçene kadar denetimleri yeniden çalıştırır.
Maximum Restart Count
İşleme ilkesi 'engelleme listesine ekle ve yeniden çalıştır' olarak ayarlandığında maksimum yeniden başlatma sayısını yapılandırabilirsiniz. Varsayılan değer 10'dur. Maksimum yeniden başlatma sayısı aşılırsa görev otomatik olarak başarısız olur.
Other Configurations
Bu parametre varsayılan olarak boştur. Gelişmiş parametreleri yapılandırmak için kullanabilirsiniz.
-
Denetim sonuçlarını görüntüleyin
Sağlık denetimi durumu
Bir DLC işi için sağlık denetimi süreci aşağıdaki durumları içerir:
Checking: Sağlık denetimi devam ediyor.
Check Failed: Arızalı bir düğüm tespit edilirse veya denetim zaman aşımına uğrarsa denetim başarısız olur.
Check Passed: Tüm sağlık denetimleri başarılı olduktan sonra işin durumu Running olarak değişir.
Sağlık denetimi sonuçlarını görüntüleyin
Konsolu kullanın
Bir DLC işinin ayrıntılar sayfasında, Event sekmesine gidin ve denetim ilerlemesini ve sonuçlarını görüntülemek için Health Check öğesine tıklayın.
Sağlık denetimi; Preparing Check Environment, GPU GEMM, GPU Kernel Launch, All-Reduce-Single-Node, MatMul/All-Reduce Overlap ve Mini GPT-Single-Node gibi öğeleri içerir. Yeşil onay işareti, bir öğenin geçtiğini gösterir.
Yeniden başlatma sayısını, yeniden başlatma nedenini ve sonucu görüntülemek için Restart History sekmesine tıklayın.
Mesaj bildirimlerini yapılandırın
PAI çalışma alanınızın olay bildirim ayarlarında bir bildirim kuralı oluşturabilirsiniz. Event Type için DLC Job > Automatic Fault Tolerance seçin. Diğer parametrelerin nasıl yapılandırılacağı hakkında bilgi için bkz. Mesaj Bildirimi. Sistem, bir sağlık denetimi başarısız olursa bir bildirim gönderir.
Çalışma alanında mesaj bildirim kuralları oluşturma talimatları için bkz. Olay Bildirimi Ayarları.
Ek: Denetim öğeleri
Tahmini denetim süreleri iki makinelik bir kurulum baz alınarak hesaplanmıştır ve yalnızca referans amaçlıdır. Gerçek süreler değişiklik gösterebilir.
|
Denetim öğesi |
Açıklama (senaryolar) |
Tahmini süre |
|
|
Hesaplama performansı denetimi |
GPU GEMM |
GPU GEMM performansını test eder. Bu denetim şunları belirleyebilir:
|
1 dakika |
|
GPU Kernel Launch |
GPU kernel başlatma gecikmesini test eder. Bu denetim şunları belirleyebilir:
|
1 dakika |
|
|
Düğüm iletişimi denetimi |
All-Reduce |
Düğüm iletişim performansını test eder ve yavaş veya arızalı iletişim düğümlerini belirler. Çeşitli toplu iletişim desenleri için şunları belirler:
|
Tek toplu iletişim denetimi 5 dakika |
|
All-to-All |
|||
|
All-Gather |
|||
|
Multi-All-Reduce |
|||
|
Network Connectivity |
Bağlantı sorunları olan düğümleri belirlemek için baş veya son düğümlerin ağ bağlantısını test eder. |
2 dakika |
|
|
Hesaplama ve iletişim örtüşmesi denetimi |
MatMul/All-Reduce Overlap |
İletişim ve hesaplama kernellerinin örtüştüğü durumlarda tek düğüm performansını test eder. Bu denetim şunları belirleyebilir:
|
1 dakika |
|
Model simülasyon doğrulaması |
Mini GPT |
Model simülasyonu kullanarak yapay zeka sisteminin güvenilirliğini doğrular. Şunları belirler:
|
1 dakika |
|
Megatron GPT |
5 dakika |
||
|
ResNet |
2 dakika |
||