Prepara il giudice per la produzione.
Il giudice di base che hai creato in Configurare un modello di giudice di base, parte 1 e parte 2, si basava su dati autoetichettati. È un ottimo modo per stabilire una base di riferimento per i test. Tuttavia, per ottenere una qualità di livello di produzione, hai bisogno di un giudice che pensi come uno specialista del dominio e di metriche statistiche solide per poterti fidare su larga scala. Questo è ciò che tratteremo qui.
Creare un set di dati di allineamento con esperti
L'utilizzo di esperti umani per l'etichettatura del set di dati di allineamento è fondamentale per creare un giudice LLM affidabile. Dai la priorità alla qualità rispetto alla quantità. Trenta etichette di alta qualità di un esperto di dominio sono infinitamente migliori di 300 etichette di non esperti.
Trovare i labeler
Utilizza designer interni ed esperti di brand per l'allineamento del brand. Per la toxicity, puoi affidarti agli stessi labeler o utilizzare il crowdsourcing delle etichette dal tuo team in base a una griglia centrale per assicurarti che i labeler condividano gli stessi criteri di valutazione.
Quanti labeler esperti?
- Un esperto: è veloce ed è un buon modo per iniziare, ma il giudice erediterà i pregiudizi della persona.
- Due esperti: può essere un ottimo punto di riferimento per il budget. Non puoi risolvere i pareggi, ma puoi individuare i disaccordi.
- Tre o più esperti: è lo standard per eccellenza. L'utilizzo di un numero dispari ti offre un tie-breaker automatico per le valutazioni binarie
PASSeFAIL, come nel nostro esempio, perché puoi scegliere la valutazione della maggioranza.
Per ThemeBuilder, supponiamo che tu abbia la fortuna di avere tre brand designer interni che accettano di essere i nostri labeler esperti.
Gli esperti formulano una griglia
Prima dell'etichettatura, chiedi agli esperti di definire una griglia rigorosa dei criteri specifici per un PASS. In questo modo, gli esperti possono essere coerenti nel loro giudizio, sia individualmente che collettivamente.
Ad esempio:
Criteria:
• Psychological association: Do the colors evoke the emotions associated with the desired tone?
• Harmony: Do the colors work together to create the right atmosphere?
• Appropriateness: Is the palette suitable for the company's industry?
Gli esperti etichettano i dati
Chiedi agli esperti di esaminare da 30 a 50 campioni, assegnare un'etichetta PASS o FAIL in base alla griglia e scrivere una rationale che spieghi il loro giudizio. La motivazione è fondamentale perché la utilizzerai per risolvere i problemi e correggere il disallineamento tra il nostro giudice e i nostri esperti.
Suggerimenti per un'etichettatura efficiente
L'etichettatura manuale è costosa. Prova queste tecniche per ottimizzare l'efficienza dei tuoi esperti:
- Verifica: utilizza un LLM per generare etichette e motivazioni iniziali, quindi chiedi agli esperti di eseguirne il controllo e la correzione. È più veloce verificare che creare un giudizio da zero.
- Etichettatura selettiva: chiedi a un secondo esperto di controllare un piccolo sottoinsieme del lavoro del primo esperto. Se non sono d'accordo, interrompi e correggi la griglia prima di etichettare altro.
- LLM come secondo parere: chiedi a un esperto e a un giudice LLM di etichettare gli stessi elementi. Se il livello di accordo è basso, significa che l'LLM interpreta la griglia in modo diverso. Modifica la griglia finché non si allineano.
- Controllo intra-valutatore: se hai un solo esperto, chiedigli di etichettare nuovamente alla cieca il 10% dei dati a caso una settimana dopo. Se non è d'accordo con se stesso, la griglia non è stabile.
Di seguito è riportato uno snippet JSON di una voce del set di dati etichettata da un esperto, inclusa l'etichetta PASS e FAIL dell'esperto e la relativa motivazione dettagliata:
{
"id": "sample-001",
"userInput": {
"companyName": "Kinetica",
// Company description, audience and tone
},
"appOutput": {
"motto": "Unlock your kinetic potential.",
// ... Color palette
},
"humanEvaluation": {
"mottoBrandFit": {
"label": "PASS",
"rationale": "This motto powerfully aligns the brand's technical
engineering with the ambitious goals of its elite athletic audience.
Relevance: Leverages 'kinetic' to expertly link the brand to physical
energy. Audience appeal: 'Unlock your potential' resonates perfectly
with competitive runners. Tone consistency: Nails the required
aggressive, high-performance marks."
},
// ... Human evals for colorBrandFit and mottoToxicity:
}
}
Raggiungere e misurare l'accordo degli esperti
La griglia funge da istruzioni per il modello, quindi è importante dedicarci del tempo per perfezionarla. Se un designer definisce "giocoso" come "linguaggio creativo" mentre un altro lo interpreta come "colori vivaci", anche il tuo LLM sarà in conflitto. Devi rafforzare la griglia per eliminare queste ambiguità prima di fornirla al giudice. Noto come affidabilità inter-labeler o accordo inter-valutatore, un elevato livello di accordo garantisce che il modello di giudice fornisca etichette affidabili e di alta qualità.
I disaccordi umani sono indicatori utili che ti indicano dove la griglia di punteggio richiede più lavoro. Modificala finché gli esperti non sono d'accordo su quali sono i casi PASS e FAIL.
Il giudice non può essere più allineato degli esperti che lo hanno creato.
Accordo di base
Un modo per misurare l'accordo tra persone, che abbiamo utilizzato anche per il nostro punteggio di accordo del giudice umano nel nostro giudice di base, è una percentuale di frequenza con cui i nostri esperti sono d'accordo.
// total = all test cases
// aligned = test cases where human1Eval.label === human2Eval.label
// (for example PASS and PASS)
const alignment = (aligned / total) * 100;
Accordo oltre la fortuna: Kappa
L'accordo percentuale di base è semplice, ma può essere fuorviante. Immagina un set di dati composto per metà da PASS e per metà da FAIL. Se due esperti lanciano una moneta, saranno comunque d'accordo il 50% delle volte per pura fortuna. Questo è chiamato soglia di fortuna.
Per calcolare l'accordo in modo accurato, utilizza invece metriche statistiche che misurano l'affidabilità oltre la pura casualità:
- Kappa di Cohen per due labeler.
Kappa di Fleiss per tre o più labeler.
Test: punta a un punteggio Kappa di almeno
0.61, che è lo standard per un accordo sostanziale. Un punteggio di0non è migliore di un'ipotesi casuale, mentre1.0indica un accordo perfetto.Correzione: se il punteggio Kappa è inferiore a
0.61, la griglia è troppo vaga. Raggruppa i campioni in cui gli esperti non sono d'accordo, esamina le loro motivazioni, aggiorna la griglia per coprire questi casi limite specifici e ripeti l'operazione finché non raggiungi0.61. Procedi al passaggio successivo solo quando gli esperti sono allineati.
| Punteggio Kappa | Azione |
|---|---|
Meno di 0.60: scadente |
Modifica e scopri perché gli esperti vedono le cose in modo diverso. La griglia potrebbe essere troppo vaga, quindi perfezionala. |
0.61–0.80: buono |
La base di riferimento è affidabile. Procedi con questa griglia. |
0.81-1.00 Quasi perfetto |
Quasi troppo bello per essere vero. Verifica se l'attività è troppo semplice o se gli esperti la semplificano eccessivamente. |
Comprimere le etichette degli esperti
Se hai utilizzato tre o più esperti umani per etichettare i dati, comprimi i loro voti in una singola valutazione della maggioranza per ogni campione. Questo elenco diventa il tuo dato empirico reale.
Configurare il giudice
Come hai fatto per il giudice di base, devi
configurare i parametri del modello
e scrivere il prompt. Imposta le istruzioni di sistema su una persona esperta rigorosa e mantieni la temperatura a 0 per la massima coerenza. Nel prompt, fornisci la griglia esatta utilizzata dagli esperti umani per valutare i dati. Aggiungi alcuni campioni etichettati da esperti come esempi few-shot per mostrare al giudice esattamente come ragionare.
Allineare e testare il giudice
Una volta che gli esperti umani sono d'accordo, è il momento di verificare se il giudice LLM è d'accordo con loro.
Nella configurazione di base, abbiamo esaminato l'allineamento grezzo (accuratezza). Ma questo numero da solo può essere ingannevole. Immagina che il 90% dei dati di test sia un PASS. Un giudice pigro potrebbe restituire PASS ogni volta e ottenere un'accuratezza del 90% senza riuscire a individuare un singolo motto tossico.
Definire una classe positiva
Definisci la classe positiva. La classe positiva, chiamata anche condizione target o evento di interesse, è il risultato specifico che stai cercando di rilevare, misurare o contrassegnare. La pipeline di valutazione funge da gatekeeper: il suo obiettivo principale è intercettare e bloccare gli output errati.
Supponendo che ThemeBuilder sia generalmente in grado di generare slogan e tavolozze in linea con il brand e che anche i motti tossici siano un evento raro, la classe positiva per tutti i criteri di valutazione è FAIL.
Tenendo presente questo:
- I falsi positivi sono output validi contrassegnati erroneamente come
FAIL. - I falsi negativi sono
FAILche non sono stati rilevati. - I veri positivi sono
FAILidentificati correttamente.
Precisione e richiamo
Tenendo presente la classe positiva, ora puoi utilizzare la precisione e il richiamo, che sono metriche migliori dell'allineamento grezzo:
- Precisione: quando il giudice LLM dice
FAIL, quanto spesso ha ragione? Ad esempio: quando il giudice ha contrassegnato un motto come tossico, quanto spesso aveva effettivamente ragione? - Richiamo: quando l'esperto dice
FAIL, quanto spesso il giudice LLM lo ha rilevato? Ad esempio: su tutti gli output effettivamente tossici e su tutti i motti e le tavolozze effettivamente fuori brand, quanti ne ha rilevati il giudice?
Comprendere il costo degli errori + impostare i punteggi target
Poni la domanda: qual è l'errore peggiore per la tua applicazione?
- Toxicity: la toxicity è un problema di sicurezza. Vogliamo intercettare ogni motto tossico (ridurre al minimo i falsi negativi), anche se ciò significa che il nostro giudice è occasionalmente troppo severo e contrassegna un motto sicuro. Contrassegnare un motto sicuro (falso positivo) comporta un leggero ritardo o una revisione umana. Pertanto, puntiamo a un richiamo del 100%. La precisione può essere inferiore.
- Adattamento al brand: abbiamo bisogno di un equilibrio. Sia la mancata rilevazione di design errati sia il rifiuto di quelli validi sono ugualmente costosi. Pertanto, vogliamo una precisione e un richiamo solidi.
Punteggio F1
Quando il richiamo aumenta, la precisione spesso diminuisce. Per la toxicity, non è un problema, perché ti interessa solo il richiamo.
Per l'adattamento al brand, sia il richiamo sia la precisione sono importanti. Per bilanciare questa importanza, puoi utilizzare una nuova metrica: F1. Il punteggio F1 combina precisione e richiamo in un'unica metrica bilanciata.
Raggiungere l'allineamento
Esegui il giudice sul set di dati etichettato da esperti e calcola i punteggi di accuratezza, precisione, richiamo e F1 per ciascuno dei tuoi criteri. Valuta se stai raggiungendo i tuoi target.
In caso contrario, raggruppa i casi di errore e leggi le motivazioni dell'LLM. Aggiorna le istruzioni di sistema e la griglia di punteggio del giudice per colmare le lacune finché le metriche non raggiungono i target.
Una volta che il giudice raggiunge i target, è allineato.
Convalida finale
Ora, convalidiamo il giudice utilizzando esattamente gli stessi passaggi che abbiamo trattato nella configurazione del giudice di base, ma applichiamo le nuove metriche avanzate:
- Test di stress con bootstrapping: esegui un nuovo campionamento casuale del set di dati con sostituzione per 10 iterazioni. Calcola la varianza dei punteggi di precisione, richiamo e F1 in queste esecuzioni per dimostrare matematicamente che i punteggi elevati non sono solo frutto della fortuna.
- Test di autoconsistenza: esegui gli stessi input nel giudice più volte per assicurarti che i suoi verdetti siano stabili al 100%. Vogliamo una varianza pari a zero in tutte le iterazioni.
- Fai fare al giudice un esame finale: testa il giudice su un set di 15-20 campioni nuovi etichettati da esperti che non ha mai visto prima. Calcola i punteggi di Kappa di Cohen, precisione, richiamo e F1 su questo set nascosto. Se queste metriche rimangono simili, significa che il giudice non ha eseguito l'overfitting sui dati di allineamento ed è pronto per generalizzare al mondo reale.
Riportare il giudice in linea
Una volta terminato, congratulazioni. Hai creato una pipeline di valutazione altamente affidabile.
Ricorda di riportare il giudice in linea ogni volta che aggiorni l'LLM sottostante su cui si basa o quando il set di funzionalità dell'applicazione cambia radicalmente.