Jun 13, 2024
Ora possiamo addestrare grandi reti neurali su piccoli dispositivi
I gadget che ci circondano imparano costantemente a conoscere le nostre vite. Gli smartwatch rilevano i nostri segni vitali per monitorare la nostra salute. Gli oratori domestici ascoltano le nostre conversazioni per riconoscere le nostre voci.
I gadget che ci circondano imparano costantemente a conoscere le nostre vite. Gli smartwatch rilevano i nostri segni vitali per monitorare la nostra salute. Gli oratori domestici ascoltano le nostre conversazioni per riconoscere le nostre voci. Gli smartphone giocano a fare i grammatici, osservando ciò che scriviamo per correggere i nostri errori di battitura peculiari. Apprezziamo queste comodità, ma le informazioni che condividiamo con i nostri gadget non sono sempre mantenute tra noi e i nostri dispositivi elettronici. L’apprendimento automatico può richiedere hardware pesante, quindi i dispositivi “edge” come i telefoni spesso inviano dati grezzi ai server centrali, che poi restituiscono algoritmi addestrati. Alcune persone vorrebbero che la formazione avvenisse a livello locale. Un nuovo metodo di formazione basato sull’intelligenza artificiale espande le capacità di formazione dei dispositivi più piccoli, contribuendo potenzialmente a preservare la privacy.
I sistemi di apprendimento automatico più potenti utilizzano reti neurali, funzioni complesse piene di parametri sintonizzabili. Durante l'addestramento, una rete riceve un input (come un insieme di pixel), genera un output (come l'etichetta "gatto"), confronta il suo output con la risposta corretta e regola i suoi parametri per fare meglio la volta successiva. Per sapere come regolare ciascuna di queste manopole interne, la rete deve ricordare l’effetto di ciascuna di esse, ma regolarmente se ne contano milioni o addirittura miliardi. Ciò richiede molta memoria. L'addestramento di una rete neurale può richiedere centinaia di volte la memoria richiesta quando se ne utilizza semplicemente una (chiamata anche "inferenza"). In quest'ultimo caso, la memoria può dimenticare ciò che ha fatto ciascuno strato della rete non appena passa l'informazione allo strato successivo.
Per ridurre la memoria richiesta durante la fase di addestramento, i ricercatori hanno utilizzato alcuni trucchi. In uno, chiamato paging o offload, la macchina sposta quelle attivazioni dalla memoria a breve termine a un tipo di memoria più lenta ma più abbondante come flash o una scheda SD, quindi le riporta indietro quando necessario. In un altro, chiamato rimaterializzazione, la macchina cancella le attivazioni, per poi ricalcolarle successivamente. In precedenza, i sistemi di riduzione della memoria utilizzavano uno di questi due trucchi o, afferma Shishir Patil, scienziato informatico dell’Università della California, Berkeley, e autore principale dell’articolo che descrive l’innovazione, venivano combinati utilizzando “euristica” che è “ non ottimale”, spesso richiedendo molta energia. L'innovazione riportata da Patil e dai suoi collaboratori formalizza il binomio impaginazione e rimaterializzazione.
"Prendere queste due tecniche, combinarle bene in questo problema di ottimizzazione e poi risolverlo: è davvero bello", afferma Jiasi Chen, uno scienziato informatico dell'Università della California, Riverside, che lavora sull'edge computing ma non è stato coinvolto nel progetto. lavoro.
A luglio, Patil ha presentato il suo sistema, chiamato POET (Private Optimal Energy Training), alla Conferenza internazionale sull'apprendimento automatico, a Baltimora. Per prima cosa fornisce a POET i dettagli tecnici di un dispositivo e le informazioni sull'architettura di una rete neurale che vuole addestrare. Specifica un budget di memoria e un budget di tempo. Gli chiede quindi di creare un processo di formazione che riduca al minimo il consumo di energia. Il processo potrebbe decidere di paginare alcune attivazioni che sarebbe inefficiente da ricalcolare ma rimaterializzarne altre che sono semplici da ripetere ma richiedono molta memoria da archiviare.
Una delle chiavi della svolta è stata definire il problema come un puzzle di programmazione lineare intera mista (MILP), un insieme di vincoli e relazioni tra variabili. Per ogni dispositivo e architettura di rete, POET inserisce le sue variabili nel programma MILP realizzato a mano da Patil, quindi trova la soluzione ottimale. "Una delle sfide principali è proprio quella di formulare il problema in modo gradevole in modo da poterlo inserire in un risolutore", afferma Chen. "Quindi, catturi tutte le dinamiche realistiche del sistema, come energia, latenza e memoria."
Il team ha testato POET su quattro diversi processori, la cui RAM variava da 32 KB a 8 GB. Su ciascuno, i ricercatori hanno addestrato tre diverse architetture di rete neurale: due tipi popolari nel riconoscimento delle immagini (VGG16 e ResNet-18), più una popolare rete di elaborazione del linguaggio (BERT). In molti test, il sistema è riuscito a ridurre l'utilizzo della memoria di circa l'80%, senza un notevole aumento del consumo energetico. Metodi comparabili non potrebbero fare entrambe le cose allo stesso tempo. Secondo Patil, lo studio ha dimostrato che ora BERT può essere addestrato sui dispositivi più piccoli, cosa che prima era impossibile.