Modelli addestrati per generare critiche efficaci: CriticGPT

Modelli addestrati per generare critiche efficaci: CriticGPT

Condividi con i tuoi amici...

Un aspetto emergente e di cruciale importanza è la capacità dei modelli LLM non solo di generare contenuti, ma anche di saperli valutare. Questo approccio meta-cognitivo rappresenta una svolta nell’evoluzione dell’AI, rendendo le macchine più autonome e capaci di migliorarsi attraverso un processo iterativo di feedback.

Creare modelli in grado di criticare e valutare correttamente il prodotto di altri modelli è fondamentale per diverse ragioni. Prima di tutto, consente di identificare e correggere errori o bias presenti nelle risposte dei modelli di AI, migliorando così l’accuratezza e l’affidabilità delle soluzioni proposte. Inoltre, la capacità di comprendere le critiche rende i modelli di AI più robusti e adattabili, poiché possono apprendere dai loro errori e adattarsi a nuove informazioni o cambiamenti nel contesto operativo.

Un modello di AI può generare del codice di programmazione per risolvere un problema specifico. Un altro modello può analizzare questo codice e fornire feedback critico, evidenziando possibili inefficienze, vulnerabilità di sicurezza o errori logici. Il primo modello può quindi utilizzare queste critiche per revisionare il codice, migliorandolo iterativamente fino a raggiungere una soluzione ottimale. Questo processo non solo accelera lo sviluppo del software, ma migliora anche la qualità del codice prodotto, riducendo il rischio di bug e potenziali exploit.

Al di fuori della programmazione, la valutazione da parte dell’AI trova applicazione in campi come la ricerca scientifica e la creatività. Ad esempio, nel giornalismo automatizzato, un modello di AI può redigere un articolo, mentre un secondo modello può analizzare il testo per verificare l’accuratezza dei fatti, la coerenza del discorso e l’eventuale presenza di bias. In ambito artistico, un modello può generare un’opera visiva o musicale, mentre un altro modello può fornire critiche costruttive su elementi come composizione, originalità e impatto emotivo.

Purtroppo i modelli valutatori tendono a perpetuare i bias presenti nei dati di addestramento iniziali. Questo può portare a valutazioni distorte che riflettono pregiudizi sistemici, rendendo le decisioni meno giuste ed equilibrate. Inoltre i modelli possono produrre valutazioni che mancano di profondità o che non tengono conto del contesto specifico e spesso mancano di trasparenza nelle loro decisioni. Gli utenti possono trovare difficile comprendere le ragioni dietro determinate valutazioni, rendendo complesso il processo di identificazione e correzione degli errori. Possono creare un ciclo di auto-riferimento, dove le critiche e le valutazioni si basano su un insieme ristretto di dati e logiche, limitando l’innovazione e l’apprendimento da fonti esterne.

Per tali ragioni si applica il RLHF, acronimo di “Reinforcement Learning from Human Feedback“, per addestrare un modello valutatore.

In questi articoli abbiamo già parlato di RLHF, acronimo di “Reinforcement Learning from Human Feedback”:

L’Apprendimento per rinforzo: il bastone e la carota in versione algoritmica.

Un compromesso tra coerenza e creatività dei modelli LLM

RLHF è una tecnica utilizzata nell’ambito dei modelli di intelligenza artificiale per migliorare le loro prestazioni attraverso l’interazione e il feedback fornito dagli esseri umani.

Si parte da un modello di AI preaddestrato su grandi quantità di dati. Gli esseri umani interagiscono con il modello, fornendo risposte a domande o compiti e valutando la qualità delle risposte generate dal modello. Le valutazioni degli esseri umani vengono utilizzate per addestrare un modello di ricompensa che valuta le risposte del modello di base. Il modello di AI viene ulteriormente addestrato utilizzando tecniche di apprendimento per rinforzo, cercando di massimizzare il punteggio di ricompensa determinato dal modello di ricompensa.

Questo processo permette al modello di AI di affinare le proprie risposte, migliorando la sua capacità di comprendere e generare testo in modo che sia più utile e pertinente per gli utenti. RLHF è particolarmente utile per adattare i modelli di AI a compiti specifici e per migliorare la loro interazione con gli esseri umani.

Problemi e limiti della valutazione umana

Il metodo di apprendimento per rinforzo con feedback umano (RLHF) perde di qualità nel tempo principalmente a causa delle limitazioni umane nella valutazione dei modelli AI. Man mano che i modelli diventano sempre più capaci, anche gli esperti possono iniziare a trovare difficile valutare correttamente la qualità o la correttezza delle risposte dei modelli di AI. Questo è un problema fondamentale con RLHF perché dipende dalla capacità umana di valutare correttamente output complessi. La difficoltà aumenta quando si tratta di decisioni che richiedono giudizi molto accurati e conoscenze approfondite che possono andare oltre le competenze medie, portando quindi alla possibilità di valutazioni non corrette o inaffidabili. Inoltre, se esistono difetti sistematici nella valutazione umana e questi vengono ottimizzati in modo significativo, ciò potrebbe condurre a politiche pericolose poiché le decisioni potrebbero essere basate su informazioni imprecise o insufficienti.

