Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Pytorch ve Pytorch/XLA için yapı hızını nasıl optimize edebilirim


Pytorch ve Pytorch/XLA için yapı hızını nasıl optimize edebilirim


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