RecurrentGPT: differenze tra le versioni

Da Wiki AI.
Nessun oggetto della modifica
Nessun oggetto della modifica
 
Riga 106: Riga 106:
             |title=RecurrentGPT
             |title=RecurrentGPT
             |title_mode=append
             |title_mode=append
             |keywords="intelligenza artificiale, generazione di testo, modelli linguistici, RecurrentGPT, reti neurali ricorrenti, LSTM, Transformer, interazione uomo-macchina, scrittura assistita, fiction interattiva, ChatGPT, GPT-4"
             |keywords=intelligenza artificiale, generazione di testo, modelli linguistici, RecurrentGPT, reti neurali ricorrenti, LSTM, Transformer, interazione uomo-macchina, scrittura assistita, fiction interattiva, ChatGPT, GPT-4
             |description="RecurrentGPT è un innovativo framework che sfrutta la potenza dei modelli linguistici di grandi dimensioni (LLM) come ChatGPT per generare testi di lunghezza arbitraria. A differenza dei modelli tradizionali limitati da una dimensione di contesto fissa, RecurrentGPT utilizza un meccanismo ricorrente ispirato alle reti neurali ricorrenti (RNN) e alla memoria a lungo-breve termine (LSTM). Questo approccio consente a RecurrentGPT di mantenere la coerenza e la pertinenza del testo anche su estensioni considerevoli. Il framework è altamente interpretabile e interattivo, consentendo agli utenti di osservare, modificare e guidare il processo di generazione del testo in tempo reale. RecurrentGPT apre nuove possibilità per la scrittura assistita, la creazione di fiction interattiva e una vasta gamma di applicazioni che richiedono la produzione di testo di alta qualità e lunghezza flessibile."
             |description=RecurrentGPT è un innovativo framework che sfrutta la potenza dei modelli linguistici di grandi dimensioni (LLM) come ChatGPT per generare testi di lunghezza arbitraria. A differenza dei modelli tradizionali limitati da una dimensione di contesto fissa, RecurrentGPT utilizza un meccanismo ricorrente ispirato alle reti neurali ricorrenti (RNN) e alla memoria a lungo-breve termine (LSTM). Questo approccio consente a RecurrentGPT di mantenere la coerenza e la pertinenza del testo anche su estensioni considerevoli. Il framework è altamente interpretabile e interattivo, consentendo agli utenti di osservare, modificare e guidare il processo di generazione del testo in tempo reale. RecurrentGPT apre nuove possibilità per la scrittura assistita, la creazione di fiction interattiva e una vasta gamma di applicazioni che richiedono la produzione di testo di alta qualità e lunghezza flessibile.
             }}
             }}

Versione attuale delle 16:26, 17 ago 2024

Rilasciato da : Wangchunshu Zhou, Yuchen Eleanor Jiang, Peng Cui, Tiannan Wang, Zhenxin Xiao, Yifan Hou, Ryan Cotterell, Mrinmaya Sachan, ETH Zürich

Data di pubblicazione : 23 maggio 2023

Accesso : Open source

Descrizione

RecurrentGPT è un framework costruito su un modello di linguaggio LLM (come ChatGPT), sfrutta il meccanismo di ricorrenza delle RNN (Reti Neurali Ricorrenti) e utilizza il linguaggio naturale per simulare il meccanismo di memoria a lungo e breve termine di un LSTM (Long Short-Term Memory). Attraverso l'uso di linguaggio naturale come blocchi costruttivi, RecurrentGPT simula la memoria a lungo e breve termine, consentendo la generazione di testi di lunghezza arbitraria e superando le limitazioni di contesto fisse dei modelli Transformer tradizionali. Questo approccio rende RecurrentGPT altamente interpretabile e interattivo, permettendo agli utenti di osservare, modificare e influenzare direttamente il processo di generazione del testo.

Architettura

  • Input / Output

L'input e l'output di RecurrentGPT ad ogni timestep includono:

  • un paragrafo di testo che viene aggiunto al testo finale prodotto,
  • un abbozzo per il paragrafo successivo da generare. Vengono definiti rispettivamente come: contenuto e piano.

