• Home
  • Chimica
  • Astronomia
  • Energia
  • Natura
  • Biologia
  • Fisica
  • Elettronica
  • Il ripensamento del deep learning supera il principale ostacolo nel settore dell'IA

    Anshumali Shrivastava della Rice University ha guidato un team che ha dimostrato come implementare la tecnologia di deep learning senza hardware di accelerazione specializzato come le unità di elaborazione grafica. Credito:Jeff Fitlow/Rice University

    Gli informatici della Rice University hanno superato un grosso ostacolo nel fiorente settore dell'intelligenza artificiale dimostrando che è possibile accelerare la tecnologia di deep learning senza hardware di accelerazione specializzato come le unità di elaborazione grafica (GPU).

    Informatici di Rice, supportato da collaboratori di Intel, presenteranno i loro risultati oggi all'Austin Convention Center come parte della conferenza sui sistemi di apprendimento automatico MLSys.

    Molte aziende stanno investendo molto in GPU e altro hardware specializzato per implementare il deep learning, una potente forma di intelligenza artificiale che sta dietro ad assistenti digitali come Alexa e Siri, riconoscimento facciale, sistemi di raccomandazione del prodotto e altre tecnologie. Per esempio, Nvidia, il produttore delle GPU Tensor Core Tesla V100 standard del settore, ha recentemente registrato un aumento del 41% dei ricavi del quarto trimestre rispetto all'anno precedente.

    I ricercatori di Rice hanno creato un'alternativa economica alla GPU, un algoritmo chiamato "motore di apprendimento profondo sublineare" (SLIDE) che utilizza unità di elaborazione centrale (CPU) di uso generale senza hardware di accelerazione specializzato.

    "I nostri test mostrano che SLIDE è la prima implementazione algoritmica intelligente del deep learning su CPU in grado di superare l'accelerazione hardware della GPU su set di dati di raccomandazioni su scala industriale con grandi architetture completamente connesse, " disse Anshumali Shrivastava, un assistente professore alla Brown School of Engineering di Rice che ha inventato SLIDE con gli studenti laureati Beidi Chen e Tharun Medini.

    SLIDE non ha bisogno di GPU perché richiede un approccio fondamentalmente diverso al deep learning. La tecnica di addestramento standard "back-propagation" per le reti neurali profonde richiede la moltiplicazione di matrici, un carico di lavoro ideale per le GPU. Con SCORRIMENTO, Shrivastava, Chen e Medini hanno trasformato l'addestramento della rete neurale in un problema di ricerca che potrebbe invece essere risolto con le tabelle hash.

    Ciò riduce radicalmente l'overhead computazionale per SLIDE rispetto all'addestramento con retropropagazione. Per esempio, una piattaforma GPU top di gamma come quelle di Amazon, Google e altri offrono servizi di deep learning basati su cloud hanno otto Tesla V100 e costano circa $ 100, 000, Shrivastava ha detto.

    Ne abbiamo uno in laboratorio, e nel nostro caso di test abbiamo preso un carico di lavoro perfetto per V100, uno con più di 100 milioni di parametri in grande, reti completamente connesse che si adattano alla memoria della GPU, " ha detto. "L'abbiamo addestrato con il miglior pacchetto (software) in circolazione, TensorFlow di Google, e ci sono volute 3 ore e mezza per allenarsi.

    "Abbiamo quindi dimostrato che il nostro nuovo algoritmo può eseguire l'addestramento in un'ora, non su GPU ma su una CPU di classe Xeon a 44 core, " disse Shrivastava.

    Le reti di deep learning sono state ispirate dalla biologia, e la loro caratteristica centrale, neuroni artificiali, sono piccoli pezzi di codice informatico che possono imparare a svolgere un compito specifico. Una rete di deep learning può contenere milioni o addirittura miliardi di neuroni artificiali, e lavorando insieme possono imparare a fare a livello umano, decisioni di esperti semplicemente studiando grandi quantità di dati. Per esempio, se viene addestrata una rete neurale profonda per identificare gli oggetti nelle foto, impiegherà neuroni diversi per riconoscere la foto di un gatto rispetto a quelli che utilizzerà per riconoscere uno scuolabus.

    "Non è necessario addestrare tutti i neuroni su ogni caso, "Medini ha detto. "Abbiamo pensato, "Se vogliamo solo selezionare i neuroni che sono rilevanti, allora è un problema di ricerca.' Così, algoritmicamente, l'idea era di usare l'hashing sensibile alla località per allontanarsi dalla moltiplicazione di matrici."

    L'hashing è un metodo di indicizzazione dei dati inventato per la ricerca su Internet negli anni '90. Utilizza metodi numerici per codificare grandi quantità di informazioni, come intere pagine web o capitoli di un libro, come una stringa di cifre chiamata hash. Le tabelle hash sono elenchi di hash che possono essere cercati molto rapidamente.

    "Non avrebbe avuto senso implementare il nostro algoritmo su TensorFlow o PyTorch perché la prima cosa che vogliono fare è convertire qualunque cosa tu stia facendo in un problema di moltiplicazione di matrici, " Chen ha detto. "Questo è esattamente ciò da cui volevamo allontanarci. Quindi abbiamo scritto il nostro codice C++ da zero."

    Shrivastava ha affermato che il più grande vantaggio di SLIDE rispetto alla retropropagazione è che si tratta di dati paralleli.

    "Per dati paralleli intendo che se ho due istanze di dati su cui voglio allenarmi, diciamo che uno è l'immagine di un gatto e l'altro di un autobus, probabilmente attiveranno diversi neuroni, e SLIDE può aggiornare, o allenati su questi due indipendentemente, " ha detto. "Questo è un utilizzo molto migliore del parallelismo per le CPU.

    "Il rovescio della medaglia, rispetto alla GPU, è che abbiamo bisogno di una grande memoria, " ha detto. "C'è una gerarchia di cache nella memoria principale, e se non stai attento puoi incappare in un problema chiamato cache thrashing, dove si ottengono molti errori di cache."

    Shrivastava ha affermato che i primi esperimenti del suo gruppo con SLIDE hanno prodotto un significativo cache thrashing, ma i loro tempi di addestramento erano ancora paragonabili o più veloci dei tempi di addestramento della GPU. Così lui, Chen e Medini hanno pubblicato i primi risultati su arXiv a marzo 2019 e ha caricato il loro codice su GitHub. Qualche settimana dopo, sono stati contattati da Intel.

    "I nostri collaboratori di Intel hanno riconosciuto il problema della cache, " ha detto. "Ci hanno detto che potevano lavorare con noi per farlo allenare ancora più velocemente, e avevano ragione. I nostri risultati sono migliorati di circa il 50% con il loro aiuto."

    Shrivastava ha detto che SLIDE non si è ancora avvicinato al raggiungimento del suo potenziale.

    "Abbiamo appena scalfito la superficie, " ha detto. "C'è ancora molto che possiamo fare per ottimizzare. Non abbiamo usato la vettorizzazione, Per esempio, o acceleratori integrati nella CPU, come Intel Deep Learning Boost. Ci sono molti altri trucchi che potremmo ancora usare per renderlo ancora più veloce".

    Shrivastava ha detto che SLIDE è importante perché mostra che ci sono altri modi per implementare l'apprendimento profondo.

    "L'intero messaggio è, "Non lasciamoci ostacolare dalla matrice di moltiplicazione e dalla memoria della GPU, '", ha detto Chen. "Il nostro potrebbe essere il primo approccio algoritmico a battere la GPU, ma spero non sia l'ultimo. Il campo ha bisogno di nuove idee, e questa è una parte importante di ciò che riguarda MLSys."


    © Scienza https://it.scienceaq.com