Risorse/Addestramento del modello/Dataset

Metodo

Dati sintetici e il Generatore di dataset

Come un modello avanzato può scrivere le conversazioni di esempio che non possiede ancora, e come il brief, il piano, i controlli e la revisione del Generatore di dataset mantengono tali chat variegate, fondate sui fatti e sotto il Suo controllo.

Capitolo 4Lettura di 8 min5 riferimenti

Cosa sono i dati sintetici

I migliori dati di addestramento sono le conversazioni reali con i Suoi utenti. Spesso ce ne sono troppo poche, coprono solo i casi semplici, oppure l'assistente che desidera addestrare non esiste ancora. I dati sintetici colmano questa lacuna: un modello avanzato scrive conversazioni di esempio che mostrano il comportamento desiderato, e un modello più piccolo o più economico viene poi addestrato su di esse.

Questa è ormai una tecnica standard. Lo studio Self-Instruct (2022) ha fatto sì che GPT-3 scrivesse le proprie istruzioni e risposte, ha filtrato quelle non valide e quasi duplicate, e ha perfezionato GPT-3 sul risultato: un miglioramento assoluto del 33% sul benchmark Super-NaturalInstructions. Alpaca di Stanford (2023) ha utilizzato la stessa idea per creare 52.000 dimostrazioni per meno di 500 dollari. UltraChat ha generato 1,5 milioni di dialoghi a più turni, e phi-1 di Microsoft ha dimostrato che un modello di codice da 1,3 miliardi di parametri, addestrato in parte su libri di testo sintetici, poteva raggiungere il 50,6% sul benchmark HumanEval.

Il rischio: lo studente copia l'autore

Un modello addestrato sulla scrittura di un altro modello ne apprende le abitudini tanto fedelmente quanto la conoscenza. Se ogni utente generato esordisce con “Salve, ho una domanda su…”, il modello addestrato gestirà solo domande educate e ben formulate. Se l'autore non rifiuta mai nulla, non lo farà nemmeno lo studente. La ricerca sull'addestramento ripetuto di modelli su testo generato (Shumailov e colleghi, 2023) ha scoperto che i casi rari — le code della distribuzione — sono la prima cosa a scomparire. I buoni dati sintetici si basano quindi principalmente su due aspetti: la varietà, affinché i casi rari e complessi siano presenti, e il controllo, in modo che sia Lei a decidere quale sia il risultato ottimale.

Briefambito, pubblico, conteggi, documenti
→il modello pianificaPianoscenari che Lei legge e modifica
→Lei approvaGenerazionein background; mettere in pausa o riprendere
→all'arrivo delle chatControlliforma corretta, problemi contrassegnati
→Lei leggeRevisione e aggiuntacontrassegnate come Sintetiche nel dataset
Il Dataset Builder in cinque passaggi. Non viene scritto nulla finché non ha approvato il piano e nulla raggiunge un dataset finché non ha revisionato le chat.

Come funziona il Dataset Builder

Il brief descrive cosa costruire. Il perimetro indica cosa copre l'assistente e, altrettanto importante, cosa non copre: le chat fuori perimetro, in cui l'assistente rifiuta gentilmente o reindirizza, insegnano al modello dove finisce il suo compito. L'obiettivo e la trama indicano cosa ottiene una buona risposta e chi è l'assistente — tono, persona (profilo utente), regole. Il pubblico indica chi sono gli utenti, il che plasma le domande. Le istruzioni contengono tutto il resto (“concludere sempre con un passaggio successivo”, “non citare mai i prezzi”). Poi arrivano i conteggi e i limiti: quante chat, turni per chat, la risposta più lunga, il messaggio utente più lungo e la lingua. I documenti opzionali forniscono i Suoi fatti.

1. Piano. Prima di scrivere qualsiasi chat, il modello scrive un piano: un elenco di scenari, ciascuno con un argomento, una tipologia di utente, una difficoltà (facile, difficile, caso limite o fuori perimetro) e l'intento dell'utente, oltre a quante chat riceve ciascuno. Pianificare prima è ciò che produce varietà: senza di esso, un modello a cui vengono richieste 100 chat tende a scrivere 100 versioni delle stesse tre domande. Lei legge il piano, modifica o elimina le righe e aggiunge le Sue prima che venga scritto alcunché.