Come illustrato nella figura, i contenuti consistono tipicamente di 200-400 parole e dovrebbero essere per lo più pronti per la lettura, mentre, i piani sono abbozzi per il prossimo contenuto e consistono tipicamente di 3-5 frasi. Ad ogni timestep, il contenuto e il piano generati nel timestep precedente vengono usati come input per RecurrentGPT, permettendo il calcolo ricorrente. RecurrentGPT è progettato per produrre piani oltre ai contenuti in quanto permettere agli utenti di leggere e modificare i piani aumentando l'interpretabilità e facilitando l'interazione uomo-macchina.

  • Long-Short term memory

Similmente a un LSTM, RecurrentGPT mantiene una memoria a lungo-breve termine attraverso i timesteps. La memoria a lungo termine riassume tutti i contenuti generati precedentemente per minimizzare la perdita di informazioni quando si generano testi lunghi. Poiché il contenuto generato può essere arbitrariamente lungo e non può adattarsi alla dimensione di contesto degli LLM, la memoria a lungo termine è stata implementata con un approccio VectorDB, incorporando il contenuto generato in ogni timestep con sentence-transformers. Questo approccio permette a RecurrentGPT di conservare una memoria ancora più lunga rispetto ai precedenti Transformer poiché può conservare la memoria nello spazio su disco invece che nella memoria GPU. Questo può essere importante in diversi casi d'uso dove gli utenti potrebbero non avere GPU di fascia alta nei loro dispositivi. La memoria a breve termine è un breve paragrafo di testi che riassume le informazioni chiave attraverso i timesteps recenti. La lunghezza della memoria a breve termine è controllata per essere di 10-20 frasi in modo che possa adattarsi al prompt e possa essere aggiornata dall'LLM principale. Combinando la memoria a lungo e breve termine, RecurrentGPT può mantenere la coerenza con il contenuto generato di recente e anche richiamare informazioni chiave generate molto tempo prima.

Figura 1: Illustrazione del framework RecurrentGPT. Consente il prompting ricorrente con LLM simulando una RNN tramite blocchi costruttivi in linguaggio naturale e definisce il grafo di calcolo ricorrente con prompt.

Baseline

  • Rolling-ChatGPT

questa baseline si basa sull'idea di stimolare iterativamente ChatGPT a proseguire la scrittura di un testo una volta raggiunto il suo limite di contesto. In pratica, si comincia fornendo a ChatGPT un genere letterario e alcuni dettagli o impostazioni di sfondo come punto di partenza per scrivere un romanzo. Una volta che ChatGPT ha generato una quantità di testo che si avvicina o raggiunge il limite massimo del contesto che può gestire, l'utente o un meccanismo automatizzato fornisce nuovamente al modello una porzione del testo più recente, sollecitandolo a continuare da dove si era interrotto. Solo una parte del testo generato precedentemente (la parte più recente o rilevante) viene utilizzata nuovamente come input per generare la porzione successiva del testo. Ciò permette teoricamente di produrre testi di lunghezza arbitraria , sfruttando la capacità di ChatGPT di generare testi coerenti e contestualmente pertinenti basandosi sull'input ricevuto, ma richiede una gestione attenta del contesto per mantenere la coerenza e la continuità dell'intero testo. Sebbene questa tecnica possa essere efficace, potrebbe comunque presentare sfide relative alla coerenza del testo su lunghe distanze, poiché il modello ha sempre una vista limitata dell'intero contenuto generato fino a quel momento.

  • RE3

