La tecnologia Edge AI (Edge Artificial Intelligence) promette di ovviare alle numerose criticità che ora ha intelligenza artificiale nei nostri smartphone o in nuovi dispositivi internet delle cose, nelle case o automobili.
Permetterà di avere chip di silicio in grado di eseguire algoritmi nel dispositivo stesso, senza che i contenuti debbano lasciarlo[1]e senza quindi uso del cloud. Più efficienza, più privacy.
È una strada percorsa per esempio da Apple, che con l’introduzione del Neural Engine nel suo microprocessore A11 Bionic ha potuto rendere veloce, affidabile e, soprattutto, locale, l’utilizzo di algoritmi neurali necessari per la realizzazione del FaceID, lo sblocco del telefono effettuato con il riconoscimento del volto.
In corsa, ovviamente, non c’è solo Apple, ma tutti i principali produttori di dispositivi mobili. Ma vediamo quali sono i problemi che li hanno spinti in questa direzione e quali sono vantaggi e rischi dell’inserimento nel telefono di componenti in gradi di gestire le funzionalità di Intelligenza Artificiale – che vanno generalmente sotto il nome di NPU, Neural Processing Unit.
L’intelligenza artificiale nei nostri smartphone: come funziona ora
Val la pena ricordare che un numero sempre maggiore di oggetti di uso quotidiano dispone di funzioni abilitate dall’intelligenza artificiale, seppur in maniera non troppo appariscente.
I telefoni che si sbloccano col riconoscimento del volto, assistenti che rispondono a comandi vocali, le varie app che modificano o aggiungono con poco sforzo effetti mirabolanti alle nostre foto sono tutti esempi di applicazione di algoritmi di IA.
La loro crescente diffusione genera una spinta a rendere i sistemi con l’IA a bordo più efficienti e più veloci, aumentandone la velocità delle risposte e rendendone l’utilizzo ubiquo e non legato alla presenza di una connessione attiva verso Internet.
Con poche eccezioni, la maggior parte dei sistemi citati utilizza il terminale (il telefono, l’altoparlante con riconoscimento vocale ecc.) come sistema di ingresso che riceve la richiesta dell’utente, ad esempio sotto forma di frase pronunciata, di un volto o di un’immagine, la elabora quel tanto che basta per inviarla verso un server remoto dove avviene la vera elaborazione: ad esempio la sequenza riconoscimento del parlato, traduzione da linguaggio naturale ad un comando che un elaboratore sia in grado di comprendere ed eseguire. Il risultato di questa elaborazione viene inviato nuovamente al terminale di partenza sotto forma di contenuto elaborato o di azione. In questo scenario, dunque, il dispositivo dell’utente sta semplicemente trasmettendo dati – un’immagine, un testo, un video – sulla rete, e dalla rete riceve il contenuto elaborato.
Questo approccio permette di dotare anche dispositivi relativamente poco costosi di capacità impensabili sino a qualche anno fa, capacità per giunta migliorabili senza necessità di modificare il dispositivo stesso ma semplicemente implementando modifiche a livello centrale.
Purtroppo, accanto a questi vantaggi sono anche evidenti dei limiti ben netti. Il più ovvio è la necessità che il dispositivo sia collegato ad Internet: senza collegamento spariscono anche le funzionalità legate all’intelligenza artificiale, come ben sa che ha provato ad usare “Ok Google” o “Siri” senza copertura dati: un gentile messaggio ci informa che il servizio non è disponibile e di riprovare più tardi. Un secondo problema è che questo approccio aggiunge dei tempi di ritardo all’interazione con l’utente, ritardo che notiamo con crescente fastidio al crescere del nostro uso quotidiano del servizio stesso. Infine, un terzo problema è quello della privacy: che fine fanno i miei comandi vocali, le cose che detto, le foto che scatto, se l’elaborazione è altrove? Nel 2019, ad esempio, generò non poche perplessità il fatto che le fotografie modificate con la popolare applicazione FaceApp venissero elaborate – e conservate – su server russi[2].
Edge AI, tutti i vantaggi dell’AI negli smartphone e IoT
La spinta di mercato che avvicina le capacità elaborative tipiche dell’IA agli utenti è in pieno sviluppo. Non solo Apple, ma anche Samsung e Huawei hanno introdotto potenti chip IA nei propri smartphone, in grado di eseguire fino a 5 mila miliardi di operazioni al secondo, con un consumo di energia ridotto, per eseguire algoritmi IA. Con queste capacità elaborative i telefoni possono offrire non solo l’identificazione del volto, ma anche applicazioni di realtà virtuale e potenti filtri per migliorare la qualità delle foto.
Dal punto di vista del mercato, le promesse sono veramente allettanti: con il crescente numero di sensori disponibili nel telefono e nel suo ecosistema (smartwatch, smart rings, dispositivi medici Bluetooth etc.) si apre la possibilità di acquisire una conoscenza sempre più approfondita degli utenti e di poterne creare un “profilo” sempre più preciso. Se questa profilazione potesse avvenire direttamente nel dispositivo, senza che i dati siano inviati a sistemi elaborativi dislocati “altrove”, sarebbe fortemente attenuato il timore per la privacy. Senza contare che dispositivi in grado di effettuare elaborazioni neurali localmente e rapidamente aprono alla possibilità di arricchire ulteriormente le funzionalità offerte dai dispositivi stessi.
Una rassegna sistematica dei benefici dell’Edge AI include una molteplicità di elementi[3].
Sicurezza e privacy dei dati
La raccolta, l’archiviazione e lo spostamento dei dati nel cloud espongono inevitabilmente un utente o un’organizzazione a minacce alla sicurezza informatica e alla privacy. Questo rischio assume un’importanza crescente con il passare del tempo. Le normative sulla privacy sono sempre più diffuse e i consumatori stanno diventando sempre più consapevoli dei loro diritti in merito alla protezione dei dati personali, con l’80% di loro che dichiarava, già nel 2014[4], di avere dei dubbi circa la privacy di alcuni dispositivi. Il passaggio di alcuni dispositivi, ad esempio i sistemi di riconoscimento vocale, in ambienti ancor più regolati, è ad esempio frenata proprio da considerazioni sulla protezione dei dati sensibili[5]. Abilitando l’elaborazione locale di grandi quantità di dati, i chip Edge AI possono ridurre il rischio che i dati personali o aziendali vengano intercettati durante la trasmissione o usati impropriamente dai sistemi cloud che li accolgono. Non solo, grazie a questi sistemi è possibile ridurre il volume di informazioni private trasmesse “altrove”. Ad esempio, i chip neurali possono permettere un riconoscimento vocale più accurato, aiutando in questo modo gli altoparlanti intelligenti a rilevare la “parola chiave” di attivazione con maggiore precisione, limitando così il rischio che vengano ascoltate conversazioni non previste.
Bassa velocità di connessione
Come già detto, un dispositivo deve essere connesso per abilitare l’elaborazione dei dati nel cloud. In alcuni casi, tuttavia, mantenere tale connessione non è pratico. Ad esempio, nel caso dei droni, mantenere la connettività può essere difficile a seconda di dove operano, e sia la connessione stessa che il caricamento dei dati nel cloud influiscono sulla durata della batteria.
Eccesso di dati
I dispositivi IoT possono generare enormi quantità di dati. Ad esempio, un Airbus A-350 ha oltre 6.000 sensori e genera 2,5 terabyte di dati per giorno di volo[6]. A livello globale, le telecamere di sicurezza creano circa 2.500 petabyte di dati al giorno[7]. L’invio di tutti questi dati al cloud per l’archiviazione e l’analisi è costoso e complesso. L’inserimento di processori con capacità di intelligenza artificiale nei dispositivi stessi può alleviare questo problema.
Le telecamere, ad esempio, potrebbero essere dotate di unità di elaborazione della visione (VLU), processori SoC (System on a Chip) a bassa potenza specializzati per l’analisi o la preelaborazione di immagini digitali. Con queste capacità i sensori potrebbero effettuare una prima discriminazione fra dato/immagine interessante, meritevole di ulteriore elaborazione nel cloud, ed un dato che invece può essere “dimenticato”. In questo modo si si ridurrebbe la quantità di dati trasmessi.
Consumo energetico
I chip di apprendimento automatico a bassa potenza possono consentire ai dispositivi di eseguire calcoli di IA limitando il consumo di energia. Al ridursi del consumo di energia, questi sistemi di elaborazione potranno farsi strada in dispositivi sempre più piccoli, aumentando quindi il campo di applicabilità, che non sarà più limitato a smartphone e sistemi di dimensioni ancora maggiori.
Velocità di risposta
Sia che si tratti di una rete cablata o wireless, l’esecuzione di calcoli IA in un data center remoto comporta una latenza di andata e ritorno di almeno 1-2 millisecondi nel migliore dei casi e decine o addirittura centinaia di millisecondi nel peggiore[8]. Cosa ancora più grave, l’entità di questo ritardo non è uniforme in tutte le condizioni di utilizzo. L’esecuzione di algoritmi di intelligenza artificiale sul dispositivo grazie ad una NPU dedicata ridurrebbe il ritardo ai nanosecondi e lo renderebbe più predicibile. Questo è requisito fondamentale per quegli usi in cui il dispositivo deve raccogliere, elaborare e reagire in base ai dati in tempo reale.
Si pensi ad esempio alle automobili a guida autonoma, che devono raccogliere ed elaborare enormi quantità di dati dai sistemi di visione artificiale per identificare gli oggetti, nonché dai sensori che controllano le funzioni del veicolo. questi dati devono essere prontamente convertiti in decisioni: quando girare, frenare o accelerare, per garantire la sicurezza dei passeggeri e di ogni altro utente della strada. In questo scenario l’elaborazione locale è un elemento chiave.
Inferenza e apprendimento sul dispositivo, due fasi dell’AI
Per comprendere gli scenari di sviluppo dell’Edge AI, bisogna conoscere le due fasi, ben distinte, che definiscono i sistemi di intelligenza artificiale: l’addestramento (learning) e l’inferenza.
L’addestramento è una fase ad elevata complessità computazionale e di durate anche molto lunghe (minuti, ore o giorni) che, sulla base di un insieme molto vasto di informazioni preesistenti (immagini, volti, esempi di voci, esempi di testi ecc.) permette di determinare i parametri interni del sistema di Intelligenza Artificiale che rendono il sistema di IA in grado di “generalizzare” quanto appreso se gli viene mostrato un nuovo “caso” analogo a quelli appresi. Questo secondo momento è l’inferenza, ed è computazionalmente assai più leggero.
È da notare che la tecnologia attuale di apprendimento, che fa uso di algoritmi di backpropagation, ha un importante limite per quanto riguarda l’estensione di quanto appreso: l’inserimento di una sola nuova categoria fra quelle già apprese, richiede un nuovo apprendimento completo, che include non solo campioni rappresentativi della nuova categoria, ma anche tutti i campioni che erano già stati usati nell’apprendimento. Per fare un esempio, se si vuole aggiungere una nuova categoria ad una rete neurale addestrata a riconoscere alcune piante a partire da una foto del fiore, è necessario ripetere l’apprendimento da capo, utilizzando l’insieme originario di fiori a cui va aggiunto il nuovo fiore. Se si tentasse, partendo dalla rete già definita, di ripetere l’apprendimento sulla sola nuova categoria, quello che otterremmo sarebbe una rete in grado di riconosce solo quest’ultima, perché avrebbe dimenticato tutte le altre. In pratica è come se un esperto di letteratura, per formarsi su un nuovo autore, dovesse ricominciare da capo il suo corso di studi, studiando non solo il nuovo autore ma anche tutti quelli già a lui noti.
Negli ultimi anni, l’aumento della richiesta di funzionalità tipiche dell’IA da eseguire in tempo reale, è stata soddisfatta spostando sul dispositivo periferico l’esecuzione dell’inferenza, consentendo di un utilizzo locale dei dati provenienti dal dispositivo stesso. Perché questa inferenza sia possibile, è quindi necessario che il dispositivo abbia ricevuto la configurazione del sistema di IA, ad esempio i pesi dei collegamenti fra neuroni di una rete neurale, prodotti da un processo di apprendimento avvenuto altrove, che ha potuto sfruttare capacità computazionali e basi di dati ben maggiori di quanto potrebbe gestire in proprio il terminale locale.
Per quanto avanzato sia questo sistema, esso può dedurre solo in base ai dati che riconosce e non può migliorare senza la disponibilità di aggiornamenti: l’aggiornamento delle sue funzionalità/capacità è quindi legato ad una cadenza definita dall’esterno (il produttore del dispositivo) e non necessariamente alle reali esigenze dell’utente.
Possibilità più vaste ed interessanti si offrirebbero qualora fosse possibile spostare sul dispositivo anche qualche forma di apprendimento, anche se limitata. Tale tecnologia viene al momento esplorata solo da un gruppo limitato di aziende, anche a causa delle forti limitazioni imposte dai dispositivi periferici per quanto riguarda l’implementazione del deep Learning.
Qualche esempio inizia comunque ad apparire, ad esempio l’azienda Neurala ha proposto una soluzione, battezzata Lifelong-DNN (Deep Neural Network) che sembra aver centrato la promessa di un sistema che può apprendere in tempo reale nuovi esempi che le vengono mostrati[9].
I rischi dell’Edge AI
La crescente diffusione di queste tecnologie sta già offrendo ad un pubblico sempre più vasto le funzionalità ed i benefici dell’intelligenza artificiale. È opportuno però riflettere anche sui potenziali rischi che l’edge AI porta con sé. Molti rischi legati all’utilizzo in generale di algoritmi di IA sono stati discussi in altri articoli[10]: ad esempio l’esistenza di un bias nelle risposte o la presenza di vulnerabilità specifiche di questi algoritmi, che possono venire ingannati da particolari elementi in input.
Tali rischi, inerenti alla tecnologia, possono venire amplificati dall’Edge AI per almeno due motivi: da una parte questi sistemi saranno ancora a lungo meno potenti degli analoghi sistemi centralizzati, e questo potrà amplificare la loro vulnerabilità ad attacchi di questo tipo a causa proprio della ridotta capacità elaborativa, dall’altra la loro maggiore autonomia significa anche che il relativo controllo delle performance sarà più lasco, magari demandato al singolo utente, che potrebbe non avere la capacità o l’interesse di riconoscere la presenza di polarizzazione nei risultati prodotti dal sistema.
Un discorso analogo può essere fatto per i sistemi, per ora solo in fase di prototipo, in grado di apprendere localmente. È immediatamente evidente, infatti, la necessità di una valutazione del rischio di apprendimento, basata sulle funzionalità offerte dal sistema. Che ruolo svolge il sistema? Chi può “insegnare” nuove categorie o comportamenti? Anche in questo caso la decentralizzazione del processo può comportare, se non opportunamente controllata, una riduzione del controllo e quindi un maggiore spazio per l’inserimento di tipi di “risposte” non accettabili.
Un esempio che immediatamente balza alla mente è il caso del chatbot Tay di Microsoft, che su Twitter apprendeva a variare le proprie risposte sulla base dell’interazione con gli utenti[11]. Il risultato fu che dopo meno di 24 ore il bot dovette essere ritirato perché aveva appreso – e ripeteva – i peggiori insulti razzisti. Tale sistema era sotto gli occhi di molti, e quindi la reazione ha potuto essere rapida. Ma cosa potrebbe succedere se sistemi di questo tipo fossero diffusi e il loro apprendimento fosse lasciato alla sensibilità e all’arbitrio di chiunque? Immaginate un sistema antitaccheggio basato anche sul riconoscimento dei volti, il cui addestramento “locale” fosse lasciato a qualcuno con tendenze razziste, o un sistema vocale di uso pubblico che venisse addestrato per riconoscere primariamente voci di un determinato sesso, o di una fascia d’età ben precisa ecc.
Conclusioni
Edge AI dunque porta con sé la promessa di “liberare” le funzionalità dell’AI portandole più vicine alle persone comuni, e di permettere alle aziende di aumentare la propria efficienza grazie alle nuove applicazioni che questa tecnologia dischiude. Come sempre quando si tratta di Intelligenza Artificiale, che in larga parte realizza una funzione di tipo “black box” tra i suoi ingressi e le sue uscite, è opportuno applicare un po’ di cautela in fase di disegno delle soluzioni applicative, per evitare che i problemi possano poi presentarsi quando la tecnologia è già in uso.
- Il Termine Edge AI indica sia la capacità dei singoli terminali di eseguire autonomamente funzionalità di intelligenza artificiale, sia la possibilità di albergare queste funzionalità in sistemi, ad esempio server o appliance, collocate vicino ai sensori e attuatori che richiedono l’utilizzo di funzioni IA: si pensi ad un server collocato in un ufficio o in un supermercato. Queste funzionalità possono anche essere fornite da sistemi collocati nei locali periferici degli operatori di telecomunicazioni. In questo articolo però indicheremo con Edge AI solo i dispositivi dotati di NPU per eseguire, sul dispositivo stesso, questo tipo di elaborazione. ↑
- Benedetti, D.: “Riconoscimento facciale, ecco i database che fanno tremare la nostra privacy”, Agenda Digitale, Agosto 2019, ↑
- Stewart, D., Loucks, J., “What’s driving AI to the edge”, Embedded, Febbraio 2020https://www.embedded.com/whats-driving-ai-to-the-edge/ ↑
- “80 percent of consumers fear privacy invasion in the internet of things revolution”, Tech2, August 2014.https://www.firstpost.com/tech/news-analysis/80-percent-consumers-fear-privacy-invasion-internet-things-revolution-3655825.html ↑
- Miller, J. A., “Pros and Cons of Smart Speakers in Hospital Rooms”, HealthTech, May 2020 ↑
- “Data Revolution in aviation”, published by Airbus.https://www.airbus.com/public-affairs/brussels/our-topics/innovation/data-revolution-in-aviation.html ↑
- “Data generated by new surveillance cameras to increase exponentially in the coming years”, Security infowatch.com, Gennaio 2016 ↑
- Si consideri che ogni 100 Km di distanza aggiungono almeno 0,5ms di latenza. ↑
- Per chi è interessato, su TouTube c’è una dimostrazione della tecnologia in azione: https://www.youtube.com/watch?v=tEdXU-GgHwU ↑
- Benedetti, D., “Sicurezza dell’intelligenza artificiale, tra vulnerabilità e “fattore umano”: tutti i rischi”, Agenda Digitale, Aprile 2019 ↑
- Bennato, D., “Intelligenze artificiali razziste e psicopatiche, studiarle per non esserne vittima”, Agenda Digitale, settembre 2018. ↑