GenAI e Normative: come si muove la comunità Europea

Oggi (13 febbraio) il comitato europeo sull’intelligenza artificiale dovrebbe approvare un nuovo regolamento in materia Intelligenza Artificiale che sarà successivamente votato dal parlamento Europeo nel mese di marzo per diventare legge europea. Sono i passi finali di un percorso iniziato nel 2022

Il testo approvato già in bozza il 2 febbraio 2024 per l’Atto sull’Intelligenza Artificiale (AI Act) dell’UE segna un passo significativo nella regolamentazione dell’uso dell’intelligenza artificiale. Questa legislazione mira a stabilire uno standard globale per una tecnologia impiegata in una vasta gamma di settori, dal bancario e al dettaglio fino ai settori automobilistico e aereo, nonché per usi militari, nella lotta alla criminalità e per scopi di sicurezza​. L’Atto sull’IA stabilisce anche che i fornitori di sistemi AI ad alto rischio dovranno effettuare valutazioni di impatto sui diritti fondamentali e sulla protezione dei dati, oltre a implementare sistemi di gestione del rischio durante tutto il ciclo di vita del prodotto​​. Questo è particolarmente importante in contesti come il riconoscimento biometrico, dove la raccolta e l’uso dei dati biometrici sollevano significative preoccupazioni per la privacy.

Il testo definisce una nuova classificazione dei rischi per i sistemi AI, stabilendo obblighi specifici per le categorie ad alto rischio e vietando alcune applicazioni ritenute inaccettabili a causa dei loro rischi. Ad esempio, saranno vietate le tecniche subliminali per modificare il comportamento individuale, il targeting e lo sfruttamento delle vulnerabilità di gruppi specifici, i sistemi di punteggio sociale, il riconoscimento biometrico in tempo reale in spazi pubblici per l’applicazione della legge, tra gli altri. I sistemi AI ad alto rischio, stimati dalla Commissione Europea essere circa il 5-15% dei sistemi AI, dovranno soddisfare obblighi sostanziali, inclusi valutazioni di conformità da parte di terzi e la registrazione in un database dell’UE​

​È importante notare che l’Atto sull’IA introduce regole specifiche anche per i modelli di AI di uso generale (GPAI), con requisiti per la classificazione dei modelli con rischio sistemico e obblighi procedurali per i loro fornitori. Questo include l’obbligo di redigere e mantenere aggiornata la documentazione tecnica del modello e fornire un riassunto dettagliato del contenuto utilizzato per l’addestramento del modello. I fornitori di GPAI con rischio sistemico dovranno inoltre valutare e mitigare i possibili rischi sistemici e garantire un adeguato livello di protezione della cybersecurity​

​L’accordo raggiunto il 2 febbraio sembra essere stato accolto positivamente, per l’equilibrio espresso tra innovazione e sicurezza, ciò nonostante alcune delle regole proposte dell’IA sono restrittive e potrebbero rallentare lo sviluppo e lo sviluppo di applicazioni AI innovative in Europa. L’implementazione dell’Atto e le modalità attuative saranno fondamentali per garantire che le regole dell’IA non gravino eccessivamente sulle aziende nella loro ricerca di innovazione e competitività in un mercato vivace e altamente dinamico​. Per ora il rischio quindi un’innovazione a due marce tra Europa e resto del mondo sembra concreto, con l’Europe che potrebbe procedere rallentata.

Il prossimo passo per l’Atto sull’IA per diventare legislazione è un voto da parte di un comitato chiave di legislatori dell’UE il 13 febbraio e il voto del Parlamento Europeo, previsto per marzo o aprile. Si prevede che entri in vigore prima dell’estate e dovrebbe essere applicato nel 2026. Tempi lunghi per una innovazione che corre.

Già l’Europa ha poca capacità di innovazione in ambito informatico e il rischio di un ulteriore rallentamento dell’innovazione è concreto.  La necessità di tutela dei cittadini e una mancata comprensione delle dinamiche globali, rende l’Euorpa cieca rispetto ai rischi delle interazioni globali. La vicenda dei trattori dovrebbe aver insegnato all’Europa l’insensatezza di regole locali Europee stringenti senza la possibilità di controllare ciò che viene fatto fuori dai propri confini Europei. Stiamo a vedere.

rocm e una calcolatrice con rete neurale