Per risolvere questi problemi OpenAI ha creato il modello CriticGPT

Leggi il Documento

CriticGPT è un modello di intelligenza artificiale progettato per generare critiche dettagliate e costruttive sugli output prodotti da altri modelli AI. Basato sulla tecnologia GPT-4, CriticGPT utilizza tecniche di apprendimento per rinforzo con feedback umano (RLHF) per migliorare la qualità delle sue valutazioni.

Il modello funziona accettando coppie di domanda e risposta come input e producendo una critica in linguaggio naturale che evidenzia e analizza potenziali errori o aree di miglioramento nelle risposte generate. CriticGPT è stato sviluppato per superare i limiti dell’autovalutazione, garantendo critiche più accurate e affidabili grazie a metodi come il campionamento forzato (FSBS) che bilanciano la completezza delle critiche e riducono le allucinazioni.

CriticGPT non lavora da solo, ma in combinazione con revisori umani. Questa collaborazione sfrutta le capacità complementari di entrambi, offrendo un controllo reciproco che riduce i bias e aumenta l’affidabilità delle critiche. Il modello fornisce una base di critiche dettagliate, e gli umani possono intervenire per refinarle o aggiungere contesto.

Il modello fornisce critiche molto strutturate, citando esattamente le sezioni problematiche e aggiungendo commenti specifici sugli errori. Questo dettaglio strutturato aumenta la precisione e riduce le lacune che possono sfuggire ai revisori umani meno sistematici.

Il Force Sampling Beam Search (FSBS) è una tecnica che permette al modello di generare critiche più lunghe e dettagliate, minimizzando le allucinazioni o i nitpick. FSBS forza il modello a esplorare diverse opzioni e selezionare le migliori, aumentando la qualità delle valutazioni.

CriticGPT è considerato migliore dell’autovalutazione di ChatGPT per i seguenti motivi:

Riesce a individuare errori invisibili agli esseri umani e a ChatGPT. CriticGPT (RL-only) rileva bug inseriti artificialmente molto più frequentemente rispetto a ChatGPT e a revisori umani, riducendo il tasso di errori mancati senza richiedere un aumento massiccio delle risorse computazionali. Migliora le critiche sulla base dei bug individuati dagli esseri umani, rendendo le revisioni più complete rispetto a quelle effettuate solo da umani o solo da ChatGPT. Questo perché utilizza tecniche di campionamento e ricerca forzata (FSBS) che bilanciano la completezza delle critiche e la riduzione delle allucinazioni.

I team umano-CriticGPT producono critiche più complete e accurate rispetto ai revisori umani da soli. Questa collaborazione riduce anche il tasso di nitpick e allucinazioni rispetto a CriticGPT e ChatGPT operanti singolarmente, dimostrando che il modello CriticGPT può migliorare significativamente le capacità di revisione.

In sintesi, CriticGPT si dimostra un metodo efficace e scalabile per migliorare l’accuratezza e la precisione nella valutazione degli output dei modelli AI rispetto alla semplice autovalutazione di ChatGPT.

Selezione delle migliori critiche: Force Sampling Beam Search (FSBS)

Il Force Sampling Beam Search, (FSBS) è una tecnica di campionamento e ricerca che viene utilizzata per migliorare la qualità delle critiche generate da CriticGPT. FSBS consente di generare critiche più lunghe e complete riducendo allo stesso tempo il tasso di allucinazioni.

Si cerca una parte specifica della risposta da evidenziare e migliorare. Si inizia con un campionamento forzato su questa parte specifica della risposta.

Vengono generati diversi completamenti possibili del testo. Si selezionano i due migliori in base a un punteggio di qualità. Poi si continua a migliorare i completamenti selezionati, ripetendo il processo più volte, forzando ogni volta la generazione di ulteriori commenti o critiche. Alla fine, tra tutte le critiche generate, si sceglie quella che combina il miglior punteggio di qualità e la maggior completezza.

Il punteggio utile per scegliere le migliori versioni del testo viene attribuito utilizzando metodi automatici e umani in base a vari criteri di qualità.

I principali criteri utilizzati sono i seguenti:

Coerenza e Pertinenza:
Il testo deve essere coerente con il contesto generale e pertinente all’argomento trattato.

Grammatica:
Il testo deve essere grammaticalmente corretto e scorrevole.

Originalità e Creatività:
Il testo dovrebbe essere originale e non ripetitivo, aggiungendo valore rispetto alla versione precedente.

Completezza:
La versione del testo dovrebbe essere completa e informativa, fornendo più dettagli e chiarezza.

Stile e Tono:
Il testo dovrebbe mantenere uno stile e un tono appropriato al pubblico e al contesto.

