Approfondimenti Come rendere "tascabile" il machine learning
Marina Londei
2' 54''
14/08/2023

Gli algoritmi di machine learning richiedono sempre più potere computazionale per essere eseguiti. In che modo si possono rendere "tascabili", a portata degli smartphone?

Come rendere  "tascabile" il machine learning

Si può creare un'intelligenza artificiale portatile? Naturalmente sì, anzi: sono ormai molti anni che la portiamo con noi in tasca grazie agli smartphone. I dispositivi mobili sono l'esempio più chiaro di come i processori siano stati ottimizzati per supportare operazioni di IA, e in particolare di machine learning.

Come spiega Christoph Wagner, CEO di Scanbot SDK, tutto è cominciato quando Apple, Google e Samsung hanno cercato di massimizzare le performance delle fotocamere degli smartphone concentrandosi sul software e non sull'hardware.

Queste compagnie hanno sviluppato modelli di machine learning in grado di migliorare le foto subito dopo averle scattate, cercando di eguagliare il livello di qualità delle macchine fotografiche professionali. Man mano che gli algoritmi miglioravano, si è reso necessario ottimizzare i chip per eseguire reti neurali complesse.

Pixabay
rete neurale

Il machine learning su smartphone oggi viene utilizzato non solo per migliorare le fotografie, ma anche per applicazioni di voice recognition, di traduzione real time e di realtà aumentata. 

Rendere il machine learning "tascabile"

Uno dei problemi di eseguire algoritmi di ML complessi sugli smartphone non è tanto la potenza computazionale, quando il consumo energetico. Le batterie moderne si scaricano in un giorno o meno a seconda dell'uso che facciamo; se a questo si aggiunge l'utilizzo di reti neurali, il dispositivo arriva a consumare troppa energia e rischia di surriscaldarsi.

Per rendere il machine learning "tascabile" si è dovuti quindi ricorrere ad alcune tecniche di ottimizzazione degli algoritmi, come il pruning o l'uso della Neural Architecture Search (NAS).

Nel caso del pruning, durante la fase di addestramento si azzerano gradualmente i pesi delle connessioni dei nodi considerate meno significative. Riducendo la dimensione della rete è possibile ottimizzare l'esecuzione senza rinunciare alla qualità del risultato. 

Pixabay
rete neurale

Il processo può essere ulteriormente ottimizzato usando la tecnica NAS in grado di testare l'efficienza di diversi design architetturali e scegliere quello che offre le performance migliori. Questa tecnica consente di ridurre il lavoro manuale necessario al design di una rete neurali, trovando il modello migliore per eseguire un determinato task. 

Personalizzare una rete neurale on-device

Dopo aver ottimizzato il modello è necessario compiere un passo ulteriore e personalizzare l'algoritmo sulla base del comportamento utente. Solitamente questa operazione richiede una comunicazione costante e massiccia coi server che, oltre a consumare i dati mobili, pone il rischio di perdite di informazioni.

Per ridurre la quantità di dati inviati al cloud ci si può affidare al transfer learning, un metodo di ML avanzato che si appoggia a un modello pre-addestrato e lo ricalibra per svolgere un'attività differente.

Il vantaggio è che, essendo il modello già addestrato su un grande volume di dati, non necessita di un input massivo per specializzarsi in una nuova attività, ma sfrutta le capacità già apprese; in questo modo il fine-tuning può avvenire direttamente sul dispositivo.

Pixabay
processore

Un altro approccio per ridurre il peso della comunicazione tra smartphone e server è usare la tecnica del federated learning: in questo caso diverse unità collaborano sugli stessi task elaborando ognuna una parte di informazione direttamente sul dispositivo, e inviando al server solo la sintesi dei risultati ottenuti.

La comunicazione col cloud è minima e i dati vengono mantenuti ed elaborati sullo smartphone, garantendo la privacy delle informazioni. 

Dopo l'entusiasmo iniziale nei confronti dei chatbot e dei grandi modelli linguistici, l'obiettivo delle organizzazioni sarà sviluppare modelli compatti, specializzati ed eseguibili anche su piccoli dispositivi, sfruttandone tutto il potenziale.

Potrebbe interessarti anche

Tecnologia

IA e data analytics guidano le strategie di Formula 1

L'intelligenza artificiale e la data analytics stanno assumendo un ruolo sempre più importante nella Formula 1 per garan...

Tecnologia

L'IA può velocizzare lo screening dei curriculum

L'intelligenza artificiale può automatizzare i task ripetitivi del processo di assunzione e velocizzare il lavoro delle...

Tecnologia

Come Airbnb sfrutta il machine learning per migliorare l'esperienza di viaggio

Airbnb sfrutta in maniera estensiva il machine learning per definire esperienze di viaggio personalizzate e garantire si...

Scenario

Ripensare task e competenze per sfruttare il valore dell'IA

L'introduzione dell'intelligenza artificiale nelle attività lavorativa quotidiane sta cambiando il mondo del lavoro, rid...