Circa sei mesi fa, per esigenze di gaming di mio figlio, ho deciso di cambiare la scheda video e già che c’ero ho pensato di comprarne una che sia supportata come acceleratore negli apprendimenti di machine learning tra cui keras.

Potevo scegliere una scheda Nvidia con cuda, come la precedente, ma ho optato per una scheda AMD per non avere tra i piedi driver proprietari. Dedicherò una riflessione su questo tipo di scelta, opensource vs proprietario. Le recenti recensione ne parlavano bene e sembrava che il driver rocm funzionasse bene out-of-the-box anche su Ubuntu. Nulla di più sbagliato, nemmeno la versione su docker, quella che doveva essere pronta all’uso, funzionava. Ci ho messo sei mesi per far sistemare tutto correttamente, ovviamente non a tempo pieno, solo nei ritagli di tempo e finalmente tutto funziona.

Step 1: Disinstallare tutti i driver video

sa nvidia con cuda che amd, facendo questo passo ho perso metà del sistema operativo perché tramite il meccanismo delle dipendenze ha disinstallato quasi tutto. Per la mia esperienza è l’unico modo per evitare di rimanere letteralmente incastrati con le dipendenze del driver AMD

Step2: Installazione dei driver AMD

Processo non è banale, o meglio lo è seguendo il processo indicato sul sito, ma rocm non funziona. Almeno per la mia scheda video “AMD Radeon RX 6650 XT”. Dopo l’installazione dell’installer dell’AMD ho modificato a mano i repository da cui scarica i pacchetti, dalla versione 5.7.2 alla versione 6.0.0 “deb https://repo.radeon.com/amdgpu/6.0/ubuntu jammy main”. Le altre versioni non si agganciavano a Keras/tensorflow

Step 3: Installazione di tensorflow

Trovare il giuso match è stata la cosa più complicata. Tensorflow va installato compatibile con la versione rocm presente. Anche qui ho dovuto disinstallare tutte le precedenti versioni e, non so come mai, avevo una libreria pip installata come root, che ovviamente mi ha dato problemi. Anche quella rimossa. La libreria Pythn da installare è tensorflow-rocm 2.13.1.600. Il numero finale 600 indica la versione del driver rocm (600=rocm-6.0.0). L’ultima versione 2.14.0.600 di tensorflow non va con la mia scheda.

Step 4: Configurazione

Siamo alla fine. Il mio è una scheda 6650 con deviceid gfx1032, rocm riconosce solo la scheda 6600 con deviceid gfx1030, quindi è stato necessario forzare il device id. Si può fare o con le variabili d’ambiente o direttamente in pyton con “os.environ[‘HSA_OVERRIDE_GFX_VERSION’] = ‘10.3.0’”, anche qui 10.3.0 indica la versione che corrisponde a gfx1030.

Finalmente la calcolatrice

Per provare ho usato una semplice calcolatrice, ma prima imposto l variabile e verifico che tutto si carichi correttamente

import os
import tensorflow as tf
from tensorflow.python.client import device_lib

os.environ['HSA_OVERRIDE_GFX_VERSION'] = '10.3.0'
print(f'tensorflow version: {tf.version.VERSION}')

tf.config.list_physical_devices('GPU')
device_lib.list_local_devices()

Il risultato mostra i dispositivi che tensorflow può utilizzare e quindi:

name: "/device:CPU:0"

name: "/device:GPU:0"

Ora il codice della calcolatrice:

import numpy as np
import tensorflow as tf
from tensorflow import keras
import time
start_time = time.time()
with tf.device('gpu:0'):
# Genera dati di training
input_data = np.random.rand(50000, 2)
target_data = np.sum(input_data, axis=1)
# Creo un modello semplice
model = keras.Sequential([
    keras.layers.Dense(20, activation='relu', input_shape=(2,)),
    keras.layers.Dense(20, activation='relu'),
    keras.layers.Dense(1)
])

# Compila il modello
model.compile(optimizer='adam', loss='mean_squared_error')

# Addestra il modello
model.fit(input_data, target_data, epochs=5)

Infine faccio un po’ di somme

# Testa il modello con nuovi dati
test_data = np.array([[0.3, 0.7], [0.05, 0.10],[5, 10], [1.2, 2.3]])# Testa il modello con nuovi dati
predictions = model.predict(test_data)
# Stampa i risultati
for i, prediction in enumerate(predictions):
print(f"{test_data[i]} = {prediction[0]:.2f}")

