Cos'è
Un record di addestramento contiene molto di più della risposta da imparare: un prompt di sistema, forse diversi turni precedenti e la domanda dell'utente. Il mascheramento della loss significa che l'errore di addestramento — la loss — viene calcolato solo sui token della risposta target. Il modello legge ogni token e il contesto modella ogni sua previsione, ma non viene mai valutato sulla previsione del contesto stesso.
Howmascherato␣domascherato␣Imascherato␣resetmascherato␣mymascherato␣passwordmascherato?mascheratoOpenp 0.62loss 0.48␣Settingsp 0.81loss 0.21␣→p 0.35loss 1.05␣Securityp 0.90loss 0.11Come funziona
Un modello linguistico viene addestrato prevedendo ogni token successivo. In ogni posizione restituisce una probabilità per ogni token nel suo vocabolario, e la loss in quella posizione è il logaritmo negativo della probabilità assegnata al token corretto: vicina a 0 quando era sicuro e corretto, elevata quando era sicuro e scorretto. La loss del record è la media sulle posizioni rilevanti.
loss for one record = average over target tokens of −ln p(correct token | everything before it)
context tokens: read, label = -100 → ignored by the loss
target tokens: read and scored → averaged into the lossSenza il mascheramento, la media verrebbe calcolata su ogni token del record. Con il mascheramento, le posizioni di contesto vengono escluse. Chi si occupa dell'addestramento ottiene questo risultato assegnando a ogni token di contesto un'etichetta speciale — -100 nelle librerie basate su PyTorch come Hugging Face Transformers — che la funzione di loss è istruita a ignorare.
- Un record contiene 40 token di contesto (prompt di sistema e domanda) e 4 token di destinazione: “Open”, “ Settings”, “ →”, “ Security”.
- Il modello assegna ai token di destinazione corretti le probabilità di 0,62, 0,81, 0,35 e 0,90. Le rispettive loss, −ln p, sono 0,48, 0,21, 1,05 e 0,11.
- La loss del record è la loro media: (0,48 + 0,21 + 1,05 + 0,11) ÷ 4 ≈ 0,46.
- I 40 token di contesto non aggiungono nulla. L'aggiornamento aumenterà principalmente la probabilità di “ →”, il token di cui il modello era meno sicuro.
Perché mascherare
- Il segnale va dove desiderato. I target rappresentano il comportamento scelto. Senza il mascheramento, gran parte dello sforzo di addestramento servirebbe a prevedere le domande degli utenti e a ripetere il prompt di sistema.
- Il modello non impara a imitare gli utenti. L'addestramento sui turni dell'utente insegna al modello a scrivere come le persone che pongono le domande — inclusi gli errori di battitura — il che può ripercuotersi sulle sue risposte.
- Il contesto lungo non sommerge le risposte brevi. In un record con 2.000 token di cronologia e una risposta di 60 token, una loss non mascherata riguarderebbe per circa il 97% la cronologia.
Il mascheramento è sempre la scelta migliore?
Il mascheramento è la scelta standard e l'impostazione predefinita nella maggior parte dei servizi e delle librerie di addestramento. Ci sono delle eccezioni: uno studio del 2024 di Shi e colleghi ha rilevato che anche l'addestramento sulle istruzioni può essere utile quando queste sono lunghe e gli output brevi, oppure quando ci sono pochissimi esempi. Per il fine-tuning su conversazioni reali, dove i turni dell'utente non rappresentano il comportamento che si desidera riprodurre, mascherare il contesto rimane l'impostazione predefinita più sensata.
Mascherato non significa irrilevante
Un token mascherato non viene valutato, ma viene comunque letto, e il modello impara a produrre il target dato quel contesto. Se il contesto contiene un'affermazione errata che il target asseconda, il modello impara ad assecondarla. Se il prompt di sistema nell'addestramento differisce da quello utilizzato in seguito, il comportamento appreso potrebbe non essere trasferito. Il mascheramento restringe ciò che viene valutato; non rende irrilevante il resto del record.
Errori comuni
- Presumere che, poiché il contesto non viene valutato, la sua qualità non sia importante.
- Interpretare una bassa loss di addestramento come prova di qualità quando i target sono brevi e semplici.
- Confrontare i valori di loss tra dataset con lunghezze dei target molto diverse.
- Aspettarsi che il modello impari qualcosa che appare esclusivamente nei messaggi degli utenti.
Riferimenti e letture di approfondimento
Le fonti esterne si aprono in una nuova scheda.
- 01Instruction Tuning With Loss Over InstructionsShi et al., 2024 · arXiv · arxiv.orgQuando l'addestramento sia sul prompt che sulla risposta risulta utile.
- 02SFT TrainerHugging Face TRL docs · huggingface.coLe opzioni di loss completion-only e assistant-only nella pratica.
- 03Causal language modelingHugging Face Transformers docs · huggingface.coLa previsione del token successivo e come vengono preparate le etichette a tale scopo.
- 04Supervised Fine-TuningHugging Face LLM Course · huggingface.coFine-tuning sui dati di chat, passo dopo passo.