Google distributed computing for dummies treni ResNet-50 in meno di mezz’ora

0
192

È meglio essere il più precisi possibile nel machine learning, il tempo che ci vuole, o dannatamente preciso in un breve lasso di tempo?

Per DeepMind ricercatori Peter Buchlovsky e colleghi, la scelta è stata quella di andare per la velocità di apprendimento più precisione teorica.

La rivelazione di questa settimana una nuova tecnologia, chiamata “TF-Replicator,” i ricercatori hanno detto che sono stati in grado di raggiungere la precisione dei migliori risultati di benchmark familiare ImageNet concorrenza in meno di mezz’ora, con 32 di Google Tensore Unità di Elaborazione del chip di funzionamento in parallelo. Il debutto del Replicatore si presenta come Google questa settimana in anteprima la versione 2.0 di TensorFlow.

I risultati ottenuti con TF-Replicator, gli autori sostengono, si è avvicinato i migliori risultati da parte di alcuni altri progetti che sono utilizzati molti più Gpu, anche prima del lavoro, che hanno impiegato i 1024 di Nvidia “Tesla P100” Gpu.

L’implicazione del TF-Replicatore di progetto è che tale epica di ingegneria di Gpu può ora essere realizzato con poche righe di codice Python che non sono stati appositamente sintonizzati per qualsiasi configurazione hardware particolare.

google-tf-replicator-patterns-2019.png

TF-Replicator è in grado di rendere più “operai” che condividono un calcolo grafico, come a sinistra, o separate, per calcolare grafici di loro, come a destra.

DeepMind

Il trucco è quello di rendere Parallel Distributed Computing for Dummies, se volete. Una serie di nuove funzioni sono state aggiunte a Google TensorFlow quadro che, DeepMind afferma che “banalizza il processo di costruzione distribuita macchina, sistemi di apprendimento”, consentendo ai ricercatori “naturalmente definire il proprio modello e di eseguire loop come per il singolo, impostazione della macchina.”

Anche: Google lancia TensorFlow 2.0 Alpha

Il sistema è più flessibile di un precedente TensorFlow approccio, chiamato un “estimatore”, che hanno imposto restrizioni sui modi i modelli sono costruiti. Mentre che il sistema è stato predisposto per ambienti di produzione, l’approccio di Google è per il laboratorio di R&D, per la realizzazione di nuovi tipi di reti, quindi è stato progettato per essere più flessibile.

Significa anche essere molto più semplice da programmare rispetto a precedenti tentativi di parallelismo, come “Mesh-TensorFlow,” introdotta lo scorso anno da Google Cervello unità come un linguaggio separato specificare il calcolo distribuito.

La ricerca, “TF-Replicator: Distribuito Macchina di Apprendimento Per i Ricercatori,” è pubblicato su arXiv pre-server di stampa, e c’è anche un post sul blog di DeepMind.

L’ipotesi di lavoro di carta è che si desidera ottenere a state-of-the-arte, risultati di fast piuttosto che cercare di spingere il limite in termini di precisione. Come fanno notare gli autori, “Invece di tentare di migliorare la precisione della classificazione, molti articoli recenti si sono concentrati sulla riduzione del tempo necessario per raggiungere un po’ di prestazioni di soglia (in genere ∼75%-1 precisione),” con ImageNet parametri di riferimento, e, nella maggior parte dei casi, la formazione comune “ResNet-50” rete neurale.

Anche: Google dice che una crescita esponenziale di AI è cambiare la natura di calcolare

Questa corsa per arrivare a buoni risultati è noto come “debole scala”, dove la rete è formata in pochi passaggi con molto grandi lotti, in” il raggruppamento dei dati in insiemi di diverse migliaia di esempi.

Da qui la necessità di parallelizzare i modelli per essere in grado di lavorare su quei lotti contemporaneamente su più core e più Gpu o TPUs.

Gli autori hanno cercato di costruire un sistema di calcolo distribuito che dovrebbe gestire compiti che vanno dalla classificazione a fare finta di immagini via generativa contraddittorio reti (GANs) per il rafforzamento dell’apprendimento, mentre per raggiungere la soglia competente per prestazioni più veloci.

Gli autori scrivono che un ricercatore non ha bisogno di sapere nulla di calcolo distribuito. Il ricercatore di specificare la loro rete neurale come una “replica” di una cosa che è progettato per funzionare su un singolo computer. Che replica può essere automaticamente moltiplicato per separare le istanze in esecuzione in parallelo su più computer a condizione che l’autore include due funzioni Python per loro TensorFlow codice, chiamato “input_fn” e “step_fn.” Il primo si chiama un set di dati per popolare ogni “passaggio” di una rete neurale. Che rende possibile parallelizzare il lavoro su dati tra le varie macchine. L’altra funzione specifica il calcolo deve essere eseguita, e può essere utilizzato per parallelizzare la rete neurale operazioni su molte macchine.

