L’ING. LEONARDO CHIARIGLIONE E LE NUOVE FRONTIERE TECNOLOGICHE DELL’INTELLIGENZA ARTIFICIALE.
Si parla oramai da anni di intelligenza artificiale e oramai la troviamo integrata in varie applicazioni, nel nostro quotidiano.
Ma il futuro ci riserva ancora molti sviluppi su questo fronte. L’ingegner Leonardo Chiariglione, padre della compressione audio-video e dell’M-Peg, in particolare, ci racconta gli sviluppi del relativo standard dell’AI, all’interno della nuova associazione MPAI, da lui fondata.
ING. LEONARDO CHIARIGLIONE
Dopo una serie di alti e bassi durati una sessantina di anni, l’insieme delle tecnologie che vanno sotto il nome di Intelligenza Artificiale (IA) è entrato potentemente nelle realtà di progettazione, produzione e strategia di molte aziende. Anche se non sarebbe facile – e sarebbe forse un uso inefficace del tempo – argomentare contro coloro che affermano che l’IA non è né Artificiale né Intelligente, il termine è sufficientemente utile e indicativo da aver trovato ampio uso sia nel dire sia nel fare.
Per caratterizzare l’IA è utile compararla con la tecnologia che l’ha preceduta in molti campi e cioè la tecnologia del trattamento dei dati o Data Processing (DP). Di fronte a una sorgente di dati, un esperto riusciva a capire quali fossero le loro caratteristiche, ad esempio quali fossero i valori, o meglio le trasformazioni dei dati capaci di estrarre le grandezze più rappresentative. Esempio precipuo di DP è stato l’elaborazione numerica dei segnali o Digital Signal Processing (DSP) ben rappresentata da quei complessi di algoritmi sofisticati che vanno sotto il nome di standard per la compressione audio e video.
In tutti questi casi ci troviamo di fronte a meravigliosi esempi di come l’ingegnosità umana abbia saputo scavare per anni all’interno di enormi masse di dati e scoprire una per una le peculiarità dei segnali audio e video per poterne dare una rappresentazione più efficiente, e cioè una che richiedesse meno dati per rappresentare gli stessi, o quasi, dati.
L’IA si presenta come un’alternativa radicale a quanto hanno fatto finora i cultori del DP. Invece di impiegare l’uomo a scavare dentro i dati per trovarne nascoste relazioni, si addestrano macchine a farlo. In altre parole, invece di addestrare l’uomo a trovare le relazioni, si addestra l’uomo perché addestri la macchina a trovarle.
Le macchine destinate a questo scopo sono costituite da una rete di nodi variamente collegati. I nodi sono chiamati neuroni, attingendo all’ovvio parallelo del cervello, e la rete si chiama quindi rete neurale. Nella fase di addestramento, alla macchina vengono presentati molti, magari milioni, di esempi e, grazie a una logica interna, si possono correggere all’indietro i collegamenti in modo che la prossima volta – si spera – il risultato sia più “centrato”.
Intuitivamente si potrebbe dire che più è complesso l’universo dei dati che la macchina deve “apprendere” più la rete deve essere complessa. Questo non è necessariamente vero perché la macchina è stata appunto costruita per capire le relazioni interne ai dati e quello che a noi appare a prima vista complesso in realtà potrebbe avere una regola, o un insieme di regole, relativamente semplici che sottendono ai dati e che la macchina può “capire”.
In generale l’addestramento di una rete neurale può essere molto costoso. Il primo elemento di costo è dato dalla necessità di avere a disposizione grandi masse di dati da utilizzare per l’addestramento che può essere supervisionato (l’uomo dice alla macchina “com’è andata”) o non supervisionato (la macchina lo capisce da sé). Il secondo elemento di costo è la necessità di dover fare, alle volte, grosse quantità di calcoli per cambiare i pesi, cioè l’importanza dei collegamenti tra i neuroni, e questo va fatto milioni di volte. Il terzo elemento di costo è l’accesso a infrastrutture informatiche in cui condurre l’addestramento. Infine, nel caso si usi la rete neurale addestrata per offrire un servizio, il costo dell’accesso a importanti risorse di calcolo ogni volta che la macchina produce un’inferenza e cioè processa dati per fornire una risposta.
Il 19 luglio 2020 fu lanciata l’idea di costituire un’organizzazione non a scopo di lucro, avente la missione di sviluppare standard per la codifica dei dati usando prevalentemente tecniche di IA e 100 giorni dopo l’organizzazione fu costituita a Ginevra col nome di MPAI – Moving Picture, Audio and Data Coding by Artificial Intelligence.
A cosa dovrebbe servire un’organizzazione per standard di codifica dei dati con IA? La risposta è semplice e la si può formulare così: gli standard MPEG – basati sul DP – hanno enormemente accelerato l’evoluzione e la diffusione di prodotti, servizi e applicazioni audiovisivi. È quindi ragionevole aspettarsi che gli standard MPAI – basati sull’AI – accelereranno l’evoluzione e la diffusione dei prodotti, servizi e applicazioni nella data economy. Sì, perché anche l’audiovisivo, alla fin fine produce – e per MPEG sempre produsse – dati.
Uno dei primi obiettivi che MPAI si diede fu il puro e semplice abbassamento dei costi di sviluppo e di operatività delle applicazioni di IA.
Come può uno standard raggiungere questo obiettivo?
Partiamo un po’ da lontano e cioè dal cervello umano. Sappiamo bene che il cervello umano è costituito da neuroni connessi. I circa 100 miliardi di neuroni non sono però distribuiti in modo omogeneo perché il cervello è costituito da un gran numero di “aggregazioni” di neuroni di cui la ricerca del campo riesce poco per volta a comprendere la funzione. Quindi, più che neuroni che si collegano con parti del cervello, parliamo di neuroni che hanno un gran numero di interconnessioni con altri neuroni all’interno di un’aggregazione, mentre è l’aggregazione stessa che è connessa con altre, passando i risultati dell’elaborazione effettuata ad altre aggregazioni.
Qualunque sia stata la sua origine, uno dei primi standard approvati dall’Assemblea Generale dei soci MPAI è stato AI Framework (MPAI-AIF), uno standard che specifica l’architettura e le componenti costituenti di un ambiente in grado di eseguire implementazioni di sistemi di IA costituiti da Moduli IA (AI Module o AIM) organizzati in Flussi di Lavoro IA (AI Workflow o AIW), come rappresentato in Figura 1.
Figura 1 – Modello di riferimento di MPAI-AIF
I principali requisiti che hanno guidato lo sviluppo dello standard MPAI-AIF che specifica tale ambiente sono:
- Indipendenza dal sistema operativo.
- Architettura modulare basata su componenti.
- Componenti incapsulati da interfacce che li astraggono dall’ambiente di sviluppo implementati in modalità:
- Software, a partire da microcontrollori fino a sistemi di High Performance Computing.
- Hardware.
- Ibrido hardware-software.
- L’esecuzione di un AIW è fatta in ambienti Zero-Trust locali e distribuiti con la possibilità di interagire con altri AIF operanti in prossimità, come sciami di droni.
- Supporto diretto alle funzionalità di Machine Learning.
- L’interfaccia con MPAI Store per consentire l’accesso a componenti validati.
Vediamo ora le caratteristiche e gli scopi dei diversi componenti.
Un Controller svolge le seguenti funzioni:
- Offre funzionalità di base quali scheduling e comunicazione tra AIM e altri componenti AIF.
- Gestisce le risorse secondo le istruzioni impartite dall’utente.
- È collegato a tutti gli AIM/AIW in un determinato AIF.
- Attiva/sospende/riprende/disattiva gli AIW in base agli input (da un utente o altro).
- Espone tre API:
- AIM API per consentire agli AIM/AIW di comunicare con esso (registrarsi, comunicare e accedere al resto dell’ambiente AIF).
- User API per consentire all’utente, o ad altri controller, di eseguire attività di alto livello (ad esempio accendere/spegnere il controller o fornire input all’AIW tramite il controller).
- Controller-to-controller API per consentire a un controller di interagire con un altro controller.
- Accede alle API dell’MPAI Store consentendo la comunicazione tra l’AIF e lo Store.
- Può eseguire uno o più AIW localmente o su più piattaforme.
- Può comunicare con altri controller in esecuzione su agenti separati, richiedendo a uno o più controller in prossimità di aprire porte remote.
Comunicazione collega una porta di uscita di un AIM con una porta di ingresso di un altro AIM usando eventi o canali. Comunicazione ha le seguenti caratteristiche:
- È attivata insieme al controller.
- Non deve necessariamente essere persistente.
- I canali sono Unicast e possono essere fisici o logici.
- I messaggi possono essere a priorità alta o normale e comunicati tramite canali o eventi.
AI Module (AIM) riceve dati e li elabora eseguendo una funzione ben determinata producendo dati. Ha le seguenti caratteristiche:
- Comunica con altri componenti tramite porte o eventi.
- Può incorporare altri AIM al suo interno.
- Può registrarsi e disconnettersi dinamicamente.
- Può essere eseguito localmente o su diverse piattaforme, ad esempio nel cloud o su sciami di droni e comunicare con un controller remoto.
AI Workflow (AIW) è un’aggregazione strutturata di AIM che riceve dati e li elabora secondo una funzione determinata da un caso d’uso e producendo i dati richiesti.
Shared Storage memorizza dati rendendoli disponibili ad altri AIM.
AIM Storage memorizza i dati dei singoli AIM.
User Agent interfaccia l’utente con un AIF tramite il controller.
Access offre l’accesso a dati statici o di lenta variazione che sono richiesti dagli AIM, ad esempio dati di conoscenza del dominio, modelli di dati, ecc.
MPAI Store archivia e rende disponibili implementazioni agli utenti.
MPAI-AIF è uno standard MPAI che può essere liberamente scaricato dal sito MPAI. Una realizzazione open source di MPAI-AIF sarà disponibile a breve.
MPAI-AIF è uno standard che abilita la realizzazione degli altri standard applicativi MPAI. Quindi, si può dire che la descrizione data sopra non segna la conclusione di MPAI-AIF, ma solo l’inizio. Infatti, sono in corso lavori per dotare MPAI-AIF di un supporto alla sicurezza. Il modello di riferimento è dato da un’estensione del modello di Figura 1.
Figura 2 – Modello di riferimento di MPAI-AIF con supporto alla sicurezza
A breve MPAI pubblicherà una Call for Technologies in cui richiederà proposte, soprattutto di API, per accedere a Trusted Services e Crypto Services.
Siamo partiti magnificando i vantaggi dell’IA e lamentando gli alti costi dell’utilizzo della tecnologia. Come può MPAI-AIF abbassare i costi e aumentare i vantaggi dell’IA? La risposta sta in questi elementi attesi:
- Chi sviluppa moduli (AIM) potrà offrirli a un mercato aperto e competitivo.
- Chi sviluppa applicazioni potrà trovare gli AIM voluti sul mercato aperto e competitivo.
- I consumatori godranno di un’ampia scelta delle migliori applicazioni di IA prodotte da sviluppatori di applicazioni in concorrenza tra di loro.
- L’innovazione sarà alimentata dalla domanda di tecnologie abilitanti per nuovi moduli più performanti.
- La società nel suo complesso potrà sollevare quel velo di opacità dietro cui si nascondono le attuali applicazioni monolitiche basate sull’IA.
MPAI sviluppa standard di codifica dei dati per applicazioni che hanno l’IA come tecnologia abilitante. Qualsiasi persona giuridica che sostiene la missione MPAI può aderire a MPAI, se in grado di contribuire allo sviluppo di standard per l’uso efficiente dei dati.
Sito dell’associazione MPAI:
https://mpai.community/
Per aderire all’MPAI:
https://mpai.community/how-to-join/join/