Crea salvaguardie per input e output

Le applicazioni di IA generativa spesso si basano sul filtro dei dati di input e di output, a volte denominati safeguards, per garantire un comportamento responsabile del modello. Le tecniche di filtro di input e output controllano i dati in entrata o in uscita dal modello.

Misure di protezione e classificatori di sicurezza pronti all'uso

Anche con l'ottimizzazione precedente per la sicurezza e un modello di prompt ben progettato, il modello può comunque restituire contenuti che causano danni involontari. Per migliorare ulteriormente questo aspetto, le categorie di classificazione dei contenuti possono aggiungere un ulteriore livello di protezione. Le categorie di classificazione dei contenuti possono essere applicate sia agli input che agli output.

I classificatori di input vengono in genere utilizzati per filtrare i contenuti non destinati a essere utilizzati nella tua applicazione e che potrebbero causare la violazione delle norme di sicurezza da parte del modello. I filtri di input spesso prendono di mira attacchi avversari che tentano di eludere i criteri relativi ai contenuti. I classificatori di output possono filtrare ulteriormente l'output del modello, individuando le generazioni indesiderate che potrebbero violare i criteri di sicurezza. È consigliabile includere categorie di classificazione che coprano tutte le norme relative ai contenuti.

Google ha sviluppato classificatori pronti all'uso per la sicurezza dei contenuti che possono utilizzare per filtrare gli input e gli output:

  • L'API Perspective è un'API senza costi che utilizza modelli di machine learning per valutare l'impatto percepito che un commento potrebbe avere su una conversazione. Fornisce punteggi che colgono la probabilità che un commento sia tossico, minaccioso, offensivo, fuori tema e così via.
  • Il servizio di moderazione dei testi è un'API Google Cloud disponibile al di sotto di un determinato limite di utilizzo e utilizza il machine learning per analizzare un documento in base a un elenco di attributi di sicurezza, inclusi vari argomenti e categorie potenzialmente dannosi che potrebbero essere considerati sensibili.

È importante valutare in che misura le categorie di classificazione standard soddisfano gli obiettivi delle norme e valutare qualitativamente i casi di errore. È importante anche tenere presente che un utilizzo eccessivo di filtri può anche causare danni involontari e ridurre l'utilità dell'applicazione. Ciò significa che è importante esaminare anche i casi in cui potrebbe verificarsi un utilizzo eccessivo di filtri. Per maggiori dettagli su questi metodi di valutazione, consulta Valutare la sicurezza di modello e sistema.

Creare classificatori di sicurezza personalizzati

Se il tuo criterio non è coperto da un'API pronta all'uso o se vuoi creare un classificatore personalizzato, le tecniche di ottimizzazione efficienti dei parametri come l'ottimizzazione dei prompt e LoRA forniscono un framework efficace. Con questi metodi, invece di perfezionare l'intero modello, puoi utilizzare una quantità limitata di dati per addestrare un piccolo insieme di parametri importanti del modello. In questo modo il modello può apprendere nuovi comportamenti, ad esempio come classificare i contenuti in base al nuovo caso d'uso sulla sicurezza, con dati di addestramento e potenza di calcolo relativamente ridotti. Questo approccio ti consente di sviluppare strumenti di sicurezza personalizzati per i tuoi utenti e le tue attività.

Per spiegare come funziona, questo codelab mostra il codice necessario per configurare un "classificatore agile". Il codelab mostra i passaggi per importare i dati, formattarli per l'LLM, addestrare i pesi LoRA e quindi valutare i risultati. Con Gemma è possibile creare questi classificatori potenti con poche righe di codice. Per una panoramica più dettagliata, il nostro articolo di ricerca "Towards Agile Text Classifiers for Everyone" mostra come utilizzare queste tecniche per addestrare una serie di attività di sicurezza al fine di ottenere prestazioni all'avanguardia con solo poche centinaia di esempi di addestramento.

In questo tutorial di esempio, puoi addestrare un classificatore per l'incitamento all'odio utilizzando il set di dati ETHOS, un set di dati disponibile pubblicamente per il rilevamento dell'incitamento all'odio, creato a partire dai commenti di YouTube e Reddit. Quando addestrato sul modello Gemma più piccolo, solo su 200 esempi (poco meno di 1⁄4 del set di dati) raggiunge un punteggio F1 di 0,80 e ROC-AUC di 0,78. Questo risultato si confronta in modo positivo con i risultati all'avanguardia riportati in questa classifica. Se addestrato sulla base di 800 esempi, come gli altri classificatori nella classifica, il classificatore agile basato su Gemma ottiene un punteggio F1 di 83,74 e un punteggio RoC-AUC di 88,17. Puoi utilizzare questo classificatore immediatamente o adattarlo tramite il tutorial Gemma Agile Classifier.

Tutorial sul classificatore Gemma Agile

Avvia codelab Avvia Google Colab

Best practice per la configurazione delle misure di salvaguardia

Ti consigliamo vivamente di utilizzare classificatori di sicurezza. Tuttavia, i sistemi di protezione possono far sì che il modello generativo non produca nulla per l'utente, se i contenuti sono bloccati. Le applicazioni devono essere progettate per gestire questo caso. I chatbot più popolari gestiscono questo problema fornendo risposte predefinite ("Mi dispiace, sono un modello linguistico, non posso aiutarti con questa richiesta").

Trova il giusto equilibrio tra utilità e innocuità: quando utilizzi classificatori di sicurezza, è importante capire che commetteranno errori, inclusi i falsi positivi (ad esempio affermare che un output non è sicuro quando non lo è) e i falsi negativi (non etichettare un output come non sicuro quando lo è). Valutando i classificatori con metriche come F1, Precisione, Richiamo e AUC-ROC, puoi determinare in che modo mettere a confronto errori di falsi positivi e falsi negativi. Se modifichi la soglia dei classificatori, puoi trovare un equilibrio ideale che eviti di filtrare gli output in modo eccessivo, garantendo al contempo la sicurezza appropriata.

Verifica la presenza di bias non intenzionali nei classificatori: i classificatori di sicurezza, come qualsiasi altro modello di ML, possono propagare bias non intenzionali, ad esempio gli stereotipi socio-culturali. Le applicazioni devono essere adeguatamente valutate per rilevare eventuali comportamenti problematici. In particolare, i classificatori di sicurezza dei contenuti possono over-attivare i contenuti correlati a identità che sono più spesso la destinazione di un linguaggio offensivo online. Ad esempio, quando l'API Perspective è stata lanciata per la prima volta, il modello ha restituito punteggi di tossicità più elevati nei commenti che facevano riferimento a determinati gruppi di identità (blog). Questo comportamento provocante può verificarsi perché i commenti che menzionano termini correlati all'identità per gruppi più frequentemente scelti come target (ad es. parole come "nero", "musulmano", "femminista", "donna", "gay" e così via) sono più spesso di natura tossica. Quando i set di dati utilizzati per addestrare i classificatori presentano squilibri significativi per i commenti contenenti determinate parole, i classificatori possono sovrageneralizzare e considerare tutti i commenti contenenti queste parole come probabilmente non sicuri. Leggi in che modo il team di Jigsaw ha attenuato questi pregiudizi involontari.

Risorse per sviluppatori