Alla scoperta di FPGA e Project Brainwave

Con questo articolo diamo un’infarinatura di quello che sono le FPGA e l’architettura Project Brainwave in Azure, entrambi elementi utili, talvolta fondamentali, per velocizzare tutto il sistema di AI su cui lavoriamo.

Scusatemi per la semplificazione utilizzata nell’introduzione. 😉

 

 

FPGA

Parliamo di un dispositivo che contiene una matrice di blocchi di logica programmabile e una gerarchia di interconnessioni riconfigurabili che consentono di configurare i blocchi in modi diversi dopo la produzione.

I dispositivi FPGA offrono una combinazione di programmabilità e prestazioni superiore agli altri chip:

  • Le CPU sono processori per utilizzo generico. Le prestazioni delle CPU non sono ideali per l’elaborazione di video e immagini.
  • Le unità di elaborazione grafica (GPU)offrono capacità di elaborazione parallela e rappresentano una scelta comune per i calcoli di intelligenza artificiale. L’elaborazione parallela con GPU consente un rendering delle immagine più veloce rispetto alle CPU.
  • Gli Application Specific Integrated Circuit (ASIC), come le unità del processore TensorFlow di Google, sono circuiti personalizzati. Nonostante questi chip offrano la massima efficienza, gli ASIC non sono flessibili.
  • I dispositivi FPGA, ad esempio quelli disponibili in Azure, assicurano prestazioni simili a quelle degli ASIC e la flessibilità di essere riconfigurati in un secondo momento.

I dispositivi FPGA sono ora presenti in ogni nuovo server Azure. Microsoft sta già utilizzando i dispositivi FPGA per la classificazione delle ricerche Bing, la valutazione della rete neurale profonda (DNN) e l’accelerazione SDN. Queste implementazioni FPGA riducono la latenza e mantengono libere le CPU per altre attività.

 

Project Brainwave in Azure

Project Brainwave è un’architettura hardware progettata sui dispositivi FPGA Intel e usata per accelerare i calcoli AI in tempo reale.

Con questa architettura economica abilitata per FPGA, una rete neurale con training può essere eseguita alla velocità massima e con una latenza più bassa.

La tecnologia Project Brainwave è in grado di parallelizzare le reti neurali profonde con training preliminare tra i dispositivi FPGA, in modo da ridimensionare il servizio.