Platforma TensorFlow de la Google permite utilizatorilor săi să antreneze o IA prin furnizarea de instrumente și resurse pentru învățarea automată. Multă vreme, inginerii AI au folosit procesoare și GPU-uri tradiționale pentru a antrena AI. Deși aceste procesoare pot gestiona diferite procese de învățare automată, ele sunt totuși hardware de uz general utilizat pentru diferite sarcini de zi cu zi.

Pentru a accelera instruirea AI, Google a dezvoltat un circuit integrat specific pentru aplicație (ASIC) cunoscut sub numele de Unitate de procesare a tensorului (TPU). Dar, ce este o unitate de procesare a tensorului și cum accelerează programarea AI?

Ce sunt unitățile de procesare a tensorului (TPU)?

Unitățile de procesare a tensorului sunt Google ASIC pentru învățare automată. TPU-urile sunt utilizate în mod special pentru învățarea profundă pentru a rezolva operații complexe cu matrice și vectori. TPU-urile sunt optimizate pentru a rezolva operațiunile matrice și vectoriale la viteze foarte mari, dar trebuie să fie asociate cu un procesor pentru a da și executa instrucțiuni. TPU-urile pot fi utilizate numai cu Google

instagram viewer
Platforma TensorFlow sau TensorFlow Lite, fie prin cloud computing sau prin versiunea sa simplă pe hardware local.

Aplicații pentru TPU

Credit imagine: Element5 Digital/ Unsplash 

Google folosește TPU din 2015. Ei au confirmat, de asemenea, utilizarea acestor noi procesoare pentru procesarea textului Google Street View, Google Photos și Google Search Results (Rank Brain), deoarece precum și pentru a crea un AI cunoscut sub numele de AlphaGo, care a învins jucătorii de top Go și sistemul AlphaZero care a câștigat împotriva programelor de vârf din șah, Go și Shogi.

TPU-urile pot fi utilizate în diverse aplicații de deep learning, cum ar fi detectarea fraudelor, viziunea computerizată, limbajul natural procesare, mașini cu conducere autonomă, IA vocală, agricultură, asistenți virtuali, tranzacționare cu acțiuni, comerț electronic și diverse rețele sociale previziuni.

Când să folosiți TPU

Deoarece TPU-urile sunt hardware foarte specializat pentru învățare profundă, pierde o mulțime de alte funcții pe care le-ați aștepta de obicei de la un procesor de uz general, cum ar fi un procesor. Având în vedere acest lucru, există scenarii specifice în care utilizarea TPU-urilor va produce cel mai bun rezultat la antrenamentul AI.

Cel mai bun moment pentru a utiliza un TPU este pentru operațiunile în care modelele se bazează în mare măsură pe calculele matriceale, cum ar fi sistemele de recomandare pentru motoarele de căutare. TPU-urile oferă, de asemenea, rezultate excelente pentru modelele în care AI analizează cantități masive de puncte de date care vor dura mai multe săptămâni sau luni pentru a fi finalizate. Inginerii AI folosesc TPU pentru cazuri fără modele personalizate TensorFlow și trebuie să înceapă de la zero.

Când să nu folosiți TPU

După cum sa menționat mai devreme, optimizarea TPU-urilor face ca aceste tipuri de procesoare să funcționeze numai pe anumite operațiuni de sarcină de lucru. Prin urmare, există cazuri în care optarea pentru utilizarea unui procesor și GPU tradițional va produce rezultate mai rapide. Aceste cazuri includ:

  • Prototipare rapidă cu flexibilitate maximă
  • Modele limitate de punctele de date disponibile
  • Modele simple și care pot fi antrenate rapid
  • Modele prea oneroase pentru a fi schimbate
  • Modele bazate pe operațiuni personalizate TensorFlow scrise în C++

Versiuni și specificații TPU

Credit imagine:Zinskauf/ Wikimedia Commons

De când Google și-a anunțat TPU-urile, publicul a fost permanent actualizat cu privire la cele mai recente versiuni ale TPU-urilor și specificațiile acestora. Mai jos este o listă a tuturor versiunilor TPU cu specificații:

TPUv1 TPUv2 TPUv3 TPUv4 Edgev1
Data introducerii 2016 2017 2018 2021 2018
Nod de proces (nm) 28 16 16 7
Dimensiunea matriței (mm²) 331 <625 <700 <400
Memorie pe cip 28 32 32 144
Viteza ceasului (MHz) 700 700 940 1050
Cea mai mică configurație de memorie (GB) 8 DDR3 16 HBM 32 HBM 32 HBM
TDP (Wați) 75 280 450 175 2
TOPS (Tera Operations Per Second) 23 45 90 ? 4
TOPS/W 0.3 0.16 0.2 ? 2