questa baseline si riferisce a un approccio strutturato per la generazione di storie lunghe attraverso l'uso di modelli di linguaggio di grandi dimensioni (LLM), come ChatGPT. Questo metodo si basa su una strategia gerarchica che procede in più fasi per costruire narrazioni complesse e dettagliate:

  1. Generazione del Contorno: Nella prima fase, RE3 sollecita un LLM a creare un abbozzo o contorno generale della storia. Questo contorno funge da mappa per l'intera narrazione, delineando i principali eventi, personaggi e punti di svolta. L'idea è quella di stabilire una struttura di base che guiderà la generazione successiva del testo, assicurando che la storia abbia una trama coerente e logicamente organizzata.
  2. Generazione della Storia: Una volta definito il contorno, il modello procede con la generazione del testo della storia seguendo la struttura predefinita. In questa fase, il LLM espande ciascuna sezione del contorno in narrazioni dettagliate, popolando la storia con dialoghi, descrizioni e azioni che arricchiscono il racconto.
  3. Pipeline di Ri-classificazione e Ri-scrittura: Dopo la generazione iniziale della storia, RE3 impiega ulteriori passaggi di elaborazione, come la ri-classificazione e la ri-scrittura, per rifinire il testo. Questi processi possono includere l'aggiustamento di tono e stile, la correzione di incoerenze narrative, il miglioramento della coesione tra le parti della storia e l'assicurazione che il testo finale sia di alta qualità. Queste fasi di post-elaborazione sono cruciali per assicurare che la storia sia non solo coerente con il contorno iniziale, ma anche avvincente e ben scritta .
  • DOC

