Googles TensorFlow-platform giver sine brugere mulighed for at træne en AI ved at levere værktøjer og ressourcer til maskinlæring. I lang tid har AI-ingeniører brugt traditionelle CPU'er og GPU'er til at træne AI. Selvom disse processorer kan håndtere forskellige maskinlæringsprocesser, er de stadig hardware til generelle formål, der bruges til forskellige daglige opgaver.
For at fremskynde AI-træning udviklede Google et Application Specific Integrated Circuit (ASIC) kendt som en Tensor Processing Unit (TPU). Men hvad er en Tensor Processing Unit, og hvordan fremskynder de AI-programmering?
Hvad er Tensor Processing Units (TPU)?
Tensor Processing Units er Googles ASIC til maskinlæring. TPU'er bruges specifikt til dyb læring til at løse komplekse matrix- og vektoroperationer. TPU'er er strømlinede til at løse matrix- og vektoroperationer ved ultrahøje hastigheder, men skal parres med en CPU for at give og udføre instruktioner. TPU'er må kun bruges med Googles TensorFlow eller TensorFlow Lite platform, uanset om det er via cloud computing eller dens lite version på lokal hardware.
Ansøgninger til TPU'er
Google har brugt TPU'er siden 2015. De har også bekræftet brugen af disse nye processorer til Google Street View-tekstbehandling, Google Fotos og Google-søgeresultater (Rank Brain), som samt at skabe en AI kendt som AlphaGo, som har slået top Go-spillere og AlphaZero-systemet, der vandt over førende programmer inden for skak, Go og Shogi.
TPU'er kan bruges i forskellige deep learning-applikationer såsom svindeldetektion, computersyn, naturligt sprog forarbejdning, selvkørende biler, vokal AI, landbrug, virtuelle assistenter, aktiehandel, e-handel og diverse sociale forudsigelser.
Hvornår skal man bruge TPU'er
Da TPU'er er højspecialiseret hardware til dyb læring, mister den en masse andre funktioner, du typisk ville forvente af en processor til generelle formål som en CPU. Med dette i tankerne er der specifikke scenarier, hvor brug af TPU'er vil give det bedste resultat, når du træner AI.
Det bedste tidspunkt at bruge en TPU er til operationer, hvor modeller er stærkt afhængige af matrixberegninger, såsom anbefalingssystemer til søgemaskiner. TPU'er giver også fantastiske resultater for modeller, hvor AI analyserer enorme mængder af datapunkter, der vil tage flere uger eller måneder at fuldføre. AI-ingeniører bruger TPU'er til tilfælde uden tilpassede TensorFlow-modeller og skal starte fra bunden.
Hvornår skal TPU'er ikke bruges
Som tidligere nævnt bevirker optimeringen af TPU'er, at disse typer processorer kun virker på specifikke arbejdsbelastningsoperationer. Derfor er der tilfælde, hvor at vælge at bruge en traditionel CPU og GPU vil give hurtigere resultater. Disse tilfælde omfatter:
- Hurtig prototyping med maksimal fleksibilitet
- Modeller begrænset af de tilgængelige datapunkter
- Modeller, der er enkle og hurtigt kan trænes
- Modeller for besværlige til at skifte
- Modeller, der er afhængige af tilpassede TensorFlow-operationer skrevet i C++
TPU versioner og specifikationer
Siden Google annoncerede sine TPU'er, er offentligheden løbende blevet opdateret om de nyeste versioner af TPU'er og deres specifikationer. Følgende er en liste over alle TPU-versioner med specifikationer:
TPUv1 | TPUv2 | TPUv3 | TPUv4 | Edgev1 | |
---|---|---|---|---|---|
Dato introduceret | 2016 | 2017 | 2018 | 2021 | 2018 |
Proces node (nm) | 28 | 16 | 16 | 7 | |
Matricestørrelse (mm²) | 331 | <625 | <700 | <400 | |
On-chip hukommelse | 28 | 32 | 32 | 144 | |
Urhastighed (MHz) | 700 | 700 | 940 | 1050 | |
Mindste hukommelseskonfiguration (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 TPU-clockhastigheder ikke så imponerende, især når moderne stationære computere i dag kan have clock-hastigheder 3-5 gange hurtigere. Men hvis du ser på de to nederste rækker i tabellen, kan du se, at TPU'er kan behandle 23-90 tera-operationer i sekundet ved brug af kun 0,16-0,3 watt strøm. TPU'er anslås at være 15-30 gange hurtigere end moderne CPU'er og GPU'er, når du bruger en neural netværksgrænseflade.
Med hver frigivet version viser nyere TPU'er betydelige forbedringer og muligheder. Her er et par højdepunkter for hver version.
- TPUv1: Den første offentligt annoncerede TPU. Designet som en 8-bit matrix multiplikationsmotor og er begrænset til kun at løse heltal.
- TPUv2: Siden ingeniører bemærkede, at TPUv1 var begrænset i båndbredde. Denne version har nu dobbelt så stor hukommelsesbåndbredde med 16 GB RAM. Denne version kan nu løse flydende punkter, hvilket gør den nyttig til træning og konklusioner.
- TPUv3: Udgivet i 2018, TPUv3 har dobbelt så mange processorer og er implementeret med fire gange så mange chips som TPUv2. Opgraderingerne gør det muligt for denne version at have otte gange så god ydeevne i forhold til tidligere versioner.
- TPUv4: Dette er den seneste version af TPU, der blev annonceret den 18. maj 2021. Googles administrerende direktør meddelte, at denne version ville have mere end dobbelt så god ydeevne som TPU v3.
- Edge TPU: Denne TPU-version er beregnet til mindre operationer, der er optimeret til at bruge mindre strøm end andre versioner af TPU i overordnet drift. Selvom det kun bruger to watt strøm, kan Edge TPU løse op til fire terra-operationer i sekundet. Edge TPU findes kun på små håndholdte enheder som Googles Pixel 4 smartphone.
Hvordan får du adgang til TPU'er? Hvem kan bruge dem?
TPU'er er proprietære behandlingsenheder designet af Google til at blive brugt med deres TensorFlow-platform. Tredjepartsadgang til disse processorer har været tilladt siden 2018. I dag kan TPU'er (undtagen Edge TPU'er) kun tilgås gennem Googles computertjenester gennem skyen. Mens Edge TPU-hardware kan købes gennem Googles Pixel 4-smartphone og dens prototypesæt kendt som Coral.
Coral er en USB-accelerator, der bruger USB 3.0 Type C til data og strøm. Den forsyner din enhed med Edge TPU-databehandling, der er i stand til 4 TOPS for hver 2W strøm. Dette sæt kan køre på maskiner, der bruger Windows 10, macOS og Debian Linux (det kan også fungere med Raspberry Pi).
Andre specialiserede AI-acceleratorer
Da kunstig intelligens har været i højsædet i det sidste årti, leder Big Tech konstant efter måder at gøre maskinlæring så hurtig og effektiv som muligt. Selvom Googles TPU'er uden tvivl er den mest populære ASIC udviklet til deep learning, har andre teknologivirksomheder som Intel, Microsoft, Alibaba og Qualcomm også udviklet deres egne AI-acceleratorer. Disse omfatter Microsoft Brainwave, Intel Neural Compute Stick og Graphicores IPU (Intelligence Processing Unit).
Men mens mere AI-hardware bliver udviklet, er det meste desværre endnu ikke tilgængeligt på markedet, og mange vil aldrig. Som i skrivende stund, hvis du virkelig ønsker at købe AI-acceleratorhardware, er de mest populære muligheder at købe et Coral-prototyping-kit, en Intel NCS, en Graphicore Bow Pod eller en Asus IoT AI-accelerator. Hvis du bare vil have adgang til specialiseret AI-hardware, kan du bruge Googles cloud computing-tjenester eller andre alternativer som Microsoft Brainwave.