Bir profiler tek bir eğitim adımını (birçok adımın ortalaması) fazlara ayırıyor:
İlk optimizasyon denemesi için en iyi hedef hangi faz?
input_wait : 2 ms
forward : 18 ms
backward : 34 ms
collective : 6 ms
optimizer : 4 ms
-------------------
step total : 64 msİlk optimizasyon denemesi için en iyi hedef hangi faz?
- ainput_wait, çünkü sıfırdan farklı her bekleme pipeline'ın GPU'yu aç bıraktığı anlamına gelir
- bcollective, çünkü rank'lar arası iletişim senkron bir adımda gizli maliyete genelde hâkim olur
- cbackward, çünkü açık ara en büyük faz✓
- doptimizer, çünkü 4 ms'lik payı saf yükten ibarettir ve yük gerçek hesaptan önce silinmelidir
Açıklama:backward (34 ms) adımın yarısından fazlasını oluşturuyor ve diğer tüm fazların toplamından bile büyük; oradaki sabit yüzdelik bir iyileştirme en büyük mutlak zaman kazancını verir. input_wait yalnızca 2 ms (darboğaz değil), collective burada mütevazı 6 ms, optimizer'ın 4 ms'i ise normal, 'saf yük' değil.