După cum puteți vedea, vitezele de ceas TPU nu par chiar atât de impresionante, mai ales când computerele desktop moderne de astăzi pot avea viteze de ceas de 3-5 ori mai mari. Dar dacă te uiți la cele două rânduri de jos ale tabelului, poți vedea că TPU-urile pot procesa 23-90 tera-operații pe secundă folosind doar 0,16-0,3 wați de putere. Se estimează că TPU-urile sunt de 15-30 de ori mai rapide decât procesoarele și GPU-urile moderne atunci când se utilizează o interfață de rețea neuronală.

Cu fiecare versiune lansată, TPU-urile mai noi prezintă îmbunătățiri și capacități semnificative. Iată câteva momente importante pentru fiecare versiune.

  • TPUv1: Primul TPU anunțat public. Proiectat ca un motor de multiplicare a matricei pe 8 biți și este limitat la rezolvarea numai a numerelor întregi.
  • TPUv2: Din moment ce inginerii au remarcat că TPUv1 a fost limitat în lățime de bandă. Această versiune are acum dublul lățimii de bandă a memoriei cu 16 GB de RAM. Această versiune poate rezolva acum punctele mobile, făcându-l util pentru antrenament și inferență.
  • TPUv3: Lansat în 2018, TPUv3 are de două ori mai multe procesoare și este implementat cu de patru ori mai multe cipuri decât TPUv2. Actualizările permit acestei versiuni să aibă performanțe de opt ori mai mari decât versiunile anterioare.
  • TPUv4: Aceasta este cea mai recentă versiune de TPU anunțată pe 18 mai 2021. CEO-ul Google a anunțat că această versiune va avea performanțe de peste două ori mai mari decât TPU v3.
  • Edge TPU: Această versiune TPU este destinată operațiunilor mai mici optimizate pentru a utiliza mai puțină energie decât alte versiuni de TPU în funcționarea generală. Deși folosește doar doi wați de putere, Edge TPU poate rezolva până la patru operațiuni terra pe secundă. Edge TPU se găsește doar pe dispozitive portabile mici, cum ar fi smartphone-ul Google Pixel 4.

Cum accesați TPU-urile? Cine le poate folosi?

TPU-urile sunt unități de procesare proprietare concepute de Google pentru a fi utilizate cu platforma sa TensorFlow. Accesul terților la aceste procesoare este permis din 2018. Astăzi, TPU-urile (cu excepția TPU-urilor Edge) pot fi accesate numai prin intermediul Google servicii de calcul prin cloud. În timp ce hardware-ul Edge TPU poate fi cumpărat prin smartphone-ul Google Pixel 4 și kit-ul său de prototipare cunoscut sub numele de Coral.

Coral este un accelerator USB care folosește USB 3.0 de tip C pentru date și alimentare. Acesta oferă dispozitivului dvs. computer Edge TPU capabil de 4 TOPS pentru fiecare 2W de putere. Acest kit poate rula pe mașini care folosesc Windows 10, macOS și Debian Linux (poate funcționa și cu Raspberry Pi).

Alte acceleratoare AI specializate

Întrucât inteligența artificială a făcut furori în ultimul deceniu, Big Tech caută în mod constant modalități de a face învățarea automată cât mai rapidă și eficientă posibil. Deși TPU-urile Google sunt, fără îndoială, cel mai popular ASIC dezvoltat pentru învățarea profundă, alte companii de tehnologie precum Intel, Microsoft, Alibaba și Qualcomm și-au dezvoltat, de asemenea, propriile acceleratoare AI. Acestea includ Microsoft Brainwave, Intel Neural Compute Stick și IPU (Intelligence Processing Unit) de la Graphicore.

Dar, deși se dezvoltă mai mult hardware AI, din păcate, majoritatea nu sunt încă disponibile pe piață și mulți nu vor fi niciodată. În momentul în care scriu, dacă doriți cu adevărat să cumpărați hardware accelerator AI, cele mai populare opțiuni sunt să cumpărați un kit de prototipare Coral, un Intel NCS, un Graphicore Bow Pod sau un Asus IoT AI Accelerator. Dacă doriți doar acces la hardware specializat AI, puteți utiliza serviciile de cloud computing ale Google sau alte alternative precum Microsoft Brainwave.