tensorflowgraphbuilding-2019.png

come TF-Replicator costruisce il calcolo grafico su più macchine, lasciando il “segnaposto” funzioni nel grafico in cui le comunicazioni dovranno essere inseriti in seguito, qui rappresentato dalle linee tratteggiate.

DeepMind.

Gli autori fanno notare che ha dovuto superare alcune interessanti limitazioni. Per esempio, le comunicazioni tra i nodi di calcolo può essere importante per cose come la raccolta di tutte le gradiente di discesa calcoli accadendo su più macchine.

Che può essere difficile per l’ingegnere. Se un singolo “grafico” di una rete neurale è distribuita su diversi computer, in quello che è conosciuto come “in-grafico di replica”, allora i problemi possono sorgere a causa di parti di calcolo grafico potrebbe non essere ancora costruito, che vanifica le dipendenze tra i computer. “Una replica step_fn può chiamare una primitiva metà del grafico di costruzione,” scrivono, in riferimento alle comunicazioni primitive. “Questo richiede di fare riferimento a dati provenienti da un’altra replica che è di per sé ancora essere costruita.”

La loro soluzione è mettere “segnaposto” codice di calcolo grafico di ogni macchina, che “possono essere ri-scritto, una volta che tutti i replica sentiment sono finalizzati.”

tf-replicator-imagenet-results-2019.png

Risultati di varie configurazioni di TF-Replicator per il ImageNet attività su diverse configurazioni hardware.

DeepMind

Deve leggere

‘IA è molto, molto stupido”, dice Google AI leader (CNET)Come ottenere tutti Google Assistente nuove voci di adesso (CNET)Unificata di Google IA divisione di un chiaro segnale di AI del futuro (TechRepublic)Top 5: le Cose da sapere riguardo AI (TechRepublic)

Gli autori descrivono i risultati di vari test di benchmark. In caso di ResNet-50 ImageNet compito”, siamo in grado di corrispondere pubblicati il 75,3%-1 di precisione in meno di 30 minuti di allenamento,” scrivono, aggiungendo che “questi risultati sono stati ottenuti utilizzando lo standard TF-Replicatore di attuazione, senza alcuna ottimizzazione di sistemi specifici per ImageNet classificazione”.

Su un GAN attività, la produzione di immagini, “sfruttiamo TF-replica treno molto più grandi lotti che possono stare su una singola GPU, e questo porta a considerevoli aumenti di campione di qualità.”

Nell’ambito del rafforzamento dell’apprendimento, si sono formati una simulazione di “agente” di articolazioni mobili per navigare nelle varie operazioni. “Un singolo TPUv2 dispositivo (8 core su 4 chip) fornisce prestazioni competitive rispetto a 8 NVLink collegato Tesla V100 Gpu,” scrivono.

Ci sono alcune interessanti implicazioni per la futura progettazione di reti neurali da questo tipo di calcolo distribuito. Per esempio, nel caso di rinforzo di apprendimento, piuttosto che la costruzione di livello superiore rappresentazioni del robot giunti e la loro “velocità” scrivono, “la scalabilità del TF-Replicator ci permette di risolvere rapidamente questi compiti puramente da pixel osservazioni”.

“Un enorme scalabilità,” scrivono gli autori, con centinaia di migliaia di strati in una rete neurale, sarà sempre più importante nell’apprendimento profondo. TF-Replicatore di Google è la risposta alla domanda di come i ricercatori possono più di sviluppare rapidamente e scorrere le grandi reti, a partire dal loro banco di lavoro portatile, e la diffusione di sistemi distribuiti, con il minimo sforzo.

Precedente e relativa copertura:

Che cosa è l’IA? Tutto quello che devi sapere

Un esecutivo a guida di intelligenza artificiale, machine learning e generale AI alle reti neurali.

Cos’è il deep learning? Tutto quello che devi sapere

Il lowdown su deep learning: da come si relaziona con il più ampio campo di machine learning a come iniziare con esso.

Che cosa è macchina di apprendimento? Tutto quello che devi sapere

Questa guida spiega in cosa consiste la macchina di apprendimento, di come esso è legato all’intelligenza artificiale, come funziona e perché è importante.

Che cos’è il cloud computing? Tutto quello che devi sapere su

Un’introduzione al cloud computing destra, dalle nozioni di base fino a IaaS e PaaS, ibrido, public e private cloud.

Storie correlate:

Google AI naviga in “gamescape” per conquistare la teoria dei giochi
Questo è ciò che l’IA sembra (come disegnato dall’IA)
Google DeepMind team leader 3D game dev piattaforma
DeepMind AI punti i primi segni della malattia dell’occhio

Argomenti Correlati:

Big Data Analytics

La Trasformazione Digitale

CXO

Internet delle Cose

L’innovazione

Enterprise Software