Analizza il comportamento del modello con strumenti per l'interpretabilità

Sebbene un approccio responsabile all'IA debba includere norme sulla sicurezza, tecniche per migliorare la sicurezza del modello, come creare artefatti di trasparenza, il tuo approccio per essere responsabile con l'IA generativa non dovrebbe essere semplicemente quello di seguire un elenco di controllo. I prodotti di IA generativa sono relativamente nuovi e i comportamenti di un'applicazione possono variare di più rispetto alle precedenti forme di software. Per questo motivo, dovresti analizzare i modelli di machine learning utilizzati, esaminare esempi del comportamento del modello e analizzare le sorprese.

Oggi i prompt sono non solo arte che scienza, ma esistono strumenti che possono aiutarti a migliorare empiricamente i prompt per i modelli linguistici di grandi dimensioni (LLM), come lo Strumento di interpretabilità dell'apprendimento (LIT). LIT è una piattaforma open source sviluppata per visualizzare, comprendere e eseguire il debug di modelli IA/ML. Di seguito è riportato un esempio di come LIT può essere utilizzato per esplorare il comportamento di Gemma, prevedere potenziali problemi e migliorare la sicurezza.

Puoi installare LIT sulla tua macchina locale, in Colab o su Google Cloud. Per iniziare a utilizzare LIT, importa il modello e un set di dati associato (ad esempio, un set di dati di valutazione della sicurezza) in Colab. LIT genererà un set di output per il set di dati utilizzando il modello e ti fornirà un'interfaccia utente per esplorare il comportamento del modello.

Analizzare i modelli Gemma con LIT

Avvia codelab Avvia Google Colab

Animazione dell'interfaccia utente dello strumento di interpretabilità dell'apprendimento (LIT)

Questa immagine mostra l'interfaccia utente di LIT. L'editor Datapoint in alto consente agli utenti di modificare i prompt. In basso, il modulo LM Salience consente di verificare i risultati della rilevanza.

Identificare gli errori nei prompt complessi

Due delle tecniche di prompt più importanti per prototipi e applicazioni basati su LLM di alta qualità sono i Prompt few-shot (inclusi esempi del comportamento desiderato nel prompt) e la chain of Thought, che include una forma di spiegazione o ragionamento prima dell'output finale dell'LLM. Tuttavia, creare un prompt efficace è spesso ancora impegnativo.

Prendiamo come esempio un esempio di come aiutare una persona a valutare se gli piace un piatto in base ai propri gusti. Un prototipo iniziale di modello di prompt chain-of-thought potrebbe avere il seguente aspetto:

Analyze a menu item in a restaurant.


## For example:


Taste-likes: I've a sweet-tooth
Taste-dislikes: Don't like onions or garlic
Suggestion: Onion soup
Analysis: it has cooked onions in it, which you don't like.
Recommendation: You have to try it.


Taste-likes: I've a sweet-tooth
Taste-dislikes: Don't like onions or garlic
Suggestion: Baguette maison au levain
Analysis: Home-made leaven bread in France is usually great
Recommendation: Likely good.


Taste-likes: I've a sweet-tooth
Taste-dislikes: Don't like onions or garlic
Suggestion: Macaron in France
Analysis: Sweet with many kinds of flavours
Recommendation: You have to try it.


## Now analyse one more example:


Taste-likes: {{users-food-like-preferences}}
Taste-dislikes: {{users-food-dislike-preferences}}
Suggestion: {{menu-item-to-analyse}}
Analysis:

Hai riscontrato problemi con questa richiesta? LIT ti aiuterà a esaminare il prompt con il modulo LM Salience.

Utilizza l'importanza della sequenza per il debug

Il valore di salienza viene calcolato al livello più basso possibile (ad esempio per ogni token di input), ma il LIT può aggregare l'salienza del token in intervalli più grandi e interpretabili, ad esempio righe, frasi o parole. Scopri di più sulla rilevanza e su come utilizzarla per identificare i bias non intenzionali nel nostro Approfondimento esplorativo interattivo.

Iniziamo dando al prompt un nuovo input di esempio per le variabili del modello prompt:

{{users-food-like-preferences}} = Cheese
{{users-food-dislike-preferences}} = Can't eat eggs
{{menu-item-to-analyse}} = Quiche Lorraine

Una volta fatto ciò, si può osservare un sorprendente completamento del modello:

Taste-likes: Cheese
Taste-dislikes: Can't eat eggs
Suggestion: Quiche Lorraine
Analysis: A savoury tart with cheese and eggs
Recommendation: You might not like it, but it's worth trying.

