I ricercatori di Apple svelano DeepPCR un nuovo algoritmo di apprendimento automatico che parallelizza operazioni tipicamente sequenziali al fine di accelerare l’inferenza e l’addestramento delle reti neurali

Gli studiosi di Apple svelano DeepPCR un nuovo algoritmo di apprendimento automatico che velocizza l'inferenza e l'addestramento delle reti neurali parallelizzando operazioni solitamente sequenziali

Sono stati resi possibili diversi nuovi progressi grazie agli sviluppi nel campo dell’intelligenza artificiale e dell’apprendimento approfondito. Compiti complessi come la sintesi di testi o immagini e la classificazione vengono gestiti con successo grazie alle reti neurali. Tuttavia, la formazione di una rete neurale può richiedere giorni o settimane a causa delle sue elevate esigenze computazionali. L’inferenza nei modelli pre-addestrati può essere anche lenta, specialmente per progetti complessi.

Le tecniche di parallelizzazione accelerano l’addestramento e l’inferenza delle reti neurali profonde. Nonostante questi metodi siano ampiamente utilizzati, alcune operazioni all’interno delle reti neurali vengono ancora eseguite in modo sequenziale. I modelli di diffusione generano output attraverso una serie di fasi di eliminazione del rumore e i passaggi in avanti e all’indietro avvengono strato per strato. All’aumentare del numero di passaggi, l’esecuzione sequenziale di questi processi diventa computazionalmente onerosa, creando un collo di bottiglia computazionale.

Per affrontare questo problema, un team di ricercatori di Apple ha introdotto DeepPCR, un algoritmo unico che mira ad accelerare l’addestramento e l’inferenza delle reti neurali. DeepPCR funziona percependo una serie di L passaggi come la soluzione a un determinato insieme di equazioni. Il team ha utilizzato l’algoritmo di riduzione ciclica parallela (PCR) per ottenere questa soluzione. Il vantaggio principale di DeepPCR è la riduzione del costo computazionale dei processi sequenziali da O(L) a O(log2 L). La velocità aumenta grazie a questa riduzione della complessità, soprattutto per valori elevati di L.

Il team ha condotto esperimenti per verificare le affermazioni teoriche sulla riduzione della complessità di DeepPCR e per determinare le condizioni di accelerazione. Applicando DeepPCR per parallelizzare i passaggi in avanti e all’indietro nelle perceptron a più strati, hanno ottenuto velocizzazioni fino a 30 volte per il passaggio in avanti e 200 volte per il passaggio all’indietro.

Il team ha dimostrato anche l’adattabilità di DeepPCR utilizzandolo per addestrare le Reti di ResNet, che contano 1024 strati. Grazie a DeepPCR, l’addestramento può essere completato fino a 7 volte più velocemente. La tecnica viene utilizzata anche nella fase di generazione dei modelli di diffusione, ottenendo una generazione 11 volte più rapida rispetto all’approccio sequenziale.

Il team ha così sintetizzato le loro principali contribuzioni:

  1. È stato introdotto DeepPCR, un innovativo approccio per parallelizzare i processi sequenziali nell’addestramento e nell’inferenza delle reti neurali. La sua caratteristica principale è la capacità di ridurre la complessità computazionale da O(L) a O(log2 L), dove L è la lunghezza della sequenza.
  1. DeepPCR è stato utilizzato per parallelizzare i passaggi in avanti e all’indietro nelle perceptron a più strati (MLPs). È stata condotta un’ampia analisi delle prestazioni della tecnologia per individuare i regimi ad alte prestazioni del metodo, tenendo conto dei parametri di progetto base. Lo studio esamina anche i compromessi tra velocità, correttezza della soluzione e utilizzo della memoria.
  1. DeepPCR è stato utilizzato per accelerare l’addestramento delle profonde Reti di ResNet su MNIST e la generazione nei Modelli di Diffusione addestrati sui dataset MNIST, CIFAR-10 e CelebA. I risultati hanno mostrato che, sebbene DeepPCR offra una significativa velocizzazione, la resa dei dati risulta ancora paragonabile alle tecniche sequenziali.