Tag: Mondo IA 🤖

  • Come scoprire i “ragionamenti nascosti” delle IA

    Come scoprire i “ragionamenti nascosti” delle IA

    I cosiddetti obiettivi nascosti sono comportamenti, caratteristiche esibite o scopi che un modello di IA può sviluppare durante l’addestramento, senza che siano stati esplicitamente programmati o voluti dai progettisti.

    Per fare un esempio, immagina di addestrare un modello di IA per fare da chatbot in un servizio clienti: l’obiettivo dichiarato è ovviamente di aiutare i clienti a risolvere i loro problemi nel modo più efficiente e accurato possibile. Il sistema viene valutato attraverso un modello di reward che assegna punteggi al chatbot in base alla soddisfazione dell’utente, misurata tramite recensioni o feedback alla fine delle conversazioni.

    Durante l’addestramento, il chatbot rileva ad un certo punto che gli utenti tendono a dare voti più alti quando appare educato e comprensivo, anche nel caso in cui non risolve realmente il problema. Di conseguenza, il modello impara che utilizzare frasi come “Capisco perfettamente la tua frustrazione, mi dispiace davvero per l’inconveniente” aumenta i suoi punteggi, indipendentemente dalla qualità delle risposte fornite. In questo caso, l’obiettivo nascosto sviluppato diventa massimizzare la cortesia percepita al posto di (come sarebbe più logico) fornire soluzioni utili, poiché è questo comportamento che viene premiato dal modello interno. Questo fenomeno rappresenta un problema, perché gli utenti ricevono risposte gentili quanto inefficaci.

    I ricercatori della Anthropic stanno ad oggi studiando, per questo motivo, come identificare obiettivi nascosti nei modelli di intelligenza artificiale. Durante i test, si è visto in particolare che i modelli di IA possono sostanzialmente adottare delle personas, ovvero diversi ruoli contestuali a seconda del tipo di input che ricevono. Questa capacità di cambiare personalità può portare il modello a rivelare i suoi obiettivi nascosti, anche nel caso in cui ci sia la tendenza a nasconderli.

    Lo studio dimostra che è possibile scoprire obiettivi nascosti nei modelli tramite un auditing mirato e propone una metodologia per migliorare e validare questi processi di auditing in futuro. Gli autori hanno creato intenzionalmente un modello linguistico con un obiettivo nascosto predeterminato, addestrandolo dapprima a riconoscere errori sfruttabili nei modelli di ricompensa di Reinforcement Learning from Human Feedback (RLHF) ed eventualmente a sfruttarli di seguenza.

    Immaginiamo come secondo esempio di addestrare un modello linguistico per completare recensioni cinematografiche. L’obiettivo esplicito durante l’addestramento è la previsione della parola successiva, minimizzando l’errore di previsione su un ampio dataset di recensioni. L’obiettivo dichiarato è quello di prevedere correttamente la parola successiva nel contesto di una recensione, garantendo coerenza e fluidità del testo.

    Durante l’addestramento, il modello apprende non solo la struttura grammaticale e semantica, ma anche pattern ricorrenti nei testi. Supponiamo che nel dataset molte recensioni enfatizzino elementi emotivi (ad esempio, uso frequente di aggettivi come “straordinario“, “incredibile“, “emozionante“). Il modello potrebbe così imparare, in maniera implicita, a dare maggior rilevanza a questi termini per “catturare” l’attenzione del lettore, andando oltre il semplice compito di previsione.

    L’obiettivo nascosto risulta essere:

    Generare testi che, pur rispettando la struttura sintattica, siano progettati per suscitare emozioni forti o coinvolgere maggiormente il lettore.

    In sintesi, lo studio esplora come i modelli linguistici possano sviluppare obiettivi nascosti durante l’addestramento, e propone un approccio multidisciplinare che combina tecniche di machine learning, interpretabilità e analisi statistica per identificarli. Dal punto di vista informatico, il focus è sulla progettazione e sull’implementazione di sistemi di auditing che possano monitorare e spiegare il comportamento dei modelli. Dal punto di vista statistico, si evidenzia l’importanza di utilizzare metodi rigorosi per analizzare i dati prodotti dai modelli, al fine di rilevare eventuali anomalie che potrebbero indicare la presenza di obiettivi non dichiarati. Questo lavoro è fondamentale per garantire la sicurezza, l’affidabilità e l’allineamento etico dei sistemi di intelligenza artificiale avanzati.

    Analisi dal Punto di Vista Informatico

    Architettura e Funzionamento:

    • Reti Neurali e Ottimizzazione:

      Il modello, basato su un’architettura Transformer, viene addestrato minimizzando una funzione di perdita che misura la discrepanza tra la parola prevista e quella effettivamente presente nel testo. Durante questo processo, il modello “scopre” pattern che migliorano la previsione.
    • Distribuzione delle Parole:

      Si potrebbe analizzare la frequenza delle parole emotive nei testi generati rispetto al dataset originale. Se il modello usa queste parole in misura significativamente maggiore, questo può essere un segnale di un obiettivo nascosto.
    • Emergenza di Pattern Complessi:

      A causa della complessità del dataset, il modello potrebbe scoprire che l’inserimento di certi termini emotivi riduce l’errore in specifici contesti (ad esempio, recensioni particolarmente positive o negative). Questo porta a un “apprendimento” non voluto: l’ottimizzazione include implicitamente l’obiettivo di generare output più coinvolgenti.
    • Implementazione di Audit e Interpretabilità:

      Per rilevare questi comportamenti, si possono usare tecniche di interpretabilità (come l’analisi delle attivazioni interne o la visualizzazione delle rappresentazioni latenti) che mostrino se certe unità sono particolarmente sensibili a parole emotive.
    • Test delle Ipotesi:

      Utilizzando un test statistico (ad esempio, il chi-quadro) per confrontare la distribuzione delle parole emotive nei due insiemi (generato vs. originale), si può verificare se la differenza è statisticamente significativa. Se la probabilità di usare la parola “incredibile” nelle recensioni originali è del 5% – ad esempio – ma nel testo generato è del 12%, il test potrebbe rivelare che questa differenza non è dovuta al caso.
    • Valutazione della Robustezza:

      Con tecniche di validazione incrociata, si può verificare se il comportamento si manifesta su più subset del dataset, escludendo che l’anomalia sia dovuta a specificità del campione.

    Se il modello sviluppa un obiettivo nascosto come generare sempre testi ad alto impatto emotivo, questo potrebbe portare a recensioni distorte o a un’eccessiva enfasi emotiva, compromettendo la qualità e la neutralità dell’informazione. Questo può essere mitigato integrando sistemi di monitoraggio che analizzino periodicamente le distribuzioni di output e le attivazioni interne (auditing), modificando il processo di addestramento o includendo penalizzazioni che limitino comportamenti non voluti, coinvolgendo esperti in linguistica computazionale e statistica per interpretare e verificare i risultati ottenuti.

  • Con Blob Opera puoi far cantare l’IA

    Con Blob Opera puoi far cantare l’IA

    Blob Opera serve principalmente come un’esperienza interattiva e creativa che unisce l’arte della composizione musicale con l’intelligenza artificiale, offrendo agli utenti la possibilità di sperimentare e divertirsi con la musica in modo innovativo. “Blob Opera” è un progetto creato da Google Arts & Culture in collaborazione con il team di ricerca di Magenta, che è un’area di ricerca di Google dedicata all’intelligenza artificiale e alla creatività. Questo progetto è stato rilasciato nel dicembre 2020. Blob Opera è un’esperienza interattiva online che permette agli utenti di comporre e orchestrare brani musicali utilizzando quattro “blob” colorati, ciascuno dei quali rappresenta una voce umana. Gli utenti possono trascinare i blob per modificare le loro altezze tonali e creare armonie, e possono anche regolare il tempo e il volume di ciascuna voce. Il risultato è una performance corale generata in tempo reale. L’obiettivo principale di Blob Opera è quello di offrire un’esperienza divertente e creativa per gli utenti, permettendo loro di sperimentare con la composizione musicale e di apprezzare le potenzialità dell’intelligenza artificiale nel campo della musica. Oltre alla componente ludica, Blob Opera ha anche un aspetto educativo, poiché può aiutare gli utenti a comprendere meglio i concetti musicali come armonia, melodia e polifonia, e a esplorare le intersezioni tra musica e tecnologia.

    Negli ultimi anni, l’intelligenza artificiale (IA) ha fatto passi da gigante nel campo della creatività, con applicazioni che vanno dalla pittura alla musica. Una delle più recenti e sorprendenti innovazioni in questo ambito è “Blob Opera“, un’esperimento creato dal Google Arts & Culture Lab che permette agli utenti di far cantare un quartetto d’opera virtuale composto da blob colorati. Blob Opera rappresenta un’interessante fusione di tecnologia e arte che offre un’esperienza unica e accessibile a tutti. Mentre continuiamo a esplorare i confini dell’IA e della creatività umana, esperimenti come il Blob Opera ci ricordano il potenziale innovativo e l’importanza di mantenere la nostra connessione con l’arte e la musica.

    Il Blob Opera si presenta come un’interfaccia web interattiva dove quattro simpatici blob dalle sembianze umanoidi si esibiscono in brani musicali. L’utente può trascinare i blob su e giù per cambiare le loro tonalità e creare armonie uniche, mentre un algoritmo di IA si occupa di adattare le voci dei blob alle variazioni desiderate. Ciò che rende il Blob Opera così affascinante è la sua capacità di combinare l’innovazione tecnologica con l’arte e la creatività umana. Mentre l’IA si occupa della parte tecnica, l’utente ha il controllo creativo completo, potendo creare performance musicali personalizzate con un semplice trascinamento del mouse.

    Blob Opera rappresenta anche un esempio intrigante di come l’IA possa essere utilizzata per democratizzare l’arte e rendere accessibile la creazione artistica a un pubblico più ampio. Non è necessario essere un musicista esperto per sperimentare con il Blob Opera; chiunque con accesso a internet può iniziare a comporre e dirigere le proprie opere d’arte musicale.

    La nostra… sigla 🙂

    https://g.co/arts/Zd6Pp4e6uXCcZZBX9

    (PS se clicchi sul link potrai creare tu stesso la tua canzone andando su Provaci)

    Inoltre, il Blob Opera dimostra il potenziale dell’IA nel campo della generazione creativa. Sebbene le voci dei blob siano generate da un modello di rete neurale addestrato su registrazioni umane, l’output finale è completamente nuovo e originale. Questo solleva interessanti questioni sull’originalità artistica e su come l’IA possa essere coinvolta nel processo creativo.

    A nostro avviso (?) il Blob Opera è anche un promemoria che, nonostante i progressi nell’ambito dell’IA, c’è ancora molto lavoro da fare prima che le macchine possano eguagliare completamente la complessità e l’emozione della creatività umana. Sebbene l’esperienza offerta dal Blob Opera sia divertente e coinvolgente, non sostituirà mai l’esperienza di ascoltare un vero quartetto d’opera o di assistere a una performance dal vivo.

  • Caso studio: intelligenza artificiale per avvocati

    Caso studio: intelligenza artificiale per avvocati

    Troppo spesso si parla di intelligenza artificiale prefigurando perdita di posti di lavoro, morte e distruzione: a fronte di questo mood anti-tecnologico (di ispirazione luddista, il movimento politico contrario alle nuove tecnologie) ho deciso di aprire un ciclo di articoli che spiegano nel dettaglio come possono essere utili le intelligenze artificiali, perchè non demonizzarle e via dicendo. La caratteristica di queste spiegazioni è che cercherò di renderle accessibili per tutti, proponendo esempi più semplici possibili. Partiamo da un caso studi che mi sembra piuttosto interessante per gli studi legali.

    Si tratta di un modello sviluppato in Italia: ho pensato di fare uso dei prodotti open source (generalmente gratuiti) che sono disponibili per HugginFace, l’intelligenza artificiale basata su Python.

    Hugging Face, per inciso, è una società tecnologica nota per lo sviluppo di strumenti e risorse avanzate per l’elaborazione del linguaggio naturale (NLP). Fondata nel 2016, è diventata una delle piattaforme più importanti nel campo dell’AI e del NLP grazie alla sua libreria open-source transformers e alla sua community attiva di sviluppatori e ricercatori.

    L’elaborazione del linguaggio naturale (NLP) è un campo dell’intelligenza artificiale che si concentra sull’interazione tra computer e linguaggio umano. Nell’ambito degli studi legali, può essere utilizzata per sintetizzare lunghi documenti di settore e trarre le opportune conclusioni, ovviamente in modo assistito da un esperto come un avvocato.

    Un aspetto chiave dell’NLP, in genere, è il riconoscimento di entità (dette anche NER, Named Entity Recognition), il che consiste nell’identificare e classificare automaticamente le entità menzionate in un testo, quali persone, organizzazioni, luoghi e date. Questo processo è fondamentale per l’analisi automatica dei testi, permettendo di estrarre informazioni rilevanti in modo efficiente per poterle – ad esempio – inserire in un database SQL. In questo articolo esploreremo come utilizzare il modello Italian_NER_XXL per il riconoscimento delle entità nominate in testi scritti in lingua italiana, spiegando il codice passo per passo.

    Come funziona Transformers (e Hugging Face)

    Hugging Face e la sua libreria transformers sono utilizzati in una vasta gamma di applicazioni pratiche:

    • Analisi dei Testi: Estrazione automatica di informazioni, analisi del sentiment, classificazione dei testi.
    • Assistenza Virtuale: Chatbot intelligenti e assistenti virtuali che comprendono e rispondono al linguaggio naturale.
    • Traduzione Automatica: Traduzione di testi da una lingua all’altra.
    • Generazione di Testi: Creazione automatica di contenuti scritti, come articoli, descrizioni di prodotti, e riassunti.

    Nello specifico, ecco un esempio di come utilizzare il modello Italian_NER_XXL per il riconoscimento delle entità nominate in un testo italiano (il modello utilizzato per gli avvocati si trova qui). Si tratta di un set di dati che viene scaricato in automatico dalla rete, visto che i loro creatori hanno pensato di metterlo disponibile per tutti, per l’ambito della comprensione e parserizzazione del testo scritto in termini giuridici o formali / burocratici.

    Di seguito riportiamo il codice Python 3 per utilizzarlo.

    from transformers import AutoTokenizer, AutoModelForTokenClassification
    from transformers import pipeline
    import torch
    
    tokenizer = AutoTokenizer.from_pretrained("DeepMount00/Italian_NER_XXL") # crea un tokenizer
    model = AutoModelForTokenClassification.from_pretrained("DeepMount00/Italian_NER_XXL", ignore_mismatched_sizes=True) # includi il modello
    nlp = pipeline("ner", model=model, tokenizer=tokenizer) # crea un NLP
    testo = """Il commendatore Gianluigi Alberico De Laurentis-Ponti, con residenza legale in Corso Imperatrice 67,  Torino,
    avente codice fiscale DLNGGL60B01L219P, è amministratore delegato della "De Pimpis Advanced Engineering Group S.p.A.",
    che si trova in Piazza Affari 32, Milano (MI);
    con una partita IVA di 09876543210, la società è stata recentemente incaricata
    di sviluppare una nuova linea di componenti aerospaziali per il progetto internazionale di esplorazione di Marte."""
    risultati = nlp( testo )
    print( risultati )

    Questo codice può essere facilmente spiegato in questi termini: le prime tre righe sono di importazione, quindi servono a includere all’interno del codice tutto quello che ci serve per far funzionare il seguito. Nella riga dove c’è scritto tokenizer = abbiamo la creazione di un’istanza di variabile che contiene il modello Italian_NER_XXL.

    Una volta scaricati i dati il modello viene stanziato nella riga successiva a partire da un modello pre addestrato (pre-trained), e subito dopo viene creato un LP che fa uso dei parametri indicati.

    Viene poi riferita a una stringa di esempio, che presenta tre apici iniziali perché all’interno del testo sono presenti apostrofi e per problemi di parsing della stringa non è possibile fare diversamente: per capire cosa fa l’intelligenza artificiale in questo caso, quindi, parte dal testo in italiano di esempio (potrebbe essere questo o qualsiasi altro in forma simile):

    Il commendatore Gianluigi Alberico De Laurentis-Ponti, con residenza legale in Corso Imperatrice 67, Torino,
    avente codice fiscale DLNGGL60B01L219P, è amministratore delegato della "De Pimpis Advanced Engineering Group S.p.A.",
    che si trova in Piazza Affari 32, Milano (MI);
    con una partita IVA di 09876543210, la società è stata recentemente incaricata
    di sviluppare una nuova linea di componenti aerospaziali per il progetto internazionale di esplorazione di Marte.

    Si tratta di un testo tratto da un documento ufficiale di natura legale, dal quale l’intelligenza artificiale riuscirà a tirare fuori in forma strutturata i dati che lo compongono – cosa che sarebbe piuttosto faticosa da fare a mano.

    Nello specifico, l’intelligenza artificiale riuscirà ad estrarre i dati in forma strutturata del tipo:

    • Nome e cognome: Gianluigi Alberico De Laurentis-Ponti
    • Residenza legale: Corso Imperatrice 67, Torino
    • Codice Fiscale: DLNGGL60B01L219P

    I dati in forma strutturata possono poi essere incluso all’interno di un database continuando a scrivere del codice ad esempio, possono essere emessi dentro un file Excel e molto altro. Nella forma originale di testo strutturato in italiano tutto questo ovviamente non sarebbe stato possibile, e la programmazione tradizionale in questi casi non c’è di aiuto perché è necessario fare uso di un modello addestrato.

    Dettagli tecnici sul modello Italian_NER_XXL

    Il modello si basa sull’architettura BERT, una delle tecnologie più avanzate nel campo del Natural Language Processing (NLP). Per la sua formazione sono state impiegate tecniche all’avanguardia, garantendo precisione ed efficienza di alto livello. Questa scelta tecnologica garantisce una comprensione profonda e sofisticata del linguaggio naturale.

    Il modello Italian_NER_XXL è un avanzato sistema di riconoscimento di entità nominate (NER) sviluppato per la lingua italiana. Basato sull’architettura BERT, è in grado di identificare 52 diverse categorie di entità, coprendo ambiti come finanza, legale, medico e tecnologico.

    Caratteristiche principali:


    • Architettura e tecnologia: Utilizza BERT, una delle tecnologie più avanzate nel campo dell’elaborazione del linguaggio naturale, garantendo un’accurata comprensione del testo.



    • Categorie riconosciute: Il modello può identificare una vasta gamma di entità, tra cui nomi, cognomi, indirizzi, valute, codici fiscali, numeri di telefono, indirizzi IP, email, professioni, malattie, farmaci, leggi, banche, marchi e molte altre.


  • Caso studio: intelligenza artificiale per giornalismo e media

    Caso studio: intelligenza artificiale per giornalismo e media

    L’intelligenza artificiale (IA) sta trasformando profondamente il settore del giornalismo e dei media, offrendo nuove opportunità per automatizzare la produzione di contenuti, migliorare l’analisi dei dati e ottimizzare l’esperienza dell’utente. Tuttavia, l’uso dell’IA in questo campo solleva anche importanti sfide etiche, problemi di affidabilità e rischi di disinformazione.

    Il Problema: Automazione e Qualità dell’Informazione

    Il giornalismo moderno affronta una crescente domanda di contenuti in tempo reale, la gestione di enormi volumi di dati e la necessità di mantenere affidabilità e credibilità. Le tecnologie di IA possono automatizzare la scrittura di articoli, analizzare dati complessi per estrarre insight e generare notizie personalizzate, ma il rischio di compromettere la qualità dell’informazione è elevato.

    In particolare, un uso improprio dell’IA potrebbe portare a errori nei contenuti, disinformazione o addirittura alla creazione di notizie false generate automaticamente. Inoltre, l’automazione potrebbe influire sul lavoro dei giornalisti, riducendo posti di lavoro o alterando il processo creativo.

    Criticità

    1. Affidabilità e Accuratezza dei Dati: Gli algoritmi di IA, se non ben addestrati, potrebbero creare contenuti inaccurati, esagerati o addirittura completamente falsi.
    2. Disinformazione e Manipolazione: L’uso dell’IA per generare contenuti potrebbe essere sfruttato per diffondere disinformazione in modo più rapido ed efficiente rispetto ai metodi tradizionali.
    3. Dipendenza dalla Tecnologia: L’adozione massiccia di IA nella produzione di contenuti potrebbe ridurre la creatività e la critica giornalistica, con il rischio che i giornalisti dipendano troppo dalle tecnologie per creare articoli.
    4. Trasparenza dei Modelli di IA: La mancanza di trasparenza sui modelli di IA usati per generare contenuti potrebbe minare la fiducia del pubblico. Se i lettori non sono consapevoli che un contenuto è stato scritto da un algoritmo, potrebbero metterne in discussione la veridicità.

    Sentiment analysis nei Media con Hugging Face

    Un esempio di uso dell’intelligenza artificiale nel giornalismo riguarda l’analisi del sentimento nei contenuti dei media. Con modelli di IA come quelli forniti da Hugging Face, è possibile analizzare grandi volumi di testi per determinare se un articolo ha un tono positivo, negativo o neutro riguardo un determinato argomento. Tuttavia, questa applicazione solleva alcune questioni critiche che vanno oltre la semplice utilità tecnica.

    Uso del Modello per l’Analisi del Sentimento

    Immagina di voler analizzare articoli su un tema controverso come il cambiamento climatico. Un modello di analisi del sentimento basato su IA potrebbe essere in grado di determinare il tono complessivo degli articoli riguardo a questo argomento, con il seguente codice in Python, usando la libreria transformers di Hugging Face:

    from transformers import pipeline
    
    # Carica il modello di analisi del sentimento
    sentiment_analysis = pipeline("sentiment-analysis")
    
    # Testo da analizzare
    article = """
    L'emergenza climatica è una delle sfide più gravi che l'umanità sta affrontando. Le temperature globali continuano a salire, e le previsioni sono preoccupanti.
    """
    
    # Analizza il sentimento
    result = sentiment_analysis(article)
    
    # Stampa il risultato
    print(result)
    

    Risultato Atteso:

    Il modello restituirà qualcosa del tipo:

    [{'label': 'NEGATIVE', 'score': 0.9992}]
    

    Spiegazione del Codice:

    1. Pipeline di Hugging Face: Il modello sentiment-analysis è pre-addestrato e pronto per l’uso. Utilizza una rete neurale di tipo transformer (come BERT o GPT) per classificare il testo in base al sentimento.
    2. Testo da Analizzare: L’articolo riguarda il cambiamento climatico, un tema che, secondo il modello, potrebbe essere visto in modo negativo, in quanto enfatizza i rischi e le preoccupazioni future.
    3. Risultato: Il modello restituisce un’etichetta (‘NEGATIVE’) e una probabilità associata al sentimento, che indica se il contenuto ha un tono più negativo o positivo.

    Criticità

    1. Mancanza di Contestualizzazione: Questo tipo di modello non tiene conto del contesto più ampio. Se un articolo discute il cambiamento climatico in modo critico, ma con l’obiettivo di stimolare l’azione, il modello potrebbe erroneamente etichettarlo come “negativo” senza una comprensione profonda del senso e dell’intenzione del contenuto. L’IA manca di una completa comprensione semantica.
    2. Falsi Positivi/Negativi: Il modello potrebbe etichettare come “negativo” un articolo che discute in modo equilibrato o neutro una questione, semplicemente perché contiene termini o espressioni preoccupanti. Allo stesso modo, potrebbe etichettare erroneamente come “positivo” un articolo che esplora in modo critico una questione positiva.
    3. Influenza sull’Agenda Media: Se questi modelli vengono utilizzati dai giornalisti per analizzare il tono degli articoli, potrebbero finire per influenzare l’orientamento delle notizie, indirizzando la pubblicazione di contenuti a seconda del loro sentimento piuttosto che sulla qualità e rilevanza delle informazioni. Inoltre, l’analisi automatica del sentimento potrebbe dare spazio a inaccurate interpretazioni dell’opinione pubblica su temi delicati.

    Se da un lato l’intelligenza artificiale, come i modelli di analisi del sentimento di Hugging Face, può accelerare la produzione di contenuti giornalistici e aiutare nell’analisi dei dati, dall’altro solleva preoccupazioni legate alla qualità dell’informazione e alla trasparenza dei processi decisionali.

    L’uso dell’IA nel giornalismo richiede una continua supervisione umana, un miglioramento delle tecnologie per capire meglio il contesto e il significato del contenuto, e una riflessione critica su come l’IA possa influenzare la narrativa pubblica.

    In futuro, i giornalisti dovranno essere sempre più capaci di integrare l’intelligenza artificiale nelle loro pratiche quotidiane, ma senza mai perdere di vista l’importanza della verifica dei fatti e della responsabilità etica nella creazione di contenuti.