Tensor Processing Unit

Tensor Processing Unit
Tensor Processing Unit 3.0.jpg
Tensor Processing Unit 3.0
Designer Google
Introducerad maj 2016
Typ
Neuralt nätverk Maskininlärning

Tensor Processing Unit ( TPU ) är en AI -accelerator applikationsspecifik integrerad krets (ASIC) utvecklad av Google för maskininlärning i neurala nätverk , med hjälp av Googles egen programvara TensorFlow . Google började använda TPU:er internt 2015 och gjorde dem 2018 tillgängliga för tredje parts användning, både som en del av sin molninfrastruktur och genom att erbjuda en mindre version av chipet till försäljning.

Jämförelse med CPU:er och GPU:er

Jämfört med en grafisk bearbetningsenhet är TPU:er designade för en hög volym av lågprecisionsberäkningar (t.ex. så lite som 8-bitars precision) med fler in-/utdataoperationer per joule , utan hårdvara för rastrering/ texturmappning . TPU ASIC :erna är monterade i en kylfläns, som kan passa i en hårddiskplats i ett datacenterrack, enligt Norman Jouppi .

Olika typer av processorer lämpar sig för olika typer av maskininlärningsmodeller. TPU:er är väl lämpade för CNN:er , medan GPU:er har fördelar för vissa fullt anslutna neurala nätverk, och CPU:er kan ha fördelar för RNN :er .

Historia

Tensorbehandlingsenheten tillkännagavs i maj 2016 på Google I/O , när företaget sa att TPU redan hade använts i deras datacenter i över ett år. Chipet har designats specifikt för Googles TensorFlow -ramverk, ett symboliskt matematikbibliotek som används för maskininlärningstillämpningar som neurala nätverk . Men från och med 2017 använde Google fortfarande processorer och GPU:er för andra typer av maskininlärning . Andra AI-acceleratordesigner dyker också upp från andra leverantörer och är inriktade på inbäddade och robotmarknader .

Googles TPU:er är proprietära. Vissa modeller är kommersiellt tillgängliga, och den 12 februari 2018 The New York Times att Google "skulle tillåta andra företag att köpa tillgång till dessa chips genom sin molntjänst." Google har sagt att de användes i AlphaGo kontra Lee Sedol -serien av man-maskin Go- spel, såväl som i AlphaZero -systemet, som producerade schack , Shogi och Go spelprogram från enbart spelreglerna och fortsatte med att slå de ledande program i dessa spel. Google har också använt TPU:er för Google Street View- textbehandling och kunde hitta all text i Street View-databasen på mindre än fem dagar. I Google Photos kan en enskild TPU bearbeta över 100 miljoner foton om dagen. Det används också i RankBrain som Google använder för att tillhandahålla sökresultat.

Google ger tredje part åtkomst till TPU:er genom sin Cloud TPU -tjänst som en del av Google Cloud Platform och genom sina anteckningsboksbaserade tjänster Kaggle och Colaboratory .

Produkter

Tensor Processing Unit produkter
TPUv1 TPUv2 TPUv3 TPUv4 Edge v1
Datum infört 2016 2017 2018 2021 2018
Processnod 28 nm 16 nm 16 nm 7 nm
Formstorlek (mm 2 ) 331 < 625 < 700 < 400
On-chip minne (MiB) 28 32 32 144
Klockhastighet (MHz) 700 700 940 1050
Minne 8 GiB DDR3 16 GiB HBM 32 GiB HBM 32 GiB HBM
Minnesbandbredd 34 GB/s 600 GB/s 900 GB/s 1200 GB/s
TDP (W) 75 280 220 170 2
TOPS (Tera Operations Per Second) 23 45 123 275 4
TOPS/W 0,31 0,16 0,56 1,62 2

Första generationens TPU

Den första generationens TPU är en 8-bitars matrismultiplikationsmotor , driven med CISC-instruktioner av värdprocessorn över en PCIe 3.0- buss. Den är tillverkad i en 28 nm process med en formstorlek ≤ 331 mm 2 . Klockhastigheten är 700 MHz och den har en termisk designeffekt på 28–40 W . Den har 28 MiB på chipminne och 4 MiB 32-bitars ackumulatorer som tar resultatet av en 256×256 systolisk array av 8-bitars multiplikatorer . Inom TPU-paketet finns 8 GiB dual -channel 2133 MHz DDR3 SDRAM som erbjuder 34 GB/s bandbredd. Instruktioner överför data till eller från värden, utför matrismultiplikationer eller faltningar och tillämpar aktiveringsfunktioner .

Andra generationens TPU