Ogni variante generata viene valutata su ciascuno dei criteri sopra elencati e viene assegnato un punteggio per ciascuno di essi. Una frase, per esempio, può ricevere un punteggio di 8 su 10 per la fluidità, 9 su 10 per la pertinenza, e così via.

I punteggi per ogni criterio vengono combinati per ottenere un punteggio complessivo per ogni variante.
Esempio: Se una frase ottiene i seguenti punteggi: Coerenza (8), Grammatica (9), Originalità (7), Completezza (8), e Stile (9), il punteggio complessivo potrebbe essere una media ponderata di questi valori.

Le due varianti con i punteggi complessivi più alti vengono selezionate per ulteriori miglioramenti.

Il punteggio utile per scegliere le migliori varianti viene creato valutando ogni frase generata in base a criteri di qualità specifici. Questo permette di selezionare le versioni più rilevanti, grammaticalmente corrette, originali, complete e appropriate in termini di stile e tono.

Il punteggio viene attribuito utilizzando metodi automatici e umani.


Metodi Automatici

Modelli di linguaggio come GPT (Generative Pre-trained Transformer) possono essere addestrati per valutare la qualità del testo in base a criteri predefiniti. Questi modelli possono analizzare la grammatica, la coerenza, la pertinenza e altri aspetti del testo, attribuendo punteggi in base a parametri statistici e algoritmi di apprendimento automatico.

Metriche

BLEU (Bilingual Evaluation Understudy): Misura la somiglianza tra il testo generato e un insieme di testi di riferimento.
ROUGE (Recall-Oriented Understudy for Gisting Evaluation): Valuta la qualità del riassunto confrontando con un riassunto di riferimento.
METEOR (Metric for Evaluation of Translation with Explicit ORdering): Si concentra su precisione e richiamo, valutando allineamenti di parole.


Queste metriche confrontano automaticamente il testo generato con esempi di alta qualità, attribuendo punteggi basati sulla somiglianza.

Metodi Umani

Gli esperti leggono e valutano i testi in base alla loro esperienza, attribuendo punteggi su criteri come la coerenza, la correttezza grammaticale, e la pertinenza.

Altri utenti o colleghi valutano il testo.

Processo di Attribuzione dei Punteggi

I punteggi attribuiti dai metodi automatici e umani possono essere combinati per ottenere una valutazione complessiva più bilanciata. Il processo di valutazione può essere iterativo, con revisioni multiple che affinano i punteggi.

Ecco uno schema del processo di Force Sampling Beam Search (FSBS):

Highlight Force Sampling
    Inizio: Identificare una parte specifica della risposta da migliorare.
    Azione: Aggiungere una stringa di highlight (es. “```”) attorno alla parte selezionata.
    Campionamento: Generare 4 continuazioni basate sull'highlight.

Score and Select
    Valutazione: Assegnare punteggi alle 4 continuazioni generate.
    Selezione: Scegliere le 2 migliori continuazioni basate sui punteggi.

Continue Sampling
    Preparazione: Rimuovere il token di fine sequenza (EOS) e l'ultimo paragrafo se non contiene un highlight.
    Nuovo Highlight: Aggiungere nuovamente la stringa di highlight.
    Campionamento: Generare nuove continuazioni basate sulle frasi selezionate.

Repeat Process
    Iterazione: Ripetere i passaggi 1-3 per 4 iterazioni.

Optimize Final Critique
    Lista Critiche: Compilare tutte le critiche generate durante tutti i round.
    Punteggio Finale: Calcolare il punteggio per ogni critica usando l'espressione rm_score + LENGTH_MODIFIER * num_highlights.
    Selezione Ottimale: Identificare e selezionare la critica con il punteggio più alto.

DIAGRAMMA A BLOCCHI
 +----------------------+
 | 1. Highlight Force   |
 |    Sampling          |
 |                      |
 | - Aggiungere         |
 |   highlight          |
 | - Generare 4         |
 |   continuazioni      |
 +----------+-----------+
            |
            v
 +----------------------+
 | 2. Score and Select  |
 |                      |
 | - Assegnare punteggi |
 | - Selezionare 2      |
 |   migliori           |
 +----------+-----------+
            |
            v
 +----------------------+
 | 3. Continue Sampling |
 |                      |
 | - Rimuovere EOS      |
 | - Aggiungere nuovo   |
 |   highlight          |
 | - Generare nuove     |
 |   continuazioni      |
 +----------+-----------+
            |
            v
 +----------------------+
 | 4. Repeat Process    |
 |                      |
 | - Ripetere per 4     |
 |   iterazioni         |
 +----------+-----------+
            |
            v
 +----------------------+
 | 5. Optimize Final    |
 |    Critique          |
 |                      |
 | - Compilare critiche |
 | - Calcolare punteggi |
 | - Selezionare la     |
 |   critica ottimale   |
 +----------------------+