Yhden TPU -ytimen koulutus vs. kahdeksan voi vaikuttaa merkittävästi suorituskykyyn TPU: n hajautetun luonteen vuoksi. Jokaisella TPU: lla on kahdeksan ydintä, ja nämä ytimet on optimoitu tensorien rinnakkaisoperaatioiden käsittelyyn, jotka ovat perustavanlaatuisia hermoverkon laskelmille [8]. Kun käytät yhtä TPU -ydintä, malli kouluttaa kyseiselle ytimelle, hyödyntämällä sen optimoitua arkkitehtuuria matriisin moninkertaistumiseen [8]. Kaikkien kahdeksan ytimen käytettäessä harjoitusprosessi voi kuitenkin levittää näihin ytimiin, mikä mahdollisesti johtaa nopeampiin harjoitusaikoihin rinnakkaistymisen vuoksi.
Useiden ytimien käyttö mahdollistaa yleensä TPU: n resurssien, kuten korkeamman muistin kaistanleveyden ja toisiinsa liittyvien ominaisuuksien, paremman hyödyntämisen, mikä voi parantaa koulutuksen kokonaistutkimusta [2]. Tämä on erityisen hyödyllistä suurikokoisille malleille tai tietojoukolle, joissa rinnakkaiskäsittely voi vähentää merkittävästi harjoitteluaikaa. Todellinen suorituskyvyn voitto riippuu kuitenkin siitä, kuinka hyvin malli ja tiedot optimoidaan hajautettuun koulutukseen TPU: lla.
Joissakin tapauksissa, jos malli tai data ei sovellu hyvin rinnakkaistamiseen useiden ytimien välillä, suorituskykyerot eivät ehkä ole yhtä voimakkaasti. Lisäksi tekijät, kuten I/O -pullonkaulat tai mallin monimutkaisuus, voivat vaikuttaa useiden TPU -ytimien käytön tehokkuuteen [2]. Siitä huolimatta useimmille koneoppimistoimille, kaikkien kahdeksan TPU: n ytimen hyödyntäminen tarjoaa tyypillisesti paremman suorituskyvyn verrattuna vain yhden ytimen käyttöön.
Viittaukset:[1] https://www.datacamp.com/blog/tpu-vs-gpu-ai
[2] https://eng.snap.com/training-models-with-tpus
[3] https://blog.google/technology/ai/difference-cpu-gpu-tpu--trillium/
.
.
[6] https://www.reddit.com/r/machinelearning/comments/19e8d1a/d_when_does_it_make_sense_to_train_on_tpu/
.
[8] https://lighting.ai/docs/pytorch/1.6.0/accelerators/tpu.html