ArgomentoTipo di utenteDifficoltàIntentoChat
Segnalazione della rottura di un tuborichiedente al primo sinistrofacileaprire un sinistro casa8
Sinistro respinto per ritardata comunicazionecliente frustrato, sbrigativodifficilecomprendere il motivo e fare ricorso9
Danno coperto da due polizzelocatorecaso limiteverificare quale polizza copre il danno8
Invio di foto e ricevutecliente anziano, insicuro con le appfacilecaricare le prove7
Fare causa al vicino del piano di soprarichiedentefuori ambitoottenere consulenza legale8
Un piano illustrativo per 40 chat con argomenti su Auto: circa uno scenario ogni 8 chat ne produce 5. Ogni riga stabilisce chi pone la domanda, il livello di difficoltà e l'obiettivo, in modo che le 40 chat non possano essere tutte la stessa domanda cortese.

2. Genera. Una volta approvato il piano, le chat vengono scritte in background, ciascuna attingendo alle parti dei Suoi documenti che si adattano al suo scenario. Può mettere in pausa, riprendere o annullare in qualsiasi momento, e il builder mostra una stima approssimativa del tempo rimanente.

3. Controlli. Ogni chat viene controllata man mano che arriva. La struttura deve essere corretta: utente e assistente si alternano, iniziando con l'utente e terminando con una risposta dell'assistente. I modelli spesso scrivono un turno in più o in meno rispetto a quanto richiesto; tali chat vengono conservate e tagliate, perché sono comunque buoni esempi. Solo le chat danneggiate — ruoli errati, messaggi vuoti — vengono scartate e riscritte. Altri problemi generano una segnalazione: la chat viene conservata ma contrassegnata per la Sua revisione.

Controllo della forma
Difettoseruoli errati, messaggi vuoti→scartate e riscritte
Un turno di troppo o uno in menocomunque una buona conversazione→conservate, ridotte ai turni richiesti
Contrassegni · conservate, contrassegnate per la revisione
duplicatotroppo lungovuotorifiutoinfondato

Un contrassegno è una domanda, non un verdetto: un rifiuto è assolutamente corretto in uno scenario fuori ambito e un segnale di avvertimento in qualsiasi altro caso.

Ogni chat viene verificata al suo arrivo. Solo le chat difettose vengono scartate e riscritte; tutto il resto viene conservato, e quelle dubbie presentano un contrassegno per sapere dove guardare prima.

4. Revisioni, poi aggiunga. Lei legge le chat, le filtra per scenario o segnalazione, ne modifica o elimina alcune e le aggiunge a un dataset nuovo o esistente. Lì vengono contrassegnate come Sintetiche, in modo che possano sempre essere distinte dalle chat reali. Aggiungere di nuovo la stessa generazione aggiunge solo ciò che non è già presente.

Una build di 40 chat per un helpdesk sinistri (illustrativo)
  1. Briefing. Un assistente per i sinistri assicurativi per le polizze casa. Fuori ambito: consulenza legale e qualsiasi informazione su altre compagnie assicurative. Pubblico: contraenti, alcuni stressati, altri poco avvezzi alle app. 40 chat, turni misti, risposte fino a 400 token, due articoli del centro assistenza come documenti.
  2. Piano. Argomenti in Auto: 40 ÷ 8 = 5 scenari, da un semplice “segnalare un tubo rotto” a un fuori ambito “posso fare causa al mio vicino?”. Lei aggiunge un sesto scenario complesso — un sinistro presentato due volte per errore — e vi sposta 2 chat.
  3. Generazione. Il builder stima pochi minuti. Lei mette in pausa dopo le prime chat per leggerle, quindi riprende.
  4. Controlli. Arrivano 40 chat: 3 vengono ridotte ai turni richiesti, 1 chat interrotta viene riscritta, 2 vengono segnalate come possibili rifiuti (entrambe nello scenario fuori ambito, quindi corrette) e 1 come infondata.
  5. Revisione. Lei corregge la risposta infondata confrontandola con l'articolo, elimina una chat generica e aggiunge 39 chat al set di dati accanto a 120 chat reali.

Come utilizzarlo al meglio

  • Li mescoli con dati reali quando ne ha a disposizione. Le chat sintetiche sono più pulite di quelle reali e un modello addestrato esclusivamente su di esse può essere disorientato da input disordinati. Nel brief, richieda utenti concisi, frustrati e che commettono errori di battitura.
  • Revisioni un campione, specialmente gli scenari complessi e fuori ambito: è lì che il redattore sbaglia più spesso la risposta ideale.
  • Utilizzi il modello più potente a Sua disposizione per scrivere. Lo studente può, al massimo, eguagliare il redattore.
  • Basi il modello sui documenti ogni volta che le risposte dipendono dalle Sue informazioni, in modo che le risposte utilizzino le Sue policy anziché la conoscenza generale del modello.
  • Conservi le chat reali per la valutazione. Testare un modello addestrato su chat sintetiche con ulteriori chat sintetiche sovrastima la sua reale efficacia.

Impostazioni

Argomenti (scenari)Tipico Auto#

