Risorse/Addestramento del modello/Preparazione dei dati

Fase della pipeline

Pulizia

La pulizia rimuove le risposte da cui un modello non dovrebbe mai imparare — errori, rifiuti, markup dell'interfaccia, duplicati e risposte predefinite — e corregge la struttura in modo che ogni record sia valido per l'addestramento.

Capitolo 5Lettura di 5 min4 riferimenti

Cos'è

I log delle chat reali sono disordinati. Accanto alle risposte che si desidera far copiare al modello, contengono messaggi di errore, rifiuti da parte di un livello di sicurezza, markup comprensibili solo all'interfaccia della chat, risposte che indicano semplicemente che un file è pronto e la stessa conversazione salvata due volte. La pulizia è il primo passaggio della preparazione dei dati: rimuove o corregge tali record prima che qualsiasi elemento venga convertito in un file di addestramento.

È importante perché il fine-tuning non ha alcuna nozione di “cattivo esempio”. Ogni risposta target che raggiunge il file di addestramento viene trattata come la risposta corretta e il modello viene spinto a renderla più probabile. Un messaggio di errore utilizzato come target dieci volte insegna al modello che i messaggi di errore sono una risposta normale.

Come funziona

Ogni passaggio ricerca un pattern specifico e ognuno ha una motivazione basata sul funzionamento dell'addestramento. Alcuni passaggi rimuovono una risposta target (rimane leggibile come contesto, semplicemente non viene valutata); altri rimuovono un intero record o ne riscrivono la struttura.

PassaggioCosa rilevaPerché danneggerebbe l'addestramento
Markup dell'interfaccia utenteTag utilizzati dall'interfaccia della chat per il rendering di pulsanti, pannelli comprimibili e similiUn modello utilizzato al di fuori di tale interfaccia stamperebbe tag non formattati nelle sue risposte
Risposte di errore“Errore durante l'elaborazione della query…” e simili guasti di sistemaIl modello imparerebbe a fallire di proposito
Blocchi di sicurezzaRifiuti inseriti da un livello di sicurezza della piattaforma, non scritti dal modelloInsegna a rifiutare domande a cui era corretto rispondere
Annunci di fileRisposte brevi il cui vero output era un file generato, ad es. “La presentazione è pronta”Il file non è nel testo, quindi il modello impara ad attribuirsi un lavoro che non ha svolto
StrutturaUna conversazione che si apre con l'assistente; due messaggi consecutivi dallo stesso ruoloI formati di addestramento richiedono l'alternanza dei turni tra utente e assistente, iniziando dall'utente
DuplicatiLa stessa conversazione con la stessa risposta, salvata o importata due volteConta un esempio due volte: maggior peso, maggiore memorizzazione, nessuna nuova informazione
Risposte ripetuteUna risposta identica utilizzata come target molte volte, come un saluto o un disclaimer predefinitoPoche frasi fatte dominerebbero e il modello vi ricorrerebbe ovunque
Target prima della pulizia1,850
Risposte di errore−38
Blocchi dei guardrail−12
Notifiche di file−27
Conversazioni duplicate−64
Risposte ripetute, con limite−41
Target di addestramento1,668
Un passaggio di pulizia illustrativo su 1.850 risposte target. Ogni passaggio rimuove una piccola quota, ma insieme eliminano circa un target su dieci — e queste sono esattamente le risposte che avrebbero insegnato al modello la cosa sbagliata.

I duplicati meritano un'attenzione particolare. Le ricerche su ampi set di addestramento hanno rilevato che il testo ripetuto è uno dei principali fattori di memorizzazione: Lee et al. (2021) hanno dimostrato che la deduplicazione dei dati di addestramento ha ridotto di dieci volte la frequenza con cui i modelli emettono testo memorizzato, e Carlini et al. (2022) hanno scoperto che la frequenza di duplicazione di una sequenza è uno dei più forti indicatori della probabilità che un modello la ripeta parola per parola. Un set di fine-tuning è molto più piccolo, pertanto una singola conversazione ripetuta cinque volte rappresenta un'ampia porzione di ciò che il modello osserva.

