„Pytorch Lightning“ tvarko duomenų paralelizmą TPU, pasinaudodama TPU architektūros galimybėmis, kurios optimizuojamos didelio pralaidumo darbo krūviams, tokiems kaip matricos daugybiniai ir sujungiamieji. Mokant TPU, „Lightning“ automatiškai valdo duomenų pasiskirstymą per TPU branduolius, užtikrinant, kad kiekviena branduolys apdorotų atitinkamą duomenų dalį. Tai pasiekiama nereikalaujant rankinio paskirstytų mėginių ėmėjų įgyvendinimo, nes „Lightning“ įterpia teisingus mėginių ėmiklius TPU mokymui [7].
TPU sąrankoje modelis pakartojamas kiekviename įrenginyje, o duomenų lygiagrečiai mokymai leidžia modeliui tilpti į vieną TPU įrenginį, kol jis pakartojamas keliuose įrenginiuose paskirstytoje konfigūracijoje [6]. Šis metodas leidžia efektyviai lygiagrečiai apdoroti didelius duomenų rinkinius, žymiai pagreitindamas mokymo laiką.
Norėdami naudoti TPU su „Pytorch Lightning“, galite sukonfigūruoti „treniruoklį“, nurodydami TPU branduolių skaičių. Pavyzdžiui, norėdami naudoti visą TPU pod su 8 šerdimis, „TPU_CORES = 8“ nustatytumėte inicijuotą „Trener“ [7]. Ši sąranka leidžia gauti sklandų duomenų paralelizmą, nereikalaujant aiškiai valdyti duomenų paskirstymo per TPU branduolius.
Tačiau norint optimaliai atlikti TPU rezultatus, labai svarbu atsižvelgti į tokius veiksnius kaip partijos dydis, tenzorių vertinimas, dinaminės tenzorių formos ir išteklių apribojimai, siekiant užtikrinti veiksmingą TPU išteklių panaudojimą [9].
Citatos:[1] https://pytorch-lighting.readthedocs.io/en/1.5.10/advanced/multi_gpu.html
[2] https://pytorch-lighting.readthedocs.io/en/1.1.8/multi_gpu.html
[3] https://pytorch-lighting.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-lighting-swer-multi-cpu-usage-cat-ai
[6] https://cloud.google.com/blog/topics/developers-praktioners/scaling-deep-learning-workloads-pytorch-xla-and-cloud-tpu-vm
[7] https://lightning.ai/docs/pytorch/1.5.9/advanced/tpu.html
[8] https://forums.fast.ai/t/how-to-create-a-callback-using-torch-multiprocessing-tpu/56264?page=7
[9] https://www.restack.io/p/pytorch-lightning-answer-set-device-cat-ai