Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Kaip aš galiu optimizuoti „Pytorch“ ir „Pytorch/XLA“ kūrimo greitį


Kaip aš galiu optimizuoti „Pytorch“ ir „Pytorch/XLA“ kūrimo greitį


Pytorcho ir Pytorcho/XLA pastatymo greičio optimizavimas apima keletą strategijų:

„Pytorch Build“ greičio optimizavimas

1. Naudokite iš anksto sukurtus dvejetainius failus: Užuot kurdami iš šaltinio, naudokite iš anksto pastatytus dvejetainius failus, kuriuos galite rasti oficialioje „Pytorch“ svetainėje. Šie dvejetai yra optimizuoti tokiomis bibliotekomis kaip MKL ir Magma, kurios yra labai svarbios atliekant našumą [5].

2. Optimizuokite kūrimo procesą: Jei turite sukurti iš šaltinio, naudokite tokius įrankius kaip „CCACHE“ iki talpyklos sudarytų failų. Tai žymiai sumažina atstatymo laikus atlikus nedidelius kodo pakeitimus [7].

3. Lygiagretus kompiliacija: naudokite daugialypius procesorius, nustatydami sukūrimo darbo vietų skaičių, kad atitiktų turimų CPU branduolių skaičių. Tai galima padaryti naudojant tokias vėliavas kaip „-j“ su „gaminti“ ar panašias parinktis jūsų kūrimo sistemoje.

Pytorch/XLA našumo optimizavimas

1. Naudokite tingią vykdymą: „Pytorch/XLA“ naudoja tingus tensorių vykdymą, kuris prieš vykdymą įrašo operacijas grafike. Tai leidžia optimizuoti, susiejant kelias operacijas į vieną optimizuotą operaciją [4] [6].

2. Išankstiniai įkrovimo duomenys: Norėdami iš anksto įkelti duomenis į XLA įrenginius, naudokite „mpdeviceloader“, sumažindami ryšių su pagrindinio kompiuterio procesoriaus ir įrenginio ryšius [8].

3. Sumažinkite CPU-Device ryšį: sumažinkite arba pašalinkite operacijas, kurioms reikalinga sinchronizacija tarp CPU ir XLA įrenginio, pavyzdžiui, spausdinimo teiginiai ar registravimo atšaukimai [8].

4. Naudokite kliūtis optimizavimui: Įterpkite barjerus, tokias kaip `xmmmark_step ()`, kad suskirstytumėte didelius skaičiavimo grafikus į mažesnius, leisdami XLA kompiliatoriui efektyviau juos optimizuoti [8].

5. Sverto „Cloud TPUS“: didelio masto treniruotėms naudokite „Cloud TPU“ su „Pytorch/XLA“, kad pasiektumėte aukštos kokybės ir ekonomiškus mokymus [2] [9].

Citatos:
]
[2] https://www.youtube.com/watch?v=PSPMRTWUMS8
[3] https://sebastianraschka.com/blog/2023/pytorch-caster.html
[4] https://pytorch.org/xla/release/r2.4/index.html
[5] https://discuss.pytorch.org/t/is-building-from-ource-really-sparly-up-inference-speed/91057
[6] https://pytorch.org/xla/release/2.2/index.html
[7] https://discuss.pytorch.org/t/any-typs-for-spartinging-up-the-source-build-process/184558
[8] https://pytorch.org/xla/master/learn/xla-ovieview.html
[9] https://cloud.google.com/blog/topics/developers-praktioners/scaling-deep-learning-workloads-pytorch-xla-and-cloud-tpu-vm