Pytorch ve Pytorch/XLA için yapı hızının optimize edilmesi birkaç strateji içerir:
Pytorch Oluşturma Hızını Optimize Etme
1. Önceden inşa edilmiş ikili dosyalar kullanın: Kaynaktan bina yerine, Pytorch'un resmi web sitesinde bulunan önceden inşa edilmiş ikili dosyaları kullanın. Bu ikili dosyalar, performans için çok önemli olan MKL ve Magma gibi kütüphanelerle optimize edilmiştir [5].
2. Oluşturma işlemini optimize et: Kaynaktan oluşturmanız gerekiyorsa, derlenmiş dosyaları önbelleğe almak için `ccache` gibi araçları kullanın. Bu, kodda küçük değişiklikler yaptıktan sonra yeniden inşa sürelerini önemli ölçüde azaltır [7].
3. Derlemeye paralelleştir: Mevcut CPU çekirdeklerinin sayısına uyacak şekilde oluşturma iş sayısını ayarlayarak çok çekirdekli işlemcileri kullanın. Bu, yapım sisteminizde `` yap "veya benzer seçeneklerle` -j` gibi bayraklar kullanılarak yapılabilir.
Pytorch/XLA performansını optimize etmek
1. Tembel Yürütme: Pytorch/XLA, yürütmeden önce bir grafikte işlemleri kaydeden tembel tensör yürütmeyi kullanır. Bu, birden fazla işlemin tek bir optimize edilmiş işleme kaynaştırılmasıyla optimizasyona izin verir [4] [6].
2. Ön yük verileri: Verileri XLA cihazlarına önceden yüklemek için `mpDeviceloader 'kullanın ve ana bilgisayar CPU ve cihaz arasındaki iletişim yükünü azaltır [8].
3. CPU-cihaz iletişimini en aza indirin: CPU ve XLA cihazı arasında basılı ifadeler veya günlük geri çağrıları gibi senkronizasyon gerektiren işlemleri azaltın veya kaldırın [8].
4. Optimizasyon için engelleri kullanın: Büyük hesaplama grafiklerini daha küçük olanlara bölmek için `xm.mark_step ()` gibi bariyerleri ekleyerek XLA derleyicisinin daha etkili bir şekilde optimize etmesine izin verin [8].
5. Bulut TPU'larından yararlanın: Büyük ölçekli eğitim için, yüksek performans ve uygun maliyetli eğitim elde etmek için Pytorch/XLA ile bulut TPU'larını kullanın [2] [9].
Alıntılar:[1] https://www.reddit.com/r/machinelearning/comments/kvs1ex/d_here_are_17_ways_of_making_pytorch_training/training/training
[2] https://www.youtube.com/watch?v=pspmrtwums8
[3] https://sebastianraschka.com/blog/2023/pytorchfaster.html
[4] https://pytorch.org/xla/release/r2.4/index.html
[5] https://discuss.pytorch.org/t/is-building-from-source-really-peed-up-peed/91057
[6] https://pytorch.org/xla/release/2.2/index.html
[7] https://discuss.pytorch.org/t/any-tips-for-peeding-p-the-source-build-pocess/184558
[8] https://pytorch.org/xla/master/learn/xla-overview.html
[9] https://cloud.google.com/blog/topics/developers-practioners/scaling-depe--learning-workloloads-pytorch-xla-and-cloud-voud-vm