Optimalisering av byggehastigheten for Pytorch og Pytorch/XLA involverer flere strategier:
Optimalisering av Pytorch Build Speed
1. Bruk forhåndsbygde binærfiler: I stedet for å bygge fra kilden, bruk forhåndsbygde binærfiler tilgjengelig fra Pytorchs offisielle nettsted. Disse binærene er optimalisert med biblioteker som MKL og Magma, som er avgjørende for ytelse [5].
2. Optimaliser byggeprosess: Hvis du må bygge fra kilde, bruk verktøy som `ccache` til cache -kompilerte filer. Dette reduserer ombyggingstidene betydelig etter å ha gjort små endringer i koden [7].
3. Parallelliser sammenstilling: Bruk flerkjernete prosessorer ved å stille antall byggejobber for å matche antall tilgjengelige CPU-kjerner. Dette kan gjøres ved hjelp av flagg som `-j` med` make` eller lignende alternativer i byggesystemet ditt.
Optimalisering av Pytorch/XLA -ytelse
1. Bruk lat utførelse: Pytorch/XLA bruker lat tensorutførelse, som registrerer operasjoner i en graf før utførelse. Dette muliggjør optimalisering ved å smelte sammen flere operasjoner til en enkelt optimalisert operasjon [4] [6].
2. Forhåndsinnlastingsdata: Bruk `mpDeviceloader` for å forhåndsleste data på XLA -enheter, redusere kommunikasjonskostnader mellom verts -CPU og enheten [8].
3. Minimer CPU-enhetskommunikasjon: Reduser eller fjern operasjoner som krever synkronisering mellom CPU- og XLA-enheten, for eksempel utskriftsuttalelser eller logging av tilbakeringinger [8].
4. Bruk barrierer for optimalisering: sett inn barrierer som `xm.mark_step ()` For å bryte store beregningsgrafer i mindre, slik at XLA -kompilatoren kan optimalisere dem mer effektivt [8].
5. Utnytt sky-TPUer: For storskala trening, bruk sky-TPUer med Pytorch/XLA for å oppnå høy ytelse og kostnadseffektiv trening [2] [9].
Sitasjoner:[1] https://www.reddit.com/r/machinelearning/comments/kvs1ex/d_here_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-really-speed-pinferens-hpeed/91057
[6] https://pytorch.org/xla/release/2.2/index.html
[7] https://discuss.pytorch.org/t/any-tips-for-hpeeding-p-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-dep-learning-workloads-pytorch-xla-and-cloud-tpu-vm