Met het TensorFlow-platform van Google kunnen gebruikers een AI trainen door tools en bronnen voor machine learning te bieden. AI-ingenieurs hebben lange tijd traditionele CPU's en GPU's gebruikt om AI te trainen. Hoewel deze processors verschillende machine learning-processen aankunnen, zijn ze nog steeds algemene hardware die wordt gebruikt voor verschillende dagelijkse taken.
Om AI-training te versnellen, heeft Google een Application Specific Integrated Circuit (ASIC) ontwikkeld dat bekend staat als een Tensor Processing Unit (TPU). Maar wat is een Tensor Processing Unit en hoe versnellen ze AI-programmering?
Wat zijn Tensor Processing Units (TPU)?
Tensor Processing Units zijn van Google ASIC voor machine learning. TPU's worden specifiek gebruikt voor deep learning om complexe matrix- en vectorbewerkingen op te lossen. TPU's zijn gestroomlijnd om matrix- en vectorbewerkingen met ultrahoge snelheden op te lossen, maar moeten worden gekoppeld aan een CPU om instructies te geven en uit te voeren. TPU's mogen alleen worden gebruikt met die van Google
TensorFlow- of TensorFlow Lite-platform, hetzij via cloud computing of de lite-versie op lokale hardware.Toepassingen voor TPU's
Google gebruikt sinds 2015 TPU's. Ze hebben ook het gebruik van deze nieuwe processors voor Google Street View-tekstverwerking, Google Foto's en Google-zoekresultaten (Rank Brain) bevestigd. en om een AI te creëren die bekend staat als AlphaGo, die de beste Go-spelers heeft verslagen en het AlphaZero-systeem dat won van toonaangevende programma's in Chess, Go en Shogi.
TPU's kunnen worden gebruikt in verschillende deep learning-toepassingen, zoals fraudedetectie, computervisie, natuurlijke taal verwerking, zelfrijdende auto's, vocale AI, landbouw, virtuele assistenten, aandelenhandel, e-commerce en diverse sociale voorspellingen.
Wanneer TPU's gebruiken?
Omdat TPU's zeer gespecialiseerde hardware zijn voor diep leren, verliest het veel andere functies die u normaal gesproken zou verwachten van een algemene processor zoals een CPU. Met dit in gedachten zijn er specifieke scenario's waarbij het gebruik van TPU's het beste resultaat oplevert bij het trainen van AI.
De beste tijd om een TPU te gebruiken is voor bewerkingen waarbij modellen sterk afhankelijk zijn van matrixberekeningen, zoals aanbevelingssystemen voor zoekmachines. TPU's leveren ook geweldige resultaten op voor modellen waarbij de AI enorme hoeveelheden datapunten analyseert die meerdere weken of maanden in beslag nemen. AI-ingenieurs gebruiken TPU's voor instanties zonder aangepaste TensorFlow-modellen en moeten helemaal opnieuw beginnen.
Wanneer geen TPU's gebruiken?
Zoals eerder vermeld, zorgt de optimalisatie van TPU's ervoor dat dit soort processors alleen werken op specifieke werklastbewerkingen. Daarom zijn er gevallen waarin het gebruik van een traditionele CPU en GPU snellere resultaten oplevert. Deze gevallen omvatten:
- Snelle prototyping met maximale flexibiliteit
- Modellen beperkt door de beschikbare datapunten
- Modellen die eenvoudig zijn en snel kunnen worden getraind
- Modellen te lastig om te veranderen
- Modellen die afhankelijk zijn van aangepaste TensorFlow-bewerkingen geschreven in C++
TPU-versies en specificaties
Sinds Google zijn TPU's heeft aangekondigd, is het publiek voortdurend op de hoogte gehouden van de nieuwste versies van TPU's en hun specificaties. Het volgende is een lijst van alle TPU-versies met specificaties:
TPUv1 | TPUv2 | TPUv3 | TPUv4 | Edgev1 | |
---|---|---|---|---|---|
Introductiedatum | 2016 | 2017 | 2018 | 2021 | 2018 |
Procesknooppunt (nm) | 28 | 16 | 16 | 7 | |
Matrijsgrootte (mm²) | 331 | <625 | <700 | <400 | |
Geheugen op chip | 28 | 32 | 32 | 144 | |
Kloksnelheid (MHz) | 700 | 700 | 940 | 1050 | |
Kleinste geheugenconfiguratie (GB) | 8 DDR3 | 16 HBM | 32 HBM | 32 HBM | |
TDP (Watt) | 75 | 280 | 450 | 175 | 2 |
TOPS (Tera-bewerkingen per seconde) | 23 | 45 | 90 | ? | 4 |
TOPS/W | 0.3 | 0.16 | 0.2 | ? | 2 |
Zoals je kunt zien, lijken TPU-kloksnelheden niet zo indrukwekkend, vooral wanneer moderne desktopcomputers tegenwoordig kloksnelheden kunnen hebben die 3-5 keer sneller zijn. Maar als u naar de onderste twee rijen van de tabel kijkt, ziet u dat TPU's 23-90 tera-bewerkingen per seconde kunnen verwerken met slechts 0,16-0,3 watt aan vermogen. TPU's zijn naar schatting 15-30 keer sneller dan moderne CPU's en GPU's bij gebruik van een neurale netwerkinterface.
Met elke uitgebrachte versie laten nieuwere TPU's aanzienlijke verbeteringen en mogelijkheden zien. Hier zijn een paar hoogtepunten voor elke versie.
- TPUv1: De eerste publiekelijk aangekondigde TPU. Ontworpen als een 8-bit matrixvermenigvuldigingsengine en is beperkt tot het oplossen van alleen gehele getallen.
- TPUv2: Sinds ingenieurs opmerkten dat TPUv1 een beperkte bandbreedte had. Deze versie heeft nu een dubbele geheugenbandbreedte met 16 GB RAM. Deze versie kan nu zwevende punten oplossen, waardoor het nuttig is voor training en inferentie.
- TPUv3: TPUv3, uitgebracht in 2018, heeft twee keer zoveel processors en wordt ingezet met vier keer zoveel chips als TPUv2. Dankzij de upgrades kan deze versie acht keer beter presteren dan eerdere versies.
- TPUv4: Dit is de nieuwste versie van TPU die op 18 mei 2021 is aangekondigd. De CEO van Google kondigde aan dat deze versie meer dan twee keer de prestaties zou hebben van TPU v3.
- Rand TPU: Deze TPU-versie is bedoeld voor kleinere bewerkingen en is geoptimaliseerd om minder stroom te verbruiken dan andere versies van TPU in het algemeen. Hoewel hij slechts twee watt aan stroom verbruikt, kan Edge TPU tot vier terra-operaties per seconde oplossen. Edge TPU is alleen te vinden op kleine handheld-apparaten zoals de Pixel 4-smartphone van Google.
Hoe krijg je toegang tot TPU's? Wie kan ze gebruiken?
TPU's zijn eigen verwerkingseenheden die door Google zijn ontworpen om te worden gebruikt met zijn TensorFlow-platform. Toegang van derden tot deze verwerkers is sinds 2018 toegestaan. Tegenwoordig zijn TPU's (behalve Edge TPU's) alleen toegankelijk via Google's computerdiensten via de cloud. Hoewel Edge TPU-hardware kan worden gekocht via de Pixel 4-smartphone van Google en de prototypekit die bekend staat als Coral.
Coral is een USB-versneller die USB 3.0 Type C gebruikt voor data en stroom. Het voorziet uw apparaat van Edge TPU-computing dat in staat is tot 4 TOPS voor elke 2W stroom. Deze kit kan draaien op machines met Windows 10, macOS en Debian Linux (hij kan ook werken met Raspberry Pi).
Andere gespecialiseerde AI-versnellers
Omdat kunstmatige intelligentie de afgelopen tien jaar een rage is geweest, is Big Tech voortdurend op zoek naar manieren om machine learning zo snel en efficiënt mogelijk te maken. Hoewel de TPU's van Google misschien wel de meest populaire ASIC zijn die is ontwikkeld voor deep learning, hebben andere technologiebedrijven zoals Intel, Microsoft, Alibaba en Qualcomm ook hun eigen AI-versnellers ontwikkeld. Deze omvatten de Microsoft Brainwave, Intel Neural Compute Stick en Graphicore's IPU (Intelligence Processing Unit).
Maar hoewel er meer AI-hardware wordt ontwikkeld, zijn de meeste helaas nog niet op de markt beschikbaar, en velen zullen dat ook nooit doen. Op het moment van schrijven, als je echt AI-versnellerhardware wilt kopen, zijn de meest populaire opties om een Coral-prototypingkit, een Intel NCS, een Graphicore Bow Pod of een Asus IoT AI Accelerator te kopen. Als u alleen toegang wilt tot gespecialiseerde AI-hardware, kunt u de cloud computing-services van Google of andere alternatieven zoals Microsoft Brainwave gebruiken.