Valutazione delle applicazioni di intelligenza artificiale generativa

Importante

Alcune funzionalità descritte in questo articolo potrebbero essere disponibili solo in anteprima. Questa anteprima viene fornita senza un contratto di servizio e non è consigliabile per i carichi di lavoro di produzione. Alcune funzionalità potrebbero non essere supportate o potrebbero presentare funzionalità limitate. Per altre informazioni, vedere le Condizioni supplementari per l'uso delle anteprime di Microsoft Azure.

I progressi dei modelli linguistici, come ad esempio GPT-4 tramite il Servizio OpenAI di Azure, sono molto promettenti, ma comportano sfide legate all'intelligenza artificiale responsabile. Se non vengono progettati con cura, i sistemi basati su questi modelli possono perpetuare i pregiudizi sociali esistenti, promuovere la disinformazione, creare contenuti manipolativi o portare a una lunga serie di altri impatti negativi. Per affrontare questi rischi e ottimizzare al contempo i vantaggi per gli utenti, è necessario adottare un approccio iterativo in quattro fasi: identificazione, misurazione, mitigazione e utilizzo.

La fase di misurazione offre informazioni cruciali per orientare lo sviluppo verso la qualità e la sicurezza. Da un lato, questa fase include la valutazione delle prestazioni e della qualità. Dall'altro, per quanto riguarda i rischi e la sicurezza, comprende una valutazione della predisposizione di un sistema di intelligenza artificiale in relazione a diversi rischi (ognuno dei quali può avere diversi livelli di gravità). In entrambi i casi, questa misurazione si ottiene stabilendo metriche chiare, creando set di test e completando test iterativi e sistematici. Questa fase consente ai professionisti di ottenere indicazioni utili per eseguire passaggi di mitigazione mirati, come la progettazione di richieste e l'applicazione di filtri per i contenuti. Una volta applicate le mitigazioni, è possibile ripetere le valutazioni per testarne l'efficacia.

Studio AI della piattaforma Azure offre agli esperti strumenti per la valutazione manuale e automatizzata che aiutano durante la fase di misurazione. È consigliabile iniziare con la valutazione manuale e poi passare a quella automatizzata. La valutazione manuale, ovvero la revisione manuale degli output generati dall'applicazione, è utile per monitorare i progressi su un piccolo set di problemi prioritari. Quando si mitigano rischi specifici, è spesso più produttivo continuare a controllare manualmente lo stato di avanzamento su un piccolo set di dati fino a quando l'evidenza dei rischi non viene più osservata, per poi passare alla valutazione automatizzata. Studio AI della piattaforma Azure supporta un'esperienza di valutazione manuale per il controllo a campione di set di dati di piccole dimensioni.

La valutazione automatizzata è utile per misurare la qualità e la sicurezza su larga scala con una maggiore copertura per fornire risultati più completi. Gli strumenti di valutazione automatizzata consentono anche di eseguire continue valutazioni periodiche per monitorare eventuali regressioni man mano che il sistema, l'utilizzo e le mitigazioni si evolvono. Sono supportati due metodi principali per la valutazione automatizzata delle applicazioni di IA generativa: le valutazioni tradizionali dell'apprendimento automatico e la valutazione basata sull'intelligenza artificiale.

Misurazioni di apprendimento automatico tradizionali

Nel contesto dell'IA generativa, le valutazioni tradizionali dell'apprendimento automatico (che producono metriche di apprendimento automatico tradizionali) sono utili quando si vuole quantificare l'accuratezza degli output generati rispetto alle risposte previste. Le metriche tradizionali sono utili quando si ha accesso alla verità di base e alle risposte previste.

  • Con "verità di base" si intendono i dati ritenuti veritieri e che quindi possono essere utilizzati come base di riferimento per i confronti.
  • Le "risposte previste" sono invece i risultati che si ritiene debbano verificarsi in base ai dati della verità di base. Ad esempio, nelle attività come la classificazione o la risposta a domande in forma breve, in cui in genere è presente una risposta corretta o prevista, si possono usare i punteggi F1 o metriche tradizionali simili per misurare il grado di precisione e di memoria degli output generati rispetto alle risposte previste.

