Il test inverso è un metodo per valutare sistematicamente un modello di ML con l'intento di capire come si comporta quando viene fornito un input dannoso o involontario. Questa guida descrive un esempio di flusso di lavoro per testare il processo di adversaries per l'AI generativa.
Che cos'è il test in contraddizione?
Il test è un aspetto critico per la creazione di applicazioni AI robuste e sicure. I test di contrasto riguardano il tentativo proattivo di "rompere" un'applicazione fornendole i dati che hanno maggiori probabilità di generare output problematici. È probabile che le query avversari provochino errori non sicuri per un modello (ad esempio violazioni delle norme di sicurezza) e potrebbero causare errori facili da identificare per le persone, ma difficili da riconoscere per le macchine.
Le query possono essere "in contraddizione" in modi diversi. Le query in modo esplicito in contrasto con l'intento possono contenere un linguaggio che viola le norme o esprimere punti di vista che violano le norme oppure possono essere oggetto di sonda o tentativo di "truffare" il modello affinché indichi qualcosa di non sicuro, dannoso o offensivo. Le query involontariamente implicite possono sembrare innocue, ma possono contenere argomenti sensibili che sono contenziosi, culturalmente sensibili o potenzialmente dannosi. tra cui dati demografici, salute, finanza o religione.
I test relativi alle contraddizioni possono aiutare i team a migliorare i modelli e i prodotti esponendo gli errori correnti per guidare i percorsi di mitigazione, come il perfezionamento, le salvaguardie dei modelli o i filtri. Inoltre, può aiutarti a prendere decisioni di lancio del prodotto misurando i rischi che possono essere imiti, come la probabilità che il modello con contenuti che violano le norme sulla produzione.
Come best practice emergente per l'AI responsabile, questa guida fornisce un flusso di lavoro di esempio per i test adversaries per modelli e sistemi generativi.
Flusso di lavoro di esempio per il test del parametro dell'adversaria
Il test in modalità conversazionale segue un flusso di lavoro simile alla valutazione del modello standard.
Identifica e definisci gli input
Il primo passo nel flusso di lavoro di verifica delle contraddizioni è determinare gli input per capire il comportamento di un sistema quando viene attaccato intenzionalmente e sistematicamente. Input ponderati possono influire direttamente sull'efficacia del flusso di lavoro di test. I seguenti input possono aiutare a definire l'ambito e gli obiettivi di un test relativo agli utenti malintenzionati:
- Norme sui prodotti e modalità di errore
- Casi d'uso
- Requisiti di diversità
Norme sui prodotti e modalità di errore
I prodotti di AI generativi devono definire criteri di sicurezza che descrivono il comportamento del prodotto e output del modello non consentiti (ossia, sono considerati "non sicuri"). Il criterio deve elencare le modalità di errore che possono essere considerate violazioni dei criteri. Questo elenco di modalità di errore dovrebbe essere utilizzato come base per il test della pubblicità alternativa. Alcuni esempi di modalità di errore, ad esempio contenuti che includono linguaggio volgare o consulenze finanziarie, legali o mediche,
Casi d'uso
Un altro importante input ai test adversariali è il caso o i casi d'uso che il modello generativo o il prodotto cerca di pubblicare, in modo che i dati di test contengano una rappresentazione dei modi in cui gli utenti interagiranno con il prodotto nel mondo reale. Ogni prodotto generativo ha casi d'uso leggermente diversi, ma alcuni includono casi comuni: Fact check, riepilogo e generazione del codice per i modelli linguistici oppure generazione di immagini di sfondi per regione o rilievo, arte o stile di abbigliamento.
Requisiti di diversità
I set di dati di test adversary devono essere sufficientemente diversificati e rappresentativi nel rispetto di tutti i casi d'uso e di tutte le modalità di errore di destinazione. Misurare la diversità dei set di dati di test aiuta a identificare potenziali bias e garantisce che i modelli vengano testati in modo approfondito, tenendo conto di una popolazione di utenti diversificata.
I tre modi di pensare alla diversità sono:
- Diversità mentale: assicurati che le query abbiano una gamma di lunghezze diverse (ad es. numero di parole), che utilizzino un intervallo ampio di vocabolario, che non contengano duplicati e che rappresentino diverse formule di query (ad es. domande, domande dirette e indirette).
- Diversificazione semantica: assicura che le query coprano una vasta gamma di argomenti per norma (ad esempio, il diabete per la salute), comprese caratteristiche sensibili e basate sull'identità (ad esempio, genere, etnia), in diversi casi d'uso e contesti globali.
- Varietà di norme e casi d'uso: assicurati che le query coprano tutte le violazioni delle norme (ad esempio, incitamento all'odio) e i casi d'uso (ad esempio, i consigli degli esperti).
Trovare o creare set di dati di test
I set di dati di test per il test inverso sono realizzati in modo diverso rispetto ai set di test di valutazione dei modelli standard. Nelle valutazioni del modello standard, i set di dati di test sono generalmente progettati per riflettere con precisione la distribuzione dei dati che il modello incontrerà nel prodotto. Per i test adversary, i dati di test vengono selezionati per generare output problematici dal modello, dimostrando il comportamento del modello su esempi di distribuzione esterna e casi limite che sono pertinenti ai criteri di sicurezza. Un set di test adversary di alta qualità dovrebbe coprire tutte le dimensioni dei criteri di sicurezza e massimizzare la copertura dei casi d'uso che il modello è destinato a supportare. Deve essere diversificato in termini diversi (ad es. che includono query di varie lunghezze e lingue) e semanticamente (ad es. che coprono diversi argomenti e dati demografici).
Esamina i set di dati di test esistenti per verificare la copertura dei criteri di sicurezza, le modalità di errore e i casi d'uso per i modelli di generazione di testo e di testo in immagine. I team possono utilizzare i set di dati esistenti per stabilire una base di riferimento delle prestazioni dei propri prodotti e quindi fare analisi più approfondite sulle specifiche modalità di errore con cui i prodotti hanno difficoltà.
Se i set di dati di test esistenti non sono sufficienti, i team possono generare nuovi dati per scegliere come target modalità di errore e casi d'uso specifici. Un modo per creare nuovi set di dati è iniziare creando manualmente un piccolo set di dati di query (ovvero decine di esempi per categoria) per poi espandere questo set di dati "seed" utilizzando strumenti di sintesi dei dati.
I set di dati di origine devono contenere esempi il più possibile simili a ciò che il sistema incontrerebbe in produzione e creati con l'obiettivo di causare una violazione dei criteri. È probabile che il linguaggio altamente tossico venga rilevato dalle funzionalità di sicurezza, quindi considera la frase creativa e gli input implicitamente contrari.
Puoi utilizzare riferimenti diretti o indiretti a attributi sensibili (ad esempio età, genere, gruppo etnico, religione) nel set di dati di test. Tieni presente che l'utilizzo di questi termini può variare a seconda della cultura. Variare il tono, la struttura della frase, la lunghezza della parola scelta e il significato. Esempi di più etichette (come incitamento all'odio o oscenità) possono creare rumore e duplicazione e potrebbero non essere gestite correttamente dai sistemi di valutazione o addestramento.
I set di test in contraddizione devono essere analizzati per comprendere la loro composizione in termini di diversità sessica e semantica, copertura tra violazioni delle norme e casi d'uso e qualità complessiva in termini di unicità, avversarità e rumore.
Genera output del modello
Il passaggio successivo consiste nel generare output del modello basati sul set di dati di test. I risultati spiegheranno ai team di prodotto come potrebbero essere i loro modelli esposti a utenti malintenzionati o a input inavvertitamente dannosi. L'identificazione di questi comportamenti e modelli di risposta del sistema può fornire misurazioni di riferimento che possono essere imitate nello sviluppo di modelli futuri.
Annotazione output
Una volta generati gli output dei test in contraddizione, annotali per categorizzarli in modalità di errore e/o danneggiate. Queste etichette possono contribuire a fornire indicatori di sicurezza per testo e immagini. Inoltre, gli indicatori possono aiutare a misurare e attenuare i danni tra modelli e prodotti.
I classificatori di sicurezza possono essere utilizzati per annotare automaticamente gli output (o gli input) del modello per violazioni dei criteri. L'accuratezza potrebbe essere bassa per gli indicatori che tentano di rilevare costrutti non rigorosamente definiti, come l'incitamento all'odio. Per questi indicatori, è fondamentale utilizzare valutatori umani per controllare e correggere le etichette generate dal classificatore i cui punteggi sono "incerti".
Oltre all'annotazione automatica, puoi anche utilizzare revisori per annotare un campione dei tuoi dati. È importante notare che annotare gli output del modello nell'ambito di un test relativo al contraddizione comporta necessariamente l'esame di testo o immagini potenzialmente dannosi e simili, come per la moderazione manuale dei contenuti. Inoltre, i revisori possono annotare gli stessi contenuti in modo diverso in base al background personale, alle conoscenze o alle credenze personali. Può essere utile sviluppare linee guida o modelli per i valutatori, tenendo presente che la diversità del pool di revisori potrebbe influire sui risultati delle annotazioni.
Segnala e attenua
Il passaggio finale consiste nel riepilogare i risultati di un report in un report. Calcola le metriche e i risultati dei report per fornire tassi di sicurezza, visualizzazioni ed esempi di errori problematici. Questi risultati possono guidare i miglioramenti del modello e informare le salvaguardie del modello, come filtri o liste bloccate. I report sono importanti anche per comunicare con gli stakeholder e i responsabili delle decisioni.
Altre risorse
Il team AI di Google Red: gli hacker etici che rendono più sicura l'AI
Modelli di linguaggio del team rosso con modelli di lingua
Test di correttezza del prodotto per gli sviluppatori di machine learning (video):