Googlen TensorFlow-alustan avulla käyttäjät voivat kouluttaa tekoälyä tarjoamalla työkaluja ja resursseja koneoppimiseen. Tekoälyinsinöörit ovat pitkään käyttäneet perinteisiä suorittimia ja grafiikkasuorituksia tekoälyn kouluttamiseen. Vaikka nämä prosessorit pystyvät käsittelemään erilaisia koneoppimisprosesseja, ne ovat silti yleiskäyttöisiä laitteita, joita käytetään erilaisiin päivittäisiin tehtäviin.
Tekoälykoulutuksen nopeuttamiseksi Google kehitti sovelluskohtaisen integroidun piirin (ASIC), joka tunnetaan nimellä Tensor Processing Unit (TPU). Mutta mikä on Tensor Processing Unit, ja kuinka ne nopeuttavat tekoälyohjelmointia?
Mitä ovat tensorinkäsittelyyksiköt (TPU)?
Tensorin käsittelyyksiköt ovat Googlen ASIC koneoppimiseen. TPU: ita käytetään erityisesti syväoppimiseen monimutkaisten matriisi- ja vektoritoimintojen ratkaisemiseksi. TPU: t on virtaviivaistettu ratkaisemaan matriisi- ja vektorioperaatioita erittäin suurilla nopeuksilla, mutta ne on liitettävä prosessoriin ohjeiden antamiseksi ja suorittamiseksi. TPU: ita saa käyttää vain Googlen kanssa
TensorFlow tai TensorFlow Lite -alusta, joko pilvitekniikan tai sen yksinkertaisen version kautta paikallisella laitteistolla.Sovellukset TPU: ille
Google on käyttänyt TPU: ita vuodesta 2015 lähtien. He ovat myös vahvistaneet näiden uusien prosessorien käytön Google Street View -tekstinkäsittelyyn, Google-kuviin ja Google-hakutuloksiin (Rank Brain). sekä luoda AlphaGo-nimellä tunnettu tekoäly, joka on voittanut parhaat Go-pelaajat ja AlphaZero-järjestelmä, joka voitti johtavia ohjelmia shakissa, gossa ja Shogi.
TPU: ita voidaan käyttää erilaisissa syväoppimissovelluksissa, kuten petosten havaitsemisessa, tietokonenäössä, luonnollisessa kielessä prosessointi, itseajavat autot, laulu tekoäly, maatalous, virtuaaliassistentit, osakekauppa, sähköinen kaupankäynti ja erilaiset sosiaaliset palvelut ennusteita.
Milloin TPU: ta kannattaa käyttää
Koska TPU: t ovat korkealle erikoistuneita laitteistoja syvään oppimiseen, se menettää monia muita toimintoja, joita voit tyypillisesti odottaa yleiskäyttöiseltä prosessorilta, kuten CPU. Tätä silmällä pitäen on olemassa erityisiä skenaarioita, joissa TPU: iden käyttäminen tuottaa parhaan tuloksen tekoälyn koulutuksessa.
Paras aika käyttää TPU: ta on toiminnoissa, joissa mallit ovat vahvasti riippuvaisia matriisilaskelmista, kuten hakukoneiden suositusjärjestelmistä. TPU: t tuottavat myös hyviä tuloksia malleissa, joissa tekoäly analysoi valtavia määriä datapisteitä, joiden valmistuminen kestää useita viikkoja tai kuukausia. Tekoälyinsinöörit käyttävät TPU: ita tapauksissa, joissa ei ole mukautettuja TensorFlow-malleja, ja heidän on aloitettava alusta.
Milloin TPU: ta ei saa käyttää
Kuten aiemmin todettiin, TPU: iden optimointi saa tämäntyyppiset prosessorit toimimaan vain tietyissä työkuormitusoperaatioissa. Siksi on tapauksia, joissa perinteisen suorittimen ja grafiikkasuorittimen käyttäminen tuottaa nopeampia tuloksia. Näitä tapauksia ovat:
- Nopea prototyyppien valmistus maksimaalisella joustavuudella
- Mallit rajoittavat käytettävissä olevat datapisteet
- Mallit, jotka ovat yksinkertaisia ja jotka voidaan kouluttaa nopeasti
- Mallit ovat liian vaikeita vaihtamaan
- Mallit, jotka käyttävät mukautettuja TensorFlow-toimintoja, jotka on kirjoitettu C++:lla
TPU-versiot ja tekniset tiedot
Sen jälkeen kun Google julkisti TPU: t, yleisö on jatkuvasti päivitetty uusimmista TPU-versioista ja niiden teknisistä tiedoista. Seuraavassa on luettelo kaikista TPU-versioista teknisillä tiedoilla:
TPUv1 | TPUv2 | TPUv3 | TPUv4 | Edgev1 | |
---|---|---|---|---|---|
Käyttöönottopäivämäärä | 2016 | 2017 | 2018 | 2021 | 2018 |
Prosessisolmu (nm) | 28 | 16 | 16 | 7 | |
Suulakkeen koko (mm²) | 331 | <625 | <700 | <400 | |
On-chip-muisti | 28 | 32 | 32 | 144 | |
Kellonopeus (MHz) | 700 | 700 | 940 | 1050 | |
Pienin muistikokoonpano (GB) | 8 DDR3 | 16 HBM | 32 HBM | 32 HBM | |
TDP (wattia) | 75 | 280 | 450 | 175 | 2 |
TOPS (teraoperaatiot sekunnissa) | 23 | 45 | 90 | ? | 4 |
TOPS/W | 0.3 | 0.16 | 0.2 | ? | 2 |
Kuten näette, TPU-kellonopeudet eivät vaikuta kovin vaikuttavilta, varsinkin kun nykyaikaisissa pöytätietokoneissa kellotaajuudet voivat olla 3-5 kertaa nopeampia. Mutta jos katsot taulukon kahta alariviä, voit nähdä, että TPU: t voivat käsitellä 23-90 tera-operaatiota sekunnissa käyttämällä vain 0,16-0,3 wattia tehoa. TPU: iden arvioidaan olevan 15-30 kertaa nopeampia kuin nykyaikaiset CPU: t ja GPU: t käytettäessä hermoverkkoliitäntää.
Jokaisen julkaistun version myötä uudemmat TPU: t osoittavat merkittäviä parannuksia ja ominaisuuksia. Tässä on muutamia kohokohtia jokaisesta versiosta.
- TPUv1: Ensimmäinen julkisesti ilmoitettu TPU. Suunniteltu 8-bittiseksi matriisikertomoottoriksi ja rajoittuu vain kokonaislukujen ratkaisemiseen.
- TPUv2: Koska insinöörit huomasivat, että TPUv1:n kaistanleveys oli rajoitettu. Tässä versiossa on nyt kaksinkertainen muistikaistanleveys ja 16 Gt RAM-muistia. Tämä versio pystyy nyt ratkaisemaan liukulukuja, mikä tekee siitä hyödyllisen koulutuksessa ja päätelmien tekemisessä.
- TPUv3: Vuonna 2018 julkaistussa TPUv3:ssa on kaksi kertaa enemmän prosessoreita, ja siinä on neljä kertaa enemmän siruja kuin TPUv2:ssa. Päivitykset mahdollistavat tämän version kahdeksan kertaa paremman suorituskyvyn kuin aikaisemmat versiot.
- TPUv4: Tämä on TPU: n uusin versio, joka julkistettiin 18. toukokuuta 2021. Googlen toimitusjohtaja ilmoitti, että tämän version suorituskyky olisi yli kaksinkertainen TPU v3:een verrattuna.
- Edge TPU: Tämä TPU-versio on tarkoitettu pienempiin toimintoihin, jotka on optimoitu käyttämään vähemmän tehoa kuin muut TPU-versiot yleisessä toiminnassa. Vaikka Edge TPU käyttää vain kahta wattia tehoa, se pystyy ratkaisemaan jopa neljä terra-operaatiota sekunnissa. Edge TPU löytyy vain pienistä kämmenlaitteista, kuten Googlen Pixel 4 -älypuhelimesta.
Kuinka pääset TPU: ihin? Kuka voi käyttää niitä?
TPU: t ovat omistamia prosessointiyksiköitä, jotka Google on suunnitellut käytettäväksi sen TensorFlow-alustan kanssa. Kolmannen osapuolen pääsy näihin prosessoreihin on sallittu vuodesta 2018 lähtien. Nykyään TPU: ita (paitsi Edgen TPU: ita) voi käyttää vain Googlen kautta laskentapalvelut pilven kautta. Edge TPU -laitteistoa voi ostaa Googlen Pixel 4 -älypuhelimen ja sen Coral-nimellä tunnetun prototyyppisarjan kautta.
Coral on USB-kiihdytin, joka käyttää USB 3.0 Type C -liitäntää dataan ja virtaan. Se tarjoaa laitteellesi Edge TPU: n, joka pystyy tuottamaan 4 TOPS: ia jokaista 2 wattia kohden. Tämä sarja voi toimia koneissa, joissa on Windows 10, macOS ja Debian Linux (se voi toimia myös Raspberry Pi: n kanssa).
Muut erikoistuneet tekoälykiihdyttimet
Tekoälyn ollessa muotia viimeisen vuosikymmenen ajan, Big Tech etsii jatkuvasti tapoja tehdä koneoppimisesta mahdollisimman nopeaa ja tehokasta. Vaikka Googlen TPU: t ovat kiistatta suosituin syväoppimiseen kehitetty ASIC, muut teknologiayritykset, kuten Intel, Microsoft, Alibaba ja Qualcomm, ovat myös kehittäneet omia tekoälykiihdyttimiä. Näitä ovat Microsoft Brainwave, Intel Neural Compute Stick ja Graphicoren IPU (Intelligence Processing Unit).
Mutta samalla kun kehitetään lisää tekoälylaitteita, useimmat niistä eivät valitettavasti ole vielä saatavilla markkinoilla, ja monet eivät koskaan tulekaan. Kirjoittaessani, jos todella haluat ostaa tekoälykiihdytinlaitteistoa, suosituimpia vaihtoehtoja ovat ostaa Coral-prototyyppisarja, Intel NCS, Graphicore Bow Pod tai Asus IoT AI Accelerator. Jos haluat vain käyttää erikoistuneita tekoälylaitteita, voit käyttää Googlen pilvipalveluita tai muita vaihtoehtoja, kuten Microsoft Brainwavea.