Le metriche tradizionali sono utili anche quando si vuole comprendere il livello di regressione degli output generati, ovvero il livello di deviazione dalle risposte previste. Forniscono una misura quantitativa dell'errore o della deviazione, consentendo di tenere traccia delle prestazioni del sistema nel tempo o di confrontare le prestazioni di sistemi diversi. Queste metriche, tuttavia, potrebbero essere meno adatte per le attività che implicano creatività, ambiguità o più soluzioni corrette, poiché in genere trattano qualsiasi deviazione da una risposta prevista come un errore.

Valutazioni basate sull'IA

È possibile usare i modelli linguistici di grandi dimensioni (LLM), ad esempio GPT-4, per valutare l'output dei sistemi linguistici di intelligenza artificiale generativa. Questo risultato si ottiene indicando a un modello linguistico di grandi dimensioni di annotare alcuni aspetti dell'output generato dall'IA. Ad esempio, si può fornire a GPT-4 una scala di gravità della pertinenza (per esempio fornendo criteri per l'annotazione della pertinenza su una scala da 1 a 5) e poi chiedere a GPT-4 di annotare la pertinenza della risposta di un sistema di intelligenza artificiale a una determinata domanda.

Le valutazioni basate sull'intelligenza artificiale possono essere utili negli scenari in cui la verità di base e le risposte previste non sono disponibili. In molti scenari di intelligenza artificiale generativa, come per le risposte a domande aperte o la scrittura creativa, non esiste una sola risposta corretta, perciò è difficile stabilire la verità di base o le risposte previste necessarie per le metriche tradizionali.

In questi casi, le valutazioni basate sull'IA possono aiutare a misurare concetti importanti come la qualità e la sicurezza degli output generati. Qui la qualità si riferisce ad attributi di prestazione e qualità, come la pertinenza, la coerenza, la scorrevolezza e l'attendibilità. La sicurezza si riferisce invece ad attributi di rischio e sicurezza, ad esempio la presenza di contenuti dannosi (rischi legati al contenuto).

Per ognuno di questi attributi, è necessaria un'attenta concettualizzazione e sperimentazione per creare le istruzioni e la scala di gravità per il modello LLM. In alcuni casi, questi attributi fanno riferimento a concetti socio-tecnici complessi che persone diverse potrebbero considerare in modo diverso. È quindi fondamentale che le istruzioni di annotazione del modello LLM vengano create in modo tale da rappresentare una definizione concreta e condivisa dell'attributo. È altrettanto fondamentale assicurarsi che il modello linguistico di grandi dimensioni applichi poi le istruzioni in modo coerente a quello degli annotatori umani esperti.

Indicando a un modello LLM di annotare questi attributi, è possibile creare una metrica delle prestazioni di un'applicazione di intelligenza artificiale generativa anche quando non esiste una sola risposta corretta. Le valutazioni basate sull'IA offrono un modo flessibile e sfumato di valutare le applicazioni di intelligenza artificiale generativa, in particolare nelle attività che implicano creatività, ambiguità o più soluzioni corrette. Tuttavia, l'affidabilità e la validità di queste valutazioni dipendono dalla qualità del modello LLM e dalle istruzioni a esso fornite.

Metriche delle prestazioni e della qualità basate sull'IA