Quanti scenari contiene il piano. Auto ne sceglie circa uno ogni 8 chat, minimo 5 e massimo 60; in alternativa, imposti un numero esatto. Più argomenti offrono maggiore varietà e meno chat per argomento; meno argomenti approfondiscono maggiormente ogni situazione.

Turni per chatTipico Misto#

Quanti scambi utente/assistente ha ogni chat: da 1 a 4, oppure misti. Le chat a turno singolo sono veloci da scrivere e revisionare; le chat a più turni insegnano al modello a utilizzare ciò che è stato detto in precedenza. L'opzione mista è solitamente la più vicina all'uso reale.

Token di output massimi#

La risposta più lunga dell'assistente, in token. Lo imposti alla lunghezza con cui desidera che il modello addestrato risponda: lo studente apprende la lunghezza così come il contenuto. Limiti più ampi rallentano la compilazione, sebbene in misura meno che proporzionale, poiché le risposte raramente raggiungono il limite.

Caratteri di input massimi#

Il messaggio più lungo dell'utente, in caratteri. Gli utenti reali sono spesso concisi; un limite basso mantiene le domande generate brevi e realistiche, anziché lunghe e prolisse.

Documenti#

Pagine di supporto, manuali o policy opzionali, affinché le risposte utilizzino le Sue informazioni. Senza documenti, il redattore si affida alla propria conoscenza generale, che potrebbe essere errata o obsoleta per il Suo prodotto.

Segnalazioni

Duplicato#

Molto simile a un'altra chat nella build. Ne conservi una ed elimini o riscriva l'altra; le quasi-copie danno troppo peso a un singolo esempio e riducono la varietà.

Troppo lungo#

Una risposta che supera il limite di token in output, o un messaggio utente che supera il limite di caratteri. Lo accorci, altrimenti il modello apprenderà a fornire risposte più lunghe di quelle richieste.

Vuoto#

Un messaggio senza testo. Elimini la chat o scriva il messaggio mancante; una risposta vuota non insegna nulla e una domanda vuota insegna al modello a non rispondere nulla.

Rifiuto#

Una risposta che sembra un rifiuto (“Non posso aiutarla in questo”). Previsto negli scenari fuori ambito; altrove è un segnale di allarme, perché l'addestramento su di essa insegna al modello a rifiutare domande a cui dovrebbe rispondere.

Senza fondamento#

Solo quando sono stati utilizzati dei documenti: una risposta che potrebbe non basarsi sui Suoi documenti, affidandosi alla conoscenza generale del modello anziché ai Suoi fatti. La verifichi con il documento e la corregga.

Errori comuni

  • Tralasciare gli scenari fuori perimetro, in modo che il modello addestrato risponda a tutto, incluso ciò a cui non dovrebbe.
  • Scrivere centinaia di chat senza leggere il piano, per poi scoprire che chiedono tutte la stessa cosa.
  • Addestrare il modello solo su chat sintetiche quando ne esistono di reali; il modello viene poi disorientato da input reali e disordinati.
  • Ignorare le segnalazioni sugli scenari complessi e limite, dove l'autore sbaglia più spesso.
  • Valutare un modello addestrato su chat sintetiche con ulteriori chat sintetiche.
  • Scrivere con un modello più debole rispetto a quello che si andrà ad addestrare; lo studente può, al massimo, eguagliare l'autore.

Riferimenti e letture di approfondimento

Le fonti esterne si aprono in una nuova scheda.

  1. 01Self-Instruct: Aligning Language Models with Self-Generated InstructionsWang et al., 2022 · arXiv · arxiv.orgUn modello che scrive le proprie istruzioni di addestramento, con il filtraggio di quelle non valide e quasi duplicate.
  2. 02Alpaca: A Strong, Replicable Instruction-Following ModelStanford CRFM, 2023 · crfm.stanford.edu52.000 dimostrazioni generate per meno di 500 dollari, e i limiti del risultato.
  3. 03Enhancing Chat Language Models by Scaling High-quality Instructional ConversationsDing et al., 2023 · arXiv · arxiv.orgUltraChat: generazione di 1,5 milioni di conversazioni variegate a più turni.
  4. 04Textbooks Are All You NeedGunasekar et al., 2023 · arXiv · arxiv.orgphi-1: quanto i dati generati con cura possano fare per un modello di piccole dimensioni.
  5. 05The Curse of Recursion: Training on Generated Data Makes Models ForgetShumailov et al., 2023 · arXiv · arxiv.orgPerché i casi rari svaniscono quando i modelli imparano solo dall'output di altri modelli.

Trasformate settimane di lavoro esperto in pochi minuti

Scoprite come Scalata si adatta al vostro team, ai vostri dati e ai vostri Controlli.

Contatta il team vendite