La piattaforma TensorFlow di Google consente ai suoi utenti di addestrare un'IA fornendo strumenti e risorse per l'apprendimento automatico. Per molto tempo, gli ingegneri dell'IA hanno utilizzato CPU e GPU tradizionali per addestrare l'IA. Sebbene questi processori possano gestire vari processi di apprendimento automatico, sono ancora hardware generici utilizzati per varie attività quotidiane.
Per accelerare la formazione sull'IA, Google ha sviluppato un circuito integrato specifico dell'applicazione (ASIC) noto come Tensor Processing Unit (TPU). Ma cos'è un'unità di elaborazione tensoriale e in che modo accelerano la programmazione dell'IA?
Cosa sono le unità di elaborazione tensoriale (TPU)?
Le unità di elaborazione del tensore sono di Google ASIC per l'apprendimento automatico. I TPU sono utilizzati specificamente per il deep learning per risolvere complesse operazioni su matrici e vettori. Le TPU sono ottimizzate per risolvere operazioni su matrice e vettore a velocità ultra elevate, ma devono essere accoppiate a una CPU per fornire ed eseguire istruzioni. Le TPU possono essere utilizzate solo con Google
Piattaforma TensorFlow o TensorFlow Lite, sia attraverso il cloud computing che la sua versione lite su hardware locale.Applicazioni per TPU
Google utilizza le TPU dal 2015. Hanno anche confermato l'uso di questi nuovi processori per l'elaborazione del testo di Google Street View, Google Foto e risultati di ricerca di Google (Rank Brain), in quanto oltre a creare un'IA nota come AlphaGo, che ha battuto i migliori giocatori di Go e il sistema AlphaZero che ha vinto contro programmi leader in Chess, Go e Shogi.
Le TPU possono essere utilizzate in varie applicazioni di deep learning come il rilevamento di frodi, la visione artificiale, il linguaggio naturale elaborazione, auto a guida autonoma, intelligenza artificiale vocale, agricoltura, assistenti virtuali, compravendita di azioni, e-commerce e social vari predizioni.
Quando usare le TPU
Poiché i TPU sono hardware altamente specializzati per il deep learning, perde molte altre funzioni che in genere ti aspetteresti da un processore generico come una CPU. Con questo in mente, ci sono scenari specifici in cui l'uso delle TPU produrrà i migliori risultati durante l'allenamento dell'IA.
Il momento migliore per utilizzare un TPU è per le operazioni in cui i modelli si basano molto sui calcoli di matrice, come i sistemi di raccomandazione per i motori di ricerca. Le TPU producono anche ottimi risultati per i modelli in cui l'IA analizza enormi quantità di punti dati che richiederanno più settimane o mesi per essere completati. Gli ingegneri dell'IA utilizzano le TPU per le istanze senza modelli TensorFlow personalizzati e devono ricominciare da zero.
Quando non usare le TPU
Come affermato in precedenza, l'ottimizzazione delle TPU fa sì che questi tipi di processori funzionino solo su operazioni specifiche del carico di lavoro. Pertanto, ci sono casi in cui la scelta di utilizzare una CPU e una GPU tradizionali produrrà risultati più rapidi. Queste istanze includono:
- Prototipazione rapida con la massima flessibilità
- Modelli limitati dai punti dati disponibili
- Modelli che sono semplici e possono essere addestrati rapidamente
- Modelli troppo onerosi per cambiare
- Modelli basati su operazioni TensorFlow personalizzate scritte in C++
Versioni e specifiche in TPU
Da quando Google ha annunciato le sue TPU, il pubblico è stato continuamente aggiornato sulle ultime versioni delle TPU e sulle loro specifiche. Di seguito è riportato un elenco di tutte le versioni TPU con le specifiche:
TPUv1 | TPUv2 | TPUv3 | TPUv4 | Edgev1 | |
---|---|---|---|---|---|
Data di introduzione | 2016 | 2017 | 2018 | 2021 | 2018 |
Nodo di processo (nm) | 28 | 16 | 16 | 7 | |
Dimensioni stampo (mm²) | 331 | <625 | <700 | <400 | |
Memoria su chip | 28 | 32 | 32 | 144 | |
Velocità di clock (MHz) | 700 | 700 | 940 | 1050 | |
Configurazione di memoria più piccola (GB) | 8 DDR3 | 16 HBM | 32 HBM | 32 HBM | |
TDP (Watt) | 75 | 280 | 450 | 175 | 2 |
TOPS (Operazioni Tera al secondo) | 23 | 45 | 90 | ? | 4 |
TOP/W | 0.3 | 0.16 | 0.2 | ? | 2 |
Come puoi vedere, le velocità di clock in TPU non sembrano così impressionanti, specialmente quando i moderni computer desktop oggi possono avere velocità di clock 3-5 volte più veloci. Ma se osservi le due righe inferiori della tabella, puoi vedere che le TPU possono elaborare 23-90 tera-operazioni al secondo utilizzando solo 0,16-0,3 watt di potenza. Si stima che le TPU siano 15-30 volte più veloci delle moderne CPU e GPU quando si utilizza un'interfaccia di rete neurale.
Con ogni versione rilasciata, le TPU più recenti mostrano miglioramenti e funzionalità significativi. Ecco alcuni punti salienti per ciascuna versione.
- TPUv1: il primo TPU annunciato pubblicamente. Progettato come un motore di moltiplicazione di matrici a 8 bit ed è limitato a risolvere solo numeri interi.
- TPUv2: Poiché gli ingegneri hanno notato che TPUv1 era limitato nella larghezza di banda. Questa versione ora ha il doppio della larghezza di banda della memoria con 16 GB di RAM. Questa versione ora può risolvere i punti mobili rendendola utile per l'addestramento e l'inferenza.
- TPUv3: rilasciato nel 2018, TPUv3 ha il doppio dei processori e viene distribuito con quattro volte più chip di TPUv2. Gli aggiornamenti consentono a questa versione di avere prestazioni otto volte superiori rispetto alle versioni precedenti.
- TPUv4: questa è l'ultima versione di TPU annunciata il 18 maggio 2021. Il CEO di Google ha annunciato che questa versione avrebbe più del doppio delle prestazioni di TPU v3.
- Bordo in TPU: questa versione TPU è pensata per operazioni più piccole ottimizzate per utilizzare meno energia rispetto ad altre versioni di TPU nel funzionamento generale. Sebbene utilizzi solo due watt di potenza, Edge TPU può risolvere fino a quattro operazioni di terra al secondo. Edge TPU si trova solo su piccoli dispositivi palmari come lo smartphone Pixel 4 di Google.
Come si accede alle TPU? Chi può usarli?
Le TPU sono unità di elaborazione proprietarie progettate da Google per essere utilizzate con la sua piattaforma TensorFlow. L'accesso di terze parti a questi processori è consentito dal 2018. Oggi, è possibile accedere alle TPU (ad eccezione delle Edge TPU) solo tramite Google servizi informatici attraverso il cloud. Mentre l'hardware Edge TPU può essere acquistato tramite lo smartphone Pixel 4 di Google e il suo kit di prototipazione noto come Coral.
Coral è un acceleratore USB che utilizza USB 3.0 di tipo C per dati e alimentazione. Fornisce al tuo dispositivo l'elaborazione Edge TPU in grado di 4 TOP per ogni 2 W di potenza. Questo kit può essere eseguito su macchine che utilizzano Windows 10, macOS e Debian Linux (può funzionare anche con Raspberry Pi).
Altri acceleratori di intelligenza artificiale specializzati
Con l'intelligenza artificiale di gran moda negli ultimi dieci anni, Big Tech è costantemente alla ricerca di modi per rendere l'apprendimento automatico il più veloce ed efficiente possibile. Sebbene i TPU di Google siano probabilmente gli ASIC più popolari sviluppati per il deep learning, anche altre società tecnologiche come Intel, Microsoft, Alibaba e Qualcomm hanno sviluppato i propri acceleratori di intelligenza artificiale. Questi includono Microsoft Brainwave, Intel Neural Compute Stick e IPU (Intelligence Processing Unit) di Graphicore.
Ma mentre è in fase di sviluppo più hardware di intelligenza artificiale, purtroppo la maggior parte deve ancora essere disponibile sul mercato e molti non lo saranno mai. Al momento della scrittura, se vuoi davvero acquistare hardware per l'acceleratore AI, le opzioni più popolari sono acquistare un kit di prototipazione Coral, un Intel NCS, un Graphicore Bow Pod o un Asus IoT AI Accelerator. Se desideri solo accedere a hardware AI specializzato, puoi utilizzare i servizi di cloud computing di Google o altre alternative come Microsoft Brainwave.