Per eseguire valutazioni di qualità e prestazioni basate sull'intelligenza artificiale, è possibile sfruttare un modello LLM per due funzioni separate. Prima di tutto, è necessario creare un set di dati di test. Questo set può essere creato manualmente, scegliendo le richieste e acquisendo le risposte fornite dal sistema di intelligenza artificiale; in alternativa, lo si può creare in modo sintetico simulando interazioni tra il sistema di intelligenza artificiale e un modello LLM. (Nel diagramma seguente, quest'ultima procedura è indicata come Generatore di set di dati basato sull'intelligenza artificiale). Viene quindi usato un modello LLM anche per annotare gli output del sistema di intelligenza artificiale nel set di test. Infine, le annotazioni vengono aggregate in metriche delle prestazioni e della qualità e poi registrate nel progetto di Studio AI, per poter essere visualizzate e analizzate.

Diagramma della valutazione della qualità delle applicazioni di IA generativa in Studio AI.

Nota

I modelli attualmente supportati per le valutazioni basate sull'intelligenza artificiale sono GPT-4 e GPT-3. Per utilizzare questi modelli per le valutazioni, è necessario stabilire connessioni valide. Si consiglia vivamente l'uso di GPT-4, poiché presenta notevoli miglioramenti nella comprensione del contesto e nella conformità alle istruzioni.

Metriche di rischio e sicurezza basate sull'IA

Le valutazioni della qualità e delle prestazioni basate sull'IA possono essere impiegate per creare metriche di rischio e sicurezza basate sull'IA. Per creare queste metriche, le valutazioni della sicurezza di Studio AI della piattaforma Azure dispongono di un modello GPT-4 di Azure OpenAI ospitato in un servizio back-end, quindi orchestrano ognuno dei due passaggi dipendenti dal modello LLM:

  • Simulazione di interazioni antagoniste con il sistema di intelligenza artificiale generativa:

    Generare un set di dati di test di alta qualità con input e risposte, simulando scambi a turno singolo o multiplo guidati da richieste finalizzate a generare risposte dannose. 

  • Annotazione dei rischi relativi al contenuto o alla sicurezza nel set di dati di test:

    Annotare ogni interazione emersa dal set di dati di test con una gravità e una motivazione basate su una scala di gravità definita per ogni tipo di rischio relativo al contenuto e alla sicurezza.

Poiché i modelli GPT-4 disponibili fungono da generatori o annotatori di set di dati antagonisti, i loro filtri di sicurezza sono disattivati e i modelli sono ospitati in un servizio back-end. Anche le richieste usate per questi modelli LLM e i set di dati di richieste antagoniste mirate sono ospitati nel servizio. Considerata la natura sensibile dei contenuti generati e trasmessi dal modello linguistico di grandi dimensioni, i modelli e le risorse di dati non sono direttamente accessibili ai clienti di Studio AI della piattaforma Azure.

I set di dati di richieste antagoniste mirate sono stati sviluppati da ricercatori Microsoft, esperti di scienze applicate, linguistici ed esperti di sicurezza per introdurre gli utenti alla valutazione dei rischi relativi a contenuti e sicurezza nei sistemi di intelligenza artificiale generativa.

Se si dispone già di un set di dati di test con richieste di input e risposte del sistema di IA (ad esempio, i record del red-teaming), è possibile trasmettere direttamente tale set di dati affinché venga annotato dall'analizzatore di rischi legati ai contenuti. Le valutazioni della sicurezza consentono di aumentare e accelerare le attività manuali di red-teaming, permettendo ai red team di generare e automatizzare richieste antagoniste su larga scala. Tuttavia, le valutazioni basate sull'IA non sono progettate per sostituire la revisione umana né per fornire una copertura completa di tutti i possibili rischi.

Diagramma della valutazione della sicurezza dell'IA generativa in Studio AI.

Valutazione della vulnerabilità di jailbreak

