Het optimaliseren van de bouwsnelheid voor Pytorch en Pytorch/XLA omvat verschillende strategieën:
Pytorch Build -snelheid optimaliseren
1. Gebruik vooraf gebouwde binaries: gebruik in plaats van de bron van de bron vooraf gebouwde binaries die beschikbaar zijn op de officiële website van Pytorch. Deze binaire bestanden zijn geoptimaliseerd met bibliotheken zoals MKL en Magma, die cruciaal zijn voor prestaties [5].
2. Optimaliseren Build Process: als u vanaf de bron moet bouwen, gebruikt u tools zoals `CCache` om bestanden met cache gecompileerde bestanden te cachen. Dit vermindert de herbouwtijden aanzienlijk na het aanbrengen van kleine wijzigingen in de code [7].
3. Paralleliseer Compilatie: gebruik multi-core processors door het aantal build-taken in te stellen dat overeenkomt met het aantal beschikbare CPU-kernen. Dit kan worden gedaan met vlaggen zoals `-j` met 'make' of vergelijkbare opties in uw buildsysteem.
Pytorch/XLA -prestaties optimaliseren
1. Gebruik luie uitvoering: Pytorch/Xla maakt gebruik van luie tensor -uitvoering, die bewerkingen in een grafiek vóór uitvoering registreert. Dit zorgt voor optimalisatie door meerdere bewerkingen te combineren in een enkele geoptimaliseerde bewerking [4] [6].
2. Voorlaadgegevens: gebruik `mpdeviceloader` om gegevens voor te laden op XLA -apparaten, waardoor de communicatie -overhead tussen de host -CPU en het apparaat wordt verminderd [8].
3. Minimaliseer CPU-apparaatcommunicatie: verminder of verwijder bewerkingen die synchronisatie tussen het CPU- en XLA-apparaat vereisen, zoals afdrukverklaringen of inlogbacks [8].
4. Gebruik barrières voor optimalisatie: voeg barrières in zoals `xm.mark_step ()` om grote berekeningsgrafieken in kleinere te breken, waardoor de XLA -compiler ze effectiever kan optimaliseren [8].
5. Leverage Cloud TPU's: gebruik voor grootschalige training Cloud TPU's met Pytorch/XLA om krachtige en kosteneffectieve training te bereiken [2] [9].
Citaten:[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=pmrtwums8
[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-up-up-snelheid/91057
[6] https://pytorch.org/xla/release/2.2/index.html
[7] https://discuss.pytorch.org/t/any-tips-for-t-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