Il machine learning chiede processori di nuova concezione

Oltre 12 miliardi di dollari investiti nel 2017 con una crescita del 59 percento rispetto all'anno scorso e un obiettivo di 46 miliardi di dollari di giro d'affari nel 2020. È il mercato dei sistemi di intelligenza artificiale secondo le cifre di IDC, un ambito in cui tutti i principali nomi dell'IT stanno investendo e che promette di rivoluzionare il nostro modo di usare la tecnologia.

A questo mercato si pensa soprattutto dal punto di vista del software, in realtà per portare davvero avanti l'evoluzione dei sistemi di AI - più precisamente di machine learning, che ne rappresenta il cuore per la grande maggioranza delle applicazioni - servono hardware adeguati. Ma, contrariamente al pensiero comune, non processori di grande potenza nel pieno rispetto della Legge di Moore: le soluzioni considerate migliori coinvolgono CPU di nuova concezione in cui conta il lavoro di gruppo.

La spesa per l'AI per settori secondo IDC
La spesa per l'AI per settori secondo IDC

I tecnici del machine learning per chiarire il concetto fanno spesso lo stesso paragone. Il nostro cervello non è un mega-processore: è una miriade di piccole unità elaborative - i neuroni - che da sole fanno poco ma lavorano in sinergia e facendo pesantemente leva sulla comunicazione. Se vogliamo creare sistemi hardware che operino in qualche modo come il cervello, è a questo modello che ci dobbiamo ispirare.

Il concetto della bassa precisione

Per decenni l'evoluzione dei processori ha puntato a CPU singolarmente sempre più potenti e capaci di eseguire calcoli ad alta precisione. Storicamente la cosa ha senso: era più facile rendere più veloce un processore e i suoi componenti interni, i colli di bottiglia erano "fuori" verso la memoria e lo storage, in generale nelle comunicazioni tra la CPU e qualsiasi altro componente. Oggi non è più così e la comunicazione tra processori, RAM e storage è molto più veloce sia per il miglioramento dei sistemi di I/O sia per la maggiore velocità dei componenti in sé (pensiamo ad esempio alla tecnologia 3D XPoint).

A questo punto si è iniziato a progettare sistemi che puntassero alla velocità di elaborazione unendo le forze di centinaia o migliaia di core capaci di suddividersi opportunamente il carico di lavoro e di condividere i dati necessari. È quello che da diversi anni si fa nel campo delle GPU e non è un caso che, più di recente, i sistemi di machine learning spesso di basino sulla sinergia tra processori classici e GPU ottimizzate che fanno da acceleratori.

Il salto concettuale è sviluppare processori (non GPU) di nuova generazione che abbandonino la ricerca dell'alta precisione (tecnicamente, del calcolo in virgola mobile a 64 bit) per realizzare invece sistemi di "dense computing" a 16 bit che rendono molto meglio per il machine learning. È un salto non semplice, perché in questi sistemi a bassa precisione quello che manca in potenza di calcolo pura deve arrivare da un altissimo tasso di parallelismo e anche da algoritmi di intelligenza artificiale studiati ad hoc.

Tutti ai nastri di partenza

Lo sviluppo dei processori per il machine learning non parte da zero ma è un campo concettualmente abbastanza nuovo da livellare le differenze competitive tra i classici produttori di processori. Almeno in parte. Che carte hanno in mano, quindi, i vari giocatori?

I puristi assoluti dell'AI storcono un po' il naso quando si parla del ruolo delle GPU nel campo dei sistemi a bassa precisione perché è come se ci fossero capitate per caso. Ma è un dato di fatto che quando si tratta di processori ad alta densità l'esperienza maturata da chi fa processori grafici di fascia alta - quindi Nvidia e AMD - ha il suo peso.

L'architettura del sistema Nvidia DGX-1
L'architettura del sistema Nvidia DGX-1

Nvidia ha mostrato circa un anno fa la sua visione del tema machine learning con il sistema DGX-1: due processori Intel Xeon collegati a una batteria di acceleratori GPU Tesla P100 con interconnessioni NVLink ad alta velocità. Lo step successivo che ora si è posta è passare dall'architettura Pascal delle P100 alla futura architettura Volta delle GPU, che dovrebbe portare miglioramenti prestazionali notevoli.

AMD è l'unica a poter giocare già adesso sui tavoli degli acceleratori e delle CPU usando sviluppi completamente propri. In campo GPU le schede Radeon hanno già dimostrato la loro efficacia, in campo processori la strada multi-core è quella di Naples, il chip server a 64 core che dovrebbe debuttare quest'anno. AMD ha già delineato una configurazione a doppio Naples con il collegamento diretto di ciascuna CPU a quattro acceleratori Radeon Instinct, proprio per applicazioni di intelligenza artificiale.

L'idea di AMD per i server: un processore ma GPU dedicate per l'elaborazione
L'idea di AMD per i server: un processore Naples connesso a quattro acceleratori Radeon Istinct

Intel si è mossa decisamente in campo machine learning con un'acquisizione: quella di Nervana. Non a caso l'ex CEO di Nervana, Naveen Rao, è ora il responsabile della divisione Intel dedicata all'AI. Nervana ha portato in dote il design del suo processore per il dense computing (il Nervana Engine), che ora è in test presso alcuni utenti e che nel prossimo futuro sarà disponibile come prodotto autonomo (nome in codice Lake Crest) e successivamente integrato con la CPU multi-core Xeon Phi nel futuro processore Knights Crest.

Anche ARM punta ai processori per il machine learning, a modo suo. Il campo stavolta è quello dei processori embedded o da device mobili: qui ARM spinge un'architettura definita DynamIQ big.LITTLE che vede la convivenza nello stesso chip di processori Cortex A diversi ottimizzati per compiti specifici. Uno sarà sempre più l'esecuzione in locale di algoritmi di machine learning grazie a un nuovo set di istruzioni ad hoc. Algoritmi che però, quasi certamente, dovranno essere "addestrati" altrove.

Se questo articolo ti è piaciuto e vuoi rimanere sempre informato sulle novità tecnologiche iscriviti alla newsletter gratuita.

1 COMMENTO

LASCIA UN COMMENTO

Please enter your comment!
Please enter your name here