Mengoptimalkan kecepatan build untuk Pytorch dan Pytorch/XLA melibatkan beberapa strategi:
Mengoptimalkan kecepatan build pytorch
1. Gunakan biner pra-built: alih-alih membangun dari sumber, gunakan biner pra-built yang tersedia dari situs web resmi Pytorch. Binari ini dioptimalkan dengan perpustakaan seperti MKL dan Magma, yang sangat penting untuk kinerja [5].
2. Optimalkan proses pembuatan: Jika Anda harus membangun dari sumber, gunakan alat seperti `ccache` untuk cache file yang dikompilasi. Ini secara signifikan mengurangi waktu pembangunan kembali setelah membuat perubahan kecil pada kode [7].
3. Paralelisasi Kompilasi: Memanfaatkan prosesor multi-core dengan menetapkan jumlah pekerjaan build agar sesuai dengan jumlah core CPU yang tersedia. Ini dapat dilakukan dengan menggunakan bendera seperti `-j` dengan` make` atau opsi serupa di sistem build Anda.
Mengoptimalkan Kinerja Pytorch/XLA
1. Gunakan Eksekusi Malas: Pytorch/XLA menggunakan Eksekusi Tensor Lazy, yang mencatat operasi dalam grafik sebelum dieksekusi. Hal ini memungkinkan untuk optimasi dengan menggabungkan beberapa operasi ke dalam satu operasi yang dioptimalkan [4] [6].
2. Data preload: Gunakan `mpdeviceloader` untuk preload data ke perangkat XLA, mengurangi overhead komunikasi antara CPU host dan perangkat [8].
3. Minimalkan komunikasi perangkat CPU: Kurangi atau hapus operasi yang memerlukan sinkronisasi antara perangkat CPU dan XLA, seperti pernyataan cetak atau panggilan balik logging [8].
4. Gunakan hambatan untuk optimasi: Masukkan hambatan seperti `xm.mark_step ()` untuk memecahkan grafik komputasi besar menjadi yang lebih kecil, memungkinkan kompiler XLA untuk mengoptimalkannya secara lebih efektif [8].
5. Leverage Cloud TPU: Untuk pelatihan skala besar, gunakan TPU cloud dengan Pytorch/XLA untuk mencapai pelatihan berkinerja tinggi dan hemat biaya [2] [9].
Kutipan:[1] https://www.reddit.com/r/machinelearning/comments/kvs1ex/d_ere_are_17_ways_of_making_pytorch_training/
[2] https://www.youtube.com/watch?v=pspmrtwums8
[3] https://sebastianraschka.com/blog/2023/pytorch-faster.html
[4] https://pytorch.org/xla/release/r2.4/index.html
[5] https://discuss.pytorch.org/t/is-building-from-source-creally-speed-up-inference-speed/91057
[6] https://pytorch.org/xla/release/2.2/index.html
[7] https://discuss.pytorch.org/t/any-tips-for-speeding-up-the-source-build-process/184558
[8] https://pytorch.org/xla/master/learn/xla-overview.html
[9] https://cloud.google.com/blog/topics/developers-practitioners/scaling-deep-learning-workloads-pytorch-xla-and-cloud-tpu-vm