Pytorch Lightning käsittelee tietoja TPU: n rinnakkaisuuden hyödyntämällä TPU-arkkitehtuurin ominaisuuksia, jotka on optimoitu korkean suorituskyvyn työmäärään, kuten matriisien kertolaskuihin ja kiertoihin. Kun TPUS -harjoittelu harjoittelee, Lightning hallitsee automaattisesti datan jakautumista TPU -ytimissä varmistaen, että jokainen ydin käsittelee tietojen asianmukaista osaa. Tämä saavutetaan ilman hajautettujen näytteenottajien manuaalista toteutusta, koska salama lisää oikeat näytteenottimet automaattisesti TPU -koulutukseen [7].
TPU -asennuksessa malli toistetaan jokaisessa laitteessa, ja datan rinnakkaisharjoittelu antaa mallin sopeutua yhteen TPU -laitteeseen, kun taas se on toistettu useiden laitteiden välillä hajautetussa kokoonpanossa [6]. Tämä lähestymistapa mahdollistaa suurten tietojoukkojen tehokkaan rinnakkaiskäsittelyn, mikä nopeuttaa huomattavasti harjoitusaikoja.
TPU: n hyödyntämiseksi pytorch -salaman avulla voit määrittää "kouluttajan" määrittämällä TPU -ytimien lukumäärä. Esimerkiksi, jotta voit käyttää koko TPU -podia 8 ytimellä, asettaisit `tpu_cores = 8` kouluttajan" alustukseen [7]. Tämä asennus mahdollistaa saumattoman datan rinnakkaisuuden ilman, että tiedon jakautumisen nimenomainen hallinta TPU -ytimissä.
TPU: n optimaalisen suorituskyvyn saavuttamiseksi on kuitenkin tärkeää ottaa huomioon tekijät, kuten erän koko, tensorin arviointi, dynaamiset tensorimuodot ja resurssirajoitukset TPU -resurssien tehokkaan hyödyntämisen varmistamiseksi [9].
Viittaukset:[1] https://pytorch-lightning.readthedocs.io/en/1.5.10/advanced/multi_gpu.html
[2] https://pytorch-lightning.readthedocs.io/en/1.1.8/multi_gpu.html
[3] https://pytorch-lightning.readthedocs.io/en/0.9.0/multi_gpu.html
[4] https://github.com/lightning-ai/pytorch-lighting/issues/11922
[5] https://www.restack.io/p/pytorch-lightning-answer-multi-cpu-usage-cat-ai
.
[7] https://lighting.ai/docs/pytorch/1.5.9/advanced/tpu.html
.
[9] https://www.restack.io/p/pytorch-lighting-answer-set-device-cat-ai