Il passaggio con limite per le risposte ripetute è meno drastico della deduplicazione. Una risposta breve e identica come “Lieto di aiutarla — le serve altro?” può essere perfettamente valida, quindi viene mantenuta fino a un certo limite e solo le copie in eccesso smettono di essere dei target. Il modello impara comunque la frase, senza imparare a usarla per qualsiasi cosa.

Esempio pratico: 1.850 target in entrata, circa 1.670 in uscita
  1. Un team di supporto seleziona 1.000 conversazioni contenenti 1.850 risposte dell'assistente contrassegnate come target.
  2. 38 target sono risposte di errore dovute a una settimana di interruzione del servizio e 12 sono rifiuti dei guardrail. Tutti e 50 smettono di essere target.
  3. 27 target sono messaggi del tipo “Il Suo report è pronto” il cui vero output era un PDF. Rimossi: il solo testo non può insegnare al modello a produrre un PDF.
  4. 64 target si trovano in conversazioni importate due volte. Ne viene conservata una sola copia per ciascuno.
  5. La formula di chiusura “C'è altro in cui posso esserle utile?” compare come target 71 volte. Con un limite massimo, ad esempio, di 30, 41 copie smettono di essere target.
  6. Rimangono 1.668 target, circa il 90%. L'addestramento costa leggermente meno e il 10% rimosso era costituito dalle risposte che con maggiore probabilità avrebbero peggiorato il modello.

Quando è importante

  • Sempre, per i log di un prodotto live. Interruzioni, livelli di sicurezza e funzionalità dell'interfaccia lasciano tutti tracce che sembrano risposte.
  • Ancor di più per i set di dati di piccole dimensioni. Con 200 target, dieci target errati rappresentano il 5% del segnale; con 20.000 sono solo rumore.
  • Chat importate. Le esportazioni da altri strumenti contengono spesso conversazioni ripetute o parzialmente sovrapposte.
  • Quando il modello verrà eseguito al di fuori dell'interfaccia di chat. È in questo caso che il markup dell'interfaccia utente deve essere rimosso; conservatelo solo se il modello verrà utilizzato nella stessa interfaccia che lo renderizza.
Mantieni il markup dell'interfacciaTipico Disattivato#

Disattivato per impostazione predefinita. Attivarlo solo se il modello addestrato risponderà all'interno della stessa interfaccia di chat in grado di comprendere tali tag e se si desidera che continui a produrre pulsanti e sezioni comprimibili.

Errori comuni

  • Presumere che un ampio set di dati renda superflua la pulizia: i duplicati e le risposte predefinite crescono insieme al set di dati.
  • Addestrare il modello su risposte come “Il file è pronto” e poi chiedersi perché affermi di aver creato file che non ha mai prodotto.
  • Mantenere il markup dell'interfaccia per un modello che verrà eseguito in un altro prodotto, dove i tag appariranno come testo non formattato.
  • Correggere i sintomi a ogni preparazione invece della causa: se molte risposte sono errori o rifiuti, le chat sottostanti o il flusso del prodotto richiedono attenzione.
  • Deduplicare per messaggio anziché per conversazione, il che può lasciare una risposta priva della domanda che la contestualizza.

Riferimenti e letture di approfondimento

Le fonti esterne si aprono in una nuova scheda.

  1. 01Deduplicating Training Data Makes Language Models BetterLee et al., 2021 · arXiv · arxiv.orgMostra quanto testo ripetuto sia presente nei set di dati reali e come la sua rimozione riduca la memorizzazione.
  2. 02Quantifying Memorization Across Neural Language ModelsCarlini et al., 2022 · arXiv · arxiv.orgLa memorizzazione cresce con le dimensioni del modello, con la frequenza di duplicazione di un esempio e con la lunghezza del prompt.
  3. 03LIMA: Less Is More for AlignmentZhou et al., 2023 · arXiv · arxiv.org1.000 esempi accuratamente curati sono stati sufficienti per ottenere risultati solidi: la qualità prevale sulla quantità.
  4. 04Supervised fine-tuningOpenAI API docs · developers.openai.comLa prospettiva di un provider su cosa dovrebbe contenere un esempio di addestramento.

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