questa baseline riguarda un approccio avanzato nella generazione automatica di storie lunghe, che rappresenta un'evoluzione del metodo RE3. DOC si distingue per la sua capacità di offrire un maggiore controllo sull'outline (contorno) della storia, permettendo di guidare più dettagliatamente la narrazione e assicurando che la trama segua fedelmente la struttura predefinita. Questa maggiore precisione nell'outline mira a migliorare la coerenza e la qualità complessiva delle storie generate. La "ri-implementazione" di DOC con ChatGPT consiste nell'adattare il metodo originale, precedentemente basato su un modello diverso (come l'OPT-175B), per utilizzare le capacità avanzate di ChatGPT. Questo cambiamento è significativo poiché ChatGPT è noto per la sua eccellente comprensione del linguaggio naturale e le abilità di generazione di testo. Tuttavia, una sfida in questa transizione è rappresentata dall' impossibilità di accedere direttamente ai "pesi" (i parametri interni) di ChatGPT, il che rende inutilizzabile il "controller dettagliato" presente in DOC. Il controller dettagliato era un componente di DOC che permetteva di influenzare finemente il processo di generazione del testo, basandosi sui parametri interni del modello. Per superare questa limitazione, la ri-implementazione si concentra sull' uso delle capacità intrinseche di ChatGPT, adattando il processo per funzionare senza la necessità di modificare direttamente i pesi del modello. Anche se questo potrebbe sembrare una restrizione, in realtà si scopre che l'uso di ChatGPT porta a una qualità del testo generato leggermente migliore sfruttando le avanzate capacità linguistiche di ChatGPT per produrre storie più fluide, interessanti e coerenti. Questo miglioramento è attribuibile alla superiorità di ChatGPT in termini di comprensione del contesto, coerenza narrativa e capacità di generazione del linguaggio, che compensano l'assenza del controller dettagliato.

Caratteristiche Principali

  • Generazione Ricorsiva di testi

RecurrentGPT, a differenza dei modelli tradizionali che sono vincolati da una dimensione di contesto fissa, sfrutta un meccanismo di ricorrenza basato sul linguaggio naturale che gli consente di produrre contenuti di lunghezza arbitraria aggiornando dinamicamente una memoria a lungo-corto termine . La memoria a lungo termine archivia i contenuti generati precedentemente, assicurando che il modello mantenga la coerenza narrativa nei testi estesi. Parallelamente, la memoria a breve termine cattura dettagli e informazioni cruciali dei segmenti più recenti, garantendo che ogni nuova generazione di testo sia ben collegata con il contesto immediato. Questo processo imita la capacità umana di collegare nuove informazioni con la conoscenza preesistente, superando i limiti di memoria imposti dalla dimensione fissa del contesto nei modelli Transformer.

  • Interpretabilità e Interattività

Una delle forze di RecurrentGPT è la sua elevata interpretabilità derivante dalla trasparenza dei suoi meccanismi basati sul linguaggio naturale. Gli utenti possono osservare direttamente come il modello elabora e aggiorna le informazioni, intervenendo attivamente per modificare i contenuti della memoria a lungo o breve termine, i piani futuri e gli output generati . Questo livello di interazione apre nuove possibilità di personalizzazione nel processo di generazione del testo, rendendo RecurrentGPT uno strumento particolarmente adatto alla collaborazione creativa tra uomo e macchina e nei contesti dove la precisione e la personalizzazione del contenuto sono cruciali.

  • Personalizzazione

RecurrentPT si distingue per la sua elevata flessibilità e capacità di adattamento che lo rendono un strumento ideale per una vasta gamma di applicazioni nel campo della generazione di testo. Questa versatilità deriva principalmente dalla possibilità di personalizzare il modello in base a stili narrativi specifici, generi letterari diversi e dettagliati requisiti di contenuto. Attraverso l'implementazione di semplici modifiche ai prompt iniziali e l'accurata selezione delle informazioni da includere nella memoria a lungo e breve termine, gli utenti possono efficacemente influenzare il percorso creativo di RecurrentGPT, dirigendolo verso la produzione di testi che non solo aderiscono agli obiettivi e agli stili prefissati ma che sono anche caratterizzati da un alto livello di coerenza e pertinenza.

Applicazioni

  • Interactive Writing Assistant

È stata testata l'utilità di RecurrentGPT come assistente alla scrittura interattiva da una prospettiva di interazione uomo-IA. Come illustrato in figura, uno scrittore inizia scegliendo l'argomento su cui vuole scrivere e scrive un breve paragrafo che descrive lo sfondo e il contorno del libro. A questo punto RecurrentGPT genera automaticamente i primi paragrafi e fornisce alcune possibili opzioni per continuare la storia. Lo scrittore può selezionarne una ed eventualmente modificarla se necessario. Può anche scrivere un breve piano per i prossimi paragrafi da solo, se i piani generati sono tutti inappropriati, rendendo il processo di co-scrittura uomo-IA più flessibile.

Figura 2: Analisi qualitativa dell'utilizzo di RecurrentGPT come assistente alla scrittura interattiva e come fiction interattiva. I piani o le scelte evidenziati sono quelli selezionati dagli utenti umani.

Agli scrittori viene mostrata un'interfaccia che permette di scrivere romanzi di generi diversi interagendo con RecurrentGPT (come in Figura 2).

Figura 3: Web demo di RecurrentGPT

Secondo uno studio su piccola scala con utenti umani, RecurrentGPT migliora significativamente la produttività degli scrittori, e i miglioramenti derivano principalmente da:

  • Riduzione del tempo per digitare testi lunghi scrivendo o scegliendo piani brevi e lasciando che RecurrentGPT generi i testi effettivi;
  • Riduzione del tempo per progettare trame meno importanti selezionando piani generati da RecurrentGPT, secondo il feedback degli utenti. Inoltre, gli utenti ritengono che RecurrentGPT sia più interpretabile e controllabile rispetto agli assistenti alla scrittura AI convenzionali che agiscono come scatole nere, poiché i componenti basati sul linguaggio in RecurrentGPT sono trasparenti e modificabili per gli utenti.

Rispetto ai metodi precedenti che generano testi lunghi in modo gerarchico come DOC e RE3, gli utenti umani preferiscono questo sistema poiché scrivere testi lunghi in modo iterativo e interattivo è più flessibile e controllabile. Inoltre RecurrentGPT può generare alcuni paragrafi alla volta (Figura 3).

  • Interactive Fiction

È stata testata la possibilità di utilizzare RecurrentGPT come fiction interattiva personalizzata.

Le principali differenze con il caso d'uso precedente sono due, come illustrato in figura:

  • Il passaggio dalla prospettiva in terza persona alla prima persona, che mira a favorire un senso di immersione per gli utenti,
  • Far generare a RecurrentGPT piani che coinvolgono scelte importanti per il personaggio principale anziché piani generali per i prossimi paragrafi. L'adattamento può essere facilmente implementato modificando leggermente il prompt.
Figura 4: Analisi qualitativa dell'utilizzo di RecurrentGPT come assistente alla scrittura interattiva e come fiction interattiva. I piani o le scelte evidenziati sono quelli selezionati dagli utenti umani.

Lo studio fatto con gli utenti mostra che RecurrentGPT può interagire fornendo direttamente contenuti di buona qualità. Gli utenti trovano anche che la possibilità di scrivere testi liberi, come le loro azioni nella fiction interattiva, migliora notevolmente l'interesse. Questo conferma il potenziale di utilizzare l'AI generativa come contenuto stesso (AIAC), invece di usarla come strumento per produrre contenuto.

Risultati

Le applicazioni condotte dimostrano che RecurrentGPT eccelle nella generazione di testi lunghi, mantenendo le metriche di valutazione (coerenza e coinvolgimento) anche oltre le capacità di ChatGPT. È stato testato con successo in vari generi narrativi, dimostrando la sua versatilità e robustezza.

Metriche di valutazione

Il processo di valutazione utilizzato per confrontare RecurrentGPT con altre baseline nella generazione di testi narrativi, in particolare romanzi, è focalizzato su due criteri principali:

  • Interessante: Si valuta il grado di interesse che i romanzi generati riescono a suscitare nei lettori. Questo criterio mira a misurare l'attrattiva della narrazione, la sua originalità e la capacità di mantenere l'attenzione del lettore. Un romanzo considerato "interessante" dovrebbe stimolare la curiosità, provocare emozioni o pensieri, e incoraggiare il lettore a proseguire la lettura.
  • Coerente: Si esamina la coesione strutturale dei testi, valutando quanto bene i paragrafi sono organizzati e interconnessi tra loro. Questo criterio si concentra sulla logica narrativa, sull' uniformità dello stile e sulla fluidità della trama, assicurando che gli eventi, i personaggi e le ambientazioni siano presentati in maniera logica e che contribuiscano alla progressione della storia in modo armonioso.

Per effettuare questa valutazione, si utilizza un approccio di confronto a coppie. A un gruppo di valutatori umani, selezionati per la loro buona padronanza dell'inglese, vengono forniti due romanzi (indicati come romanzo A e romanzo B) generati da metodi differenti, in ordine casuale. I valutatori sono incaricati di determinare quale dei due romanzi sia migliore in termini di interesse e coerenza, oppure di indicare se non vi sia una distinzione chiara tra i due (in tal caso, i romanzi vengono considerati indistinguibili su quelle dimensioni).

Per garantire un'analisi equilibrata e rappresentativa, vengono selezionati 20 romanzi per ogni genere letterario considerato nello studio, e a ciascun romanzo vengono assegnati 3 valutatori. Questo permette di ottenere una valutazione diversificata e di ridurre le eventuali discrepanze di giudizio individuali.

Confronto a coppie tra RecurrentGPT e le baseline per 20 romanzi di generi diversi. I risultati nei diversi confronti non sono confrontabili tra loro. Il grassetto indica una significatività con p < 0,05.
Confronto a coppie tra RecurrentGPT, le sue varianti e la variante che utilizza GPT-4 come modello di base. Si campionano 20 romanzi di generi diversi per il confronto. I risultati in confronti differenti non sono confrontabili tra loro. Il grassetto indica una significatività con p < 0,05.

Limitazioni

Sebbene RecurrentGPT possa generare testi arbitrariamente lunghi, è stato valutato solo in contesti in cui i testi generati sono al massimo di circa 5000 parole . Un'altra limitazione è la sua dipendenza da LLM avanzati (ChatGPT e GPT-4) e nella gestione di testi estremamente lunghi. Si pensa che questo problema possa essere alleviato quando verranno sviluppati LLM più piccoli e potenti.

Prospettiva futura

RecurrentGPT segna un passo importante verso la realizzazione di sistemi di scrittura assistita da computer di prossima generazione, offrendo una soluzione promettente per superare le limitazioni esistenti nella generazione di testi lunghi e aprire nuove frontiere nell'uso creativo dell'IA.

Link

Paper

RecurrentGPT: Interactive Generation of (Arbitrarily) Long Text (Maggio 2023): paper originale

Github

RecurrentGPT

Demo

Demo: Writing Assistant

Demo: Interactive Fiction

Video

RecurrentGPT: Generate Larger Text EASILY Compared to ChatGPT