Andra generationens TPU tillkännagavs i maj 2017. Google uppgav att den första generationens TPU-design var begränsad av minnesbandbredd och användning av 16 GB High Bandwidth Memory i andra generationens design ökade bandbredden till 600 GB/s och prestanda till 45 tera FLOPPAR . TPU:erna arrangeras sedan i fyra-chipsmoduler med en prestanda på 180 teraFLOPS. Sedan sätts 64 av dessa moduler ihop till 256-chips pods med 11,5 petaFLOPS prestanda. Noterbart, medan första generationens TPU:er var begränsade till heltal, kan andra generationens TPU:er också beräkna i flyttal . Detta gör andra generationens TPU:er användbar för både träning och slutledning av maskininlärningsmodeller. Google har sagt att dessa andra generationens TPU:er kommer att vara tillgängliga på Google Compute Engine för användning i TensorFlow-applikationer.

Tredje generationens TPU

Tredje generationens TPU tillkännagavs den 8 maj 2018. Google meddelade att processorerna i sig är dubbelt så kraftfulla som andra generationens TPU:er, och skulle distribueras i pods med fyra gånger så många chips som föregående generation. Detta resulterar i en 8-faldig ökning av prestanda per pod (med upp till 1 024 chips per pod) jämfört med andra generationens TPU-utbyggnad.

Fjärde generationens TPU

Den 18 maj 2021 talade Googles vd Sundar Pichai om TPU v4 Tensor Processing Units under sin keynote vid Googles virtuella I/O-konferens. TPU v4 förbättrade prestandan med mer än 2x jämfört med TPU v3-chips. Pichai sa "En enda v4-pod innehåller 4 096 v4-chips, och varje pod har 10 gånger så stor sammankopplingsbandbredd per chip i skala, jämfört med någon annan nätverksteknik."

Edge TPU

I juli 2018 tillkännagav Google Edge TPU. Edge TPU är Googles specialbyggda ASIC -chip designat för att köra maskininlärningsmodeller (ML) för edge computing , vilket innebär att den är mycket mindre och förbrukar mycket mindre ström jämfört med TPU:erna som finns i Googles datacenter (även känd som Cloud TPU). I januari 2019 gjorde Google Edge TPU tillgänglig för utvecklare med en produktlinje under varumärket Coral. Edge TPU klarar 4 biljoner operationer per sekund med 2 W elektrisk effekt.

Produktutbudet inkluderar en enkelkortsdator (SBC), ett system på modul (SoM), ett USB- tillbehör, ett mini -PCI-e- kort och ett M.2- kort. SBC och Coral SoM kör båda Mendel Linux OS – ett derivat av Debian . USB-, PCI-e och M.2-produkterna fungerar som tillägg till befintliga datorsystem och stöder Debian-baserade Linux-system på x86-64 och ARM64-värdar (inklusive Raspberry Pi ).

Maskininlärningskörtiden som används för att exekvera modeller på Edge TPU är baserad på TensorFlow Lite . Edge TPU kan bara accelerera framåtpassningsoperationer, vilket betyder att den främst är användbar för att utföra slutsatser (även om det är möjligt att utföra lättviktsöverföringsinlärning på Edge TPU). Edge TPU stöder också bara 8-bitars matematik, vilket innebär att för att ett nätverk ska vara kompatibelt med Edge TPU måste det antingen tränas med TensorFlow kvantiseringsmedvetna träningsteknik, eller sedan slutet av 2019 är det också möjligt att använda post- träningskvantisering.

Den 12 november 2019 tillkännagav Asus ett par enkelkortsdatorer (SBC) med Edge TPU. Asus Tinker Edge T och Tinker Edge R Board designade för IoT och edge AI . SBC:erna stöder officiellt operativsystemen Android och Debian . ASUS har också demonstrerat en mini-PC som heter Asus PN60T med Edge TPU.

Den 2 januari 2020 tillkännagav Google Coral Accelerator Module och Coral Dev Board Mini, som ska demonstreras på CES 2020 senare samma månad. Coral Accelerator Module är en multi-chip-modul med Edge TPU, PCIe och USB-gränssnitt för enklare integration. Coral Dev Board Mini är en mindre SBC med Coral Accelerator Module och MediaTek 8167s SoC .

Pixel neural kärna

Den 15 oktober 2019 tillkännagav Google Pixel 4- smarttelefonen, som innehåller en Edge TPU som kallas Pixel Neural Core . Google beskriver den som "anpassad för att möta kraven för nyckelkamerafunktioner i Pixel 4", med hjälp av en neural nätverkssökning som offrar viss noggrannhet till förmån för att minimera latens och energianvändning.

Google Tensor

Google följde Pixel Neural Core genom att integrera en Edge TPU i ett anpassat system-på-chip vid namn Google Tensor , som släpptes 2021 med Pixel 6- linjen av smartphones. Google Tensor SoC visade "extremt stora prestandafördelar gentemot konkurrenterna" i maskininlärningsfokuserade riktmärken; även om den momentana strömförbrukningen också var relativt hög, innebar den förbättrade prestandan att mindre energi förbrukades på grund av kortare perioder som krävde toppprestanda.

Se även


externa länkar