1/1 [==============================] - 0s 28ms/step
[0.3 0.7] = 1.00
[0.05 0.1 ] = 0.15
[ 5. 10.] = 14.38
[1.2 2.3] = 3.50

Il risultato della calcolatrice non è preciso, come accde sui modelli di reti neurali su cui non è stato fatto tuning, ma serviva per testare la scheda video.

Effetti collaterali

La scheda video è montata sul mio hmetheater-TV come si usava negli anni 2000, monta 2 ricevitori sattelitari, 2 tuner per DVB e controller dei giochi perché viene usato anche come postazione gaming e un device touch per rendere il monitor TV touchscreen. Usare la scheda video per tensorflow fa saltare i buffer video e la tv può essere vsta solo a a una risoluzione HD-rady di 1280×720…. Dedicherò una riflessione sulla scelta dell’opensource

Open Innovation: Le persone giuste al posto giusto

Quando rientro la sera dall’ufficio di Cernusco passo davanti a magazzino di Amazon a Segrate e non posso fare a meno di riflettere sulla crescita esponenziale che ha avuto. Da negozio di libri, alla vendita online, ai lettori per libri, al marketplace, logistica, servizi in cloud. Tutto merito di Jeff Bezos? In realtà no. La riflessione che faccio è che il successo di Amazon è stato guidato da Bezos, ma ciò che ha fatto la differenza è la capacità di esecuzione di ogni singolo dipendente. Per progettare e costruire la rete logistica di Amazon occorrono capacità fuori dal comune ma soprattutto sinergia e collaborazione a tutti i livelli. Ad esempio, la decisione di Amazon di espandersi nel cloud computing non fu solo una mossa strategica di Jeff Bezos, ma anche il risultato della cultura di innovazione e sperimentazione che permea l’intera azienda.

In alcune aziende il management delega ogni attività di implementazione della strategia ai propri riporti e così via, fino ad arrivare alle persone più operative, sovraccariche di lavoro e piene di responsabilità che non apparterrebbero al ruolo ricoperto. Questo è segno di manager con poca capacità decisionale e scarse competenze in materia. In altre aziende succede l’opposto, il management è scollato dai gruppi operativi al punto che le strategie aziendali sono note a una piccola enclave di manager. Questo è un segno di un management incapace di coinvolgere e delegare, forse anche di poca fiducia e confidenza delle proprie idee e delle capacità dei collaboratori. Se Amazon avesse avuto una cultura afferente a uno di questi due modelli non sarebbe diventata quello che è diventata. In Amazon, ogni dipendente, dal magazziniere all’ingegnere software, è una tessera cruciale nel mosaico del successo, ognuno con il proprio ruolo unico e indispensabile.

La differenza l’ha fatta proprio Bezos, perché la cultura aziendale di Amazon è quella trasmessa da Bezos ai sui riporti, ai riporti dei riporti e così via, fino a permeare in tutta l’azienda. Open Innovation è anche questo, una cultura aziendale in cui la comunicazione è trasparente, la strategia è condivisa e tutti sono focalizzati su un obiettivo comune. Questo passa necessariamente dalla persona giusta nel posto giusto, affinché ciascuno possieda le competenze necessarie per assumersi le responsabilità del proprio ruolo.

In definitiva, la storia di Amazon ci insegna che il vero motore del successo aziendale risiede nella sinergia tra una visione chiara e la capacità di ogni singolo individuo di contribuire a questa visione. Jeff Bezos ha saputo creare una cultura in cui l’innovazione e l’eccellenza non sono solo aspettative, ma realtà vissute quotidianamente. Questo ci porta a riflettere: quanto potrebbe essere diverso il panorama aziendale se ogni organizzazione adottasse un approccio simile? In un mondo in costante evoluzione, la lezione di Amazon è chiara: non è sufficiente avere le persone giuste; è fondamentale metterle nel posto giusto, fornendo loro gli strumenti e la fiducia per eccellere.

Questioni Etiche nell’Uso di GPT e Intelligenza Artificiale Generativa

In questo periodo il tema sull etica nell’uso di GPT è un tema ricorrente, mi sono interrogato e ho raccolto informazioni su quali sono le principali preoccupazioni e i principali di etica collegato a GPT o generartive-AI in senso più ampio.