Perché il modello ti suggerisce di mangiare qualcosa che hai detto chiaramente di non poter mangiare?

La rilevanza della sequenza può aiutare a evidenziare il problema principale, che è presente nei nostri esempi di pochi passaggi. Nel primo esempio, il ragionamento Chain-of-Thought nella sezione di analisi non corrisponde al suggerimento finale. Un'analisi del risultato "Ci sono cipolle cotte, cosa che non ti piace" è abbinata al consiglio "Devi provare".

Interfaccia utente LIT che mostra l'analisi della rilevanza della sequenza di prompt

Questo evidenzia un errore nel prompt iniziale: è stata creata una copia accidentale del consiglio (You have to try it!) per il primo esempio di few-shot. Puoi vedere l'intensità nel prompt a partire dall'intensità dell'evidenziazione viola. L'importanza maggiore si trova sul primo esempio di few-shot e in particolare nelle righe corrispondenti a Taste-likes, Analysis e Recommendation. Ciò indica che il modello utilizza maggiormente queste righe per formulare il consiglio finale errato.

Questo esempio evidenzia anche che la prototipazione anticipata può rivelare rischi a cui potresti non pensare in anticipo e la natura soggetta a errori dei modelli linguistici significa che devi progettare in modo proattivo contro gli errori. Questo argomento è discusso più in dettaglio nella nostra guida Persone + IA per la progettazione con l'IA.

Testare le ipotesi per migliorare il comportamento del modello

LIT consente di testare le modifiche apportate ai prompt all'interno della stessa interfaccia. In questa istanza, prova ad aggiungere una costituzione per migliorare il comportamento del modello. Le costituzioni fanno riferimento a prompt di progettazione con principi che guidano la generazione del modello. I metodi recenti consentono persino la derivazione interattiva dei principi costituzionali.

Usiamo questa idea per contribuire a migliorare ulteriormente il prompt. Utilizza l'editor dei punti dati di LIT per aggiungere una sezione con i principi per la generazione nella parte superiore del prompt, che ora inizia come segue:

Analyze a menu item in a restaurant.

* The analysis should be brief and to the point.
* It should provide a clear statement of suitability for someone with
  specific dietary restrictions.
* It should reflect the person's tastes

## For example:

Taste-likes: I've a sweet-tooth
Taste-dislikes: Don't like onions or garlic
Suggestion: Onion soup
Analysis: it has cooked onions in it, which you don't like.
Recommendation: Avoid.

Con questo aggiornamento, l'esempio può essere eseguito nuovamente e osservare un output molto diverso:

Taste-likes: Cheese
Taste-dislikes: Can't eat eggs
Suggestion: Quiche Lorraine
Analysis: This dish contains eggs, which you can't eat.
Recommendation: Not suitable for you.

L'importanza del prompt può essere quindi riesaminata per capire meglio il motivo per cui sta avvenendo questo cambiamento:

Interfaccia utente LIT che mostra l'analisi della rilevanza del prompt

In questo esempio, la categoria "Non adatto a te" è influenzato dal principio "Fornisci una chiara dichiarazione di idoneità per qualcuno con restrizioni alimentari specificate" e dalla dichiarazione di analisi esplicativa che indica che il piatto contiene uova (la cosiddetta catena di pensieri).

Includi team non tecnici nelle indagini e nell'esplorazione dei modelli

L'interpretabilità è intesa come un lavoro di squadra, che abbraccia competenze normative, legali e altro ancora. Come hai visto, il mezzo visivo e la capacità interattiva di LIT di esaminare l'importanza ed esplorare esempi possono aiutare diversi stakeholder a condividere e comunicare i risultati. Questo ti consente di acquisire una maggiore diversità dei membri del team per l'esplorazione, il probe e il debug dei modelli. Mostrarli a questi metodi tecnici può migliorare la loro comprensione di come funzionano i modelli. Inoltre, un set più diversificato di competenze nei test preliminari dei modelli può aiutare a scoprire risultati indesiderati che possono essere migliorati.

Riepilogo

Quando trovi esempi problematici nelle valutazioni dei modelli, inseriscili in LiT per il debug. Inizia analizzando l'unità di contenuti più grande e sensibile che ti viene in mente e che è logicamente correlata all'attività di definizione del modello, utilizza le visualizzazioni per capire in che punto il modello partecipa correttamente o meno ai contenuti del prompt, quindi visualizza in dettaglio unità più piccole per descrivere ulteriormente il comportamento errato riscontrato e identificare possibili soluzioni.

Risorse per gli sviluppatori