A differenza dei rischi relativi ai contenuti, la vulnerabilità di jailbreak non può essere misurata in modo affidabile con l'annotazione diretta da parte di un modello LLM. Tuttavia, la vulnerabilità di jailbreak può essere misurata tramite il confronto di due set di dati di test paralleli: un set di dati di test antagonisti di base e lo stesso set di dati di test antagonisti con iniezioni di jailbreak nella prima fase. Ogni set di dati può essere annotato dall'analizzatore di rischi relativi ai contenuti basato sull'IA, producendo un tasso di difetto del rischio relativo ai contenuti per ognuno di essi. Quindi l'utente valuta la vulnerabilità di jailbreak confrontando i tassi di difetto e annotando i casi in cui il set di dati con jailbreak ha portato a difetti maggiori o più gravi. Ad esempio, se un'istanza di questi set di dati di test paralleli viene annotata come più grave per la versione con un'iniezione di jailbreak, tale istanza sarà considerata un difetto di jailbreak.

Per altre informazioni sui tipi di attività supportati e sulle metriche predefinite, vedere le metriche di valutazione e monitoraggio per l'intelligenza artificiale generativa.

Valutazione e monitoraggio delle applicazioni di intelligenza artificiale generativa

Studio AI della piattaforma Azure supporta diversi percorsi per gli sviluppatori di app di intelligenza artificiale generativa per valutare le applicazioni:

Diagramma del flusso di valutazione e monitoraggio con percorsi diversi per valutare le applicazioni di IA generativa.

  • Playground: nel primo percorso è possibile iniziare iniziando un'esperienza di "playground". In questo caso, è possibile selezionare i dati da usare per creare le basi del modello, scegliere il modello di base per l'applicazione e fornire istruzioni metaprompt per guidare il comportamento del modello. È quindi possibile valutare manualmente l'applicazione inserendo un set di dati e osservando le risposte dell'applicazione. Al termine dell'ispezione manuale, è possibile scegliere di usare la procedura guidata di valutazione per eseguire valutazioni più complete, tramite le metriche tradizionali o le valutazioni basate sull'intelligenza artificiale.

  • Flussi: la pagina Prompt flow di Studio AI della piattaforma Azure offre uno strumento di sviluppo dedicato personalizzato per lo semplificare l'intero ciclo di vita delle applicazioni di intelligenza artificiale basate sul modello linguistico di grandi dimensioni. Con questo percorso, è possibile creare flussi eseguibili che collegano il modello linguistico di grandi dimensioni, il prompt e gli strumenti Python tramite un grafo visualizzato. Questa funzionalità semplifica il debug, la condivisione e le iterazioni collaborative dei flussi. Inoltre, è possibile creare varianti di richiesta e valutarne le prestazioni tramite test su larga scala.
    Oltre allo strumento di sviluppo "Flussi", è anche possibile sviluppare applicazioni di intelligenza artificiale generativa usando un'esperienza SDK code-first. Indipendentemente dal percorso di sviluppo scelto, è possibile valutare i flussi creati tramite la procedura guidata di valutazione, accessibile dalla scheda "Flussi" o tramite l'esperienza SDK/interfaccia della riga di comando. Dalla scheda "Flussi" è anche possibile usare una procedura guidata di valutazione personalizzata e incorporare metriche personalizzate.

  • Valutazione diretta del set di dati: se è stato raccolto un set di dati contenente interazioni tra l'applicazione e gli utenti finali, è possibile inviare questi dati direttamente alla procedura guidata di valutazione all'interno della scheda "Valutazione". Questo processo consente la generazione di valutazioni automatiche basate sull'intelligenza artificiale e i risultati possono essere visualizzati nella stessa scheda. Questo approccio si concentra su un metodo di valutazione incentrato sui dati. In alternativa, è possibile valutare il set di dati di conversazione usando l'esperienza SDK/CLI e generare e visualizzare le valutazioni tramite Studio AI della piattaforma Azure.

Dopo aver valutato le applicazioni, i flussi o i dati da uno di questi canali, è possibile procedere alla distribuzione dell'applicazione di intelligenza artificiale generativa e monitorarne la qualità e la sicurezza in un ambiente di produzione durante le nuove interazioni con gli utenti.

Passaggi successivi