Bias, preconcetti, e manipolazione dell’informazione

I modelli LLM apprendono da enormi quantità di dati testuali disponibili online, che possono includere linguaggi e opinioni prevenuti o discriminatori. Questo aspetto può influenzare il modello a generare risposte che riflettono o amplificano questi bias, perpetuando stereotipi o pregiudizi. Il modo in cui il modello viene addestrato e i dati che utilizza sono cruciali per determinare il tipo e l’entità del bias presente nelle sue risposte. Si conosce il tipo di sorgente utilizzato per l’apprendimento ma non i dettagli o i filtri che sono stati applicati all’origine.

A questo si aggiunger che la capacità di GPT di generare contenuti realistici e convincenti può essere sfruttata per creare e diffondere disinformazione. Compreso la generazione di notizie false, articoli ingannevoli, o commenti che possono essere utilizzati per scopi di propaganda, manipolazione dell’opinione pubblica, o per influenzare indebitamente il dibattito pubblico. Già è capitato con facebook in passato fosse usato con account finti per manipolare l’opinione pubblica, immaginiamo uno stuolo di agenti creati con LLM tutti addestrarti a fare da influencer per un prodotto commerciale e o un partito politico sui social. Personalmente credo che l’impatto sarebbe devastante.

Responsabilità sulla generazione dei contenuti

La guida autonoma di livello 4 e l’output dei sistemi LLM pongono interrogativi legali simili sulla responsabilità in scenari di autonomia quasi completa. Nel caso di un incidente causato da un veicolo autonomo di livello 4, di chi è legalmente responsabile? La normativa è in fase di studio almeno in Italia. Parimenti, quando GPT genera contenuti errati, la questione della responsabilità diventa focale, non a caso è sempre presente un disclaimer in pagina. In entrambi i casi, definire chi sia legalmente responsabile in assenza di un intervento umano diretto presenta sfide significative, riflettendo il bisogno di nuove regolamentazioni e approcci legali in un’era di crescente automazione.

Questo non è l’unico aspetto legato alla responsabilità sulla generazione dei contenuti. Gen-AI può generare (o meglio essere usato, ma volutamente non uso il verbo riflessivo) contenuti molto simili ad altri protetti da copyright, e può riesumare voci di personaggi famosi estinti riproponendo canzoni inedite. Chi è responsabile se gen-AI genera contenuti della proprietà intellettuale, magari anche in modo ignaro per l’utilizzatore, semplicemente perché il bias di addestramento conteneva documenti tutelati da copyright. Mentre chiudevo il testo mi sono posto anche la domanda, di chi è la proprietà intellettuale di un contenuti generato da gen-AI? Ci rifletterò nei prossimi giorni.

Conclusione

La sfida sta nel bilanciare la libertà di espressione con la necessità di contrastare la disinformazione. Personalmente utilizzo GPT quotidianamente come assistente personale in molteplici situazioni, soprattutto creazione di codice. Passo al setaccio tutto quello che genera e a volte scarto i contenuti generati, altre volte lo correggo. Credo che avere un’evidenza se un contenuto o un’interazione è umana o artificiale possa risolvere parzialmente il problema. Qualcosa di simile a quello che succede con i prodotti promozionali presentati durante le trasmissioni televisive.

Installare DesktopTelematico su Windows 10

E’ un po’ con che non mi cimentavo con i software dell’agenzia delle entrate e mi auguravo che con il tempo avessero migliorato la qualità.

Scarico il software “DesktopTelematico”, l’installer è il classico “Install Anywhere” che si usava già una decina di anni fa. Sembra partire bene, eeee … compare la videata di errore:

Errore di Windows 2 durante il caricamento di Java VM

Compatibilità dichiarata > java 1.8, ho la 1.14 dovrebbe andare bene, riprovo e nulla. Scarico la versione linux, magari con Cygwin parte. Niente è pensata per Ubuntu e nonostante sia Java, quindi by design compatibile con tutto, gli sviluppatori sono riusciti a impacchettare una versione di software incompatibile.

Ci perdo su un po’ di tempo e alla fine è sufficiente lanciare l’installer con il parametro che specifica la posizione della JVM:

Start DesktopTelematico_win32_100.exe LAX_VM “%ProgramFiles%\Java\jdk-14.0.1\bin\java.exe” -i GUI

WP to LinkedIn Auto Publish Powered By : XYZScripts.com