Googles TensorFlow-plattform lar brukerne trene en AI ved å tilby verktøy og ressurser for maskinlæring. I lang tid har AI-ingeniører brukt tradisjonelle CPUer og GPUer for å trene AI. Selv om disse prosessorene kan håndtere ulike maskinlæringsprosesser, er de fortsatt generell maskinvare som brukes til ulike daglige oppgaver.
For å øke hastigheten på AI-opplæringen utviklet Google en Application Specific Integrated Circuit (ASIC) kjent som en Tensor Processing Unit (TPU). Men hva er en Tensor Processing Unit, og hvordan fremskynder de AI-programmering?
Hva er Tensor Processing Units (TPU)?
Tensor-behandlingsenheter er Googles ASIC for maskinlæring. TPU-er brukes spesielt for dyp læring for å løse komplekse matrise- og vektoroperasjoner. TPU-er er strømlinjeformet for å løse matrise- og vektoroperasjoner ved ultrahøye hastigheter, men må pares med en CPU for å gi og utføre instruksjoner. TPU-er kan bare brukes med Googles TensorFlow eller TensorFlow Lite plattform, enten gjennom cloud computing eller lite versjon på lokal maskinvare.
Applikasjoner for TPUer
Google har brukt TPU-er siden 2015. De har også bekreftet bruken av disse nye prosessorene for Google Street View-tekstbehandling, Google Foto og Google-søkeresultater (Rank Brain), som samt å lage en AI kjent som AlphaGo, som har slått topp Go-spillere og AlphaZero-systemet som vant mot ledende programmer innen sjakk, Go og Shogi.
TPU-er kan brukes i ulike dyplæringsapplikasjoner som svindeloppdagelse, datasyn, naturlig språk prosessering, selvkjørende biler, vokal AI, landbruk, virtuelle assistenter, aksjehandel, e-handel og diverse sosiale medier spådommer.
Når skal du bruke TPUer
Siden TPU-er er høyspesialisert maskinvare for dyp læring, mister den mange andre funksjoner du vanligvis forventer av en generell prosessor som en CPU. Med dette i tankene er det spesifikke scenarier der bruk av TPU-er vil gi det beste resultatet når du trener AI.
Den beste tiden å bruke en TPU er for operasjoner der modeller er sterkt avhengige av matriseberegninger, som anbefalingssystemer for søkemotorer. TPU-er gir også flotte resultater for modeller der AI analyserer enorme mengder datapunkter som vil ta flere uker eller måneder å fullføre. AI-ingeniører bruker TPU-er for tilfeller uten tilpassede TensorFlow-modeller og må starte fra bunnen av.
Når du ikke skal bruke TPUer
Som nevnt tidligere fører optimaliseringen av TPU-er til at disse typene prosessorer bare fungerer på spesifikke arbeidsbelastningsoperasjoner. Derfor er det tilfeller der å velge å bruke en tradisjonell CPU og GPU vil gi raskere resultater. Disse tilfellene inkluderer:
- Rask prototyping med maksimal fleksibilitet
- Modeller begrenset av tilgjengelige datapunkter
- Modeller som er enkle og kan trenes raskt
- Modeller er for tyngende til å endre
- Modeller som er avhengige av tilpassede TensorFlow-operasjoner skrevet i C++
TPU-versjoner og spesifikasjoner
Siden Google annonserte sine TPU-er, har publikum blitt kontinuerlig oppdatert om de nyeste versjonene av TPU-er og deres spesifikasjoner. Følgende er en liste over alle TPU-versjonene med spesifikasjoner:
TPUv1 | TPUv2 | TPUv3 | TPUv4 | Edgev1 | |
---|---|---|---|---|---|
Dato introdusert | 2016 | 2017 | 2018 | 2021 | 2018 |
Prosessnode (nm) | 28 | 16 | 16 | 7 | |
Dysestørrelse (mm²) | 331 | <625 | <700 | <400 | |
Minne på brikken | 28 | 32 | 32 | 144 | |
Klokkehastighet (MHz) | 700 | 700 | 940 | 1050 | |
Minste minnekonfigurasjon (GB) | 8 DDR3 | 16 HBM | 32 HBM | 32 HBM | |
TDP (watt) | 75 | 280 | 450 | 175 | 2 |
TOPS (Tera Operations Per Second) | 23 | 45 | 90 | ? | 4 |
TOPS/W | 0.3 | 0.16 | 0.2 | ? | 2 |
Som du kan se, virker ikke TPU-klokkehastigheter så imponerende, spesielt når moderne stasjonære datamaskiner i dag kan ha klokkehastigheter 3-5 ganger raskere. Men hvis du ser på de to nederste radene i tabellen, kan du se at TPU-er kan behandle 23-90 tera-operasjoner per sekund med kun 0,16–0,3 watt strøm. TPU-er anslås å være 15-30 ganger raskere enn moderne CPU-er og GPU-er ved bruk av et nevralt nettverksgrensesnitt.
Med hver versjon utgitt viser nyere TPU-er betydelige forbedringer og muligheter. Her er noen høydepunkter for hver versjon.
- TPUv1: Den første offentlig annonserte TPU. Designet som en 8-biters matrisemultiplikasjonsmotor og er begrenset til å løse kun heltall.
- TPUv2: Siden ingeniører bemerket at TPUv1 var begrenset i båndbredde. Denne versjonen har nå dobbel minnebåndbredde med 16 GB RAM. Denne versjonen kan nå løse flytende poeng, noe som gjør den nyttig for trening og slutninger.
- TPUv3: Utgitt i 2018, TPUv3 har dobbelt så mange prosessorer og distribueres med fire ganger så mange brikker som TPUv2. Oppgraderingene lar denne versjonen ha åtte ganger ytelsen sammenlignet med tidligere versjoner.
- TPUv4: Dette er den nyeste versjonen av TPU kunngjort 18. mai 2021. Googles administrerende direktør kunngjorde at denne versjonen ville ha mer enn dobbelt så høy ytelse som TPU v3.
- Edge TPU: Denne TPU-versjonen er ment for mindre operasjoner optimalisert for å bruke mindre strøm enn andre versjoner av TPU i generell drift. Selv om den bare bruker to watt strøm, kan Edge TPU løse opptil fire terra-operasjoner per sekund. Edge TPU finnes bare på små håndholdte enheter som Googles Pixel 4-smarttelefon.
Hvordan får du tilgang til TPUer? Hvem kan bruke dem?
TPU-er er proprietære behandlingsenheter designet av Google for å brukes med TensorFlow-plattformen. Tredjeparts tilgang til disse prosessorene har vært tillatt siden 2018. I dag kan TPU-er (bortsett fra Edge TPU-er) bare nås gjennom Googles datatjenester gjennom skyen. Mens Edge TPU-maskinvare kan kjøpes gjennom Googles Pixel 4-smarttelefon og dens prototyping-sett kjent som Coral.
Coral er en USB-akselerator som bruker USB 3.0 Type C for data og strøm. Den gir enheten din Edge TPU-databehandling som er i stand til 4 TOPS for hver 2W strøm. Dette settet kan kjøres på maskiner som bruker Windows 10, macOS og Debian Linux (det kan også fungere med Raspberry Pi).
Andre spesialiserte AI-akseleratorer
Siden kunstig intelligens har vært på farten det siste tiåret, leter Big Tech hele tiden etter måter å gjøre maskinlæring så rask og effektiv som mulig. Selv om Googles TPU-er uten tvil er den mest populære ASIC utviklet for dyp læring, har andre teknologiselskaper som Intel, Microsoft, Alibaba og Qualcomm også utviklet sine egne AI-akseleratorer. Disse inkluderer Microsoft Brainwave, Intel Neural Compute Stick og Graphicores IPU (Intelligence Processing Unit).
Men mens mer AI-maskinvare utvikles, er dessverre det meste ennå ikke tilgjengelig på markedet, og mange vil aldri. I skrivende stund, hvis du virkelig ønsker å kjøpe maskinvare for AI-akselerator, er de mest populære alternativene å kjøpe et Coral-prototyping-sett, en Intel NCS, en Graphicore Bow Pod eller en Asus IoT AI-akselerator. Hvis du bare vil ha tilgang til spesialisert AI-maskinvare, kan du bruke Googles cloud computing-tjenester eller andre alternativer som Microsoft Brainwave.