Ricercatori del MIT hanno sviluppato una tecnica di apprendimento automatico che consente ai modelli di deep learning di adattarsi efficientemente ai nuovi dati dei sensori direttamente su un dispositivo edge.

I ricercatori del MIT hanno creato una tecnica di machine learning che permette ai modelli di deep learning di adattarsi in modo efficiente ai nuovi dati dei sensori direttamente su dispositivi edge.

Con l’avanzamento rapido della tecnologia, i dispositivi Edge sono una parte essenziale della nostra esistenza quotidiana, integrandosi perfettamente nella nostra società interconnessa. Questi dispositivi Edge ampiamente utilizzati producono una quantità senza eguali di dati ai margini delle nostre reti.

La domanda di IA intelligente, personalizzata e confidenziale sta aumentando perché un singolo modello non può soddisfare le diverse esigenze dei vari utenti. Anche se i dispositivi Edge spesso gestiscono compiti di deep learning, la formazione delle reti neurali profonde avviene solitamente su potenti server cloud GPU.

Tuttavia, i framework di formazione esistenti sono specificamente per i potenti server cloud con acceleratori, che devono essere ottimizzati per consentire un apprendimento efficace sui dispositivi Edge.

I modelli di deep learning personalizzati potrebbero consentire agli AI chatbot di adattarsi all’accento dell’utente o alle tastiere intelligenti che migliorano continuamente le previsioni delle parole basate sull’attività di digitazione precedente.

I dati degli utenti vengono generalmente inviati a server cloud perché gli smartphone e altri dispositivi Edge spesso mancano della memoria e della potenza di elaborazione richiesta per questo processo di messa a punto fine. Questi server sono dove il modello viene aggiornato perché hanno le risorse per completare il difficile compito di messa a punto fine del modello di intelligenza artificiale.

Di conseguenza, i ricercatori del MIT e di altri luoghi hanno sviluppato PockEngine: una tecnica che consente ai modelli di deep learning di adattarsi efficacemente ai nuovi dati dei sensori direttamente su un dispositivo Edge. PockEngine memorizza e calcola solo le porzioni precise di un modello di machine learning grande che richiedono un aggiornamento per aumentare l’accuratezza.

La maggior parte di questi calcoli viene effettuata durante la preparazione del modello, prima dell’esecuzione, il che riduce l’onere computazionale e accelera la procedura di messa a punto fine. PockEngine ha accelerato in modo significativo la formazione sul dispositivo; ha funzionato fino a 15 volte più veloce su determinate piattaforme hardware. PockEngine ha impedito ai modelli di perdere accuratezza. La loro tecnica di messa a punto fine ha consentito a un noto AI chatbot di rispondere alle domande difficili in modo più accurato.

PockEngine velocizza fino a 15 volte più veloce su alcune piattaforme hardware. Il processo di formazione è ulteriormente accelerato dall’integrazione di PockEngine di un ampio set di ottimizzazioni del grafico di formazione.

I vantaggi della messa a punto fine sul dispositivo includono una maggiore privacy, costi più bassi, opzioni di personalizzazione e apprendimento continuo. Tuttavia, sono necessarie più risorse per rendere questo processo più semplice.

Hanno detto che PockEngine genera un grafico di retropropagazione mentre il modello viene compilato e preparato per la distribuzione. Per fare ciò, rimuove sezioni ridondanti di layer, ottenendo un diagramma semplificato che può essere utilizzato durante l’esecuzione. Successivamente, vengono apportate ulteriori ottimizzazioni per migliorare l’efficienza.

Questo metodo è particolarmente utile per i modelli che hanno bisogno di molti esempi per essere messi a punto, poiché i ricercatori lo hanno applicato al grande modello di lingua Llama-V2. PockEngine regola ogni layer separatamente per un compito specifico, tenendo traccia del miglioramento dell’accuratezza con ogni layer. Bilanciando i compromessi tra accuratezza e costo, PockEngine può determinare le relative contribuzioni di ogni layer e la percentuale di messa a punto fine richiesta.

Il sistema regola prima ogni layer su un certo compito, uno alla volta, e misura il miglioramento dell’accuratezza dopo ogni layer. I ricercatori hanno sottolineato che PockEngine identifica il contributo di ciascun layer, oltre ai compromessi tra accuratezza e costo di messa a punto fine, determinando automaticamente la percentuale di ciascun layer che deve essere messa a punto fine.

Con un aumento di velocità fino a 15 volte rispetto a TensorFlow predefinito per Raspberry Pi, PockEngine ha dimostrato di avere impressionanti miglioramenti della velocità. Inoltre, raggiunge risparmi di memoria significativi pari a 5,6 volte durante la retropropagazione su Jetson AGX Orin; PockEngine ha mostrato aumenti di velocità notevoli. In particolare, PockEngine consente di ottimizzare efficacemente LLaMav2-7B su NVIDIA.