Quali impostazioni si applicano e dove
| Impostazione | Off-policy (scrive l'insegnante) | On-policy (valuta l'insegnante) |
|---|---|---|
| Modello insegnante | Sì | Sì |
| Modello studente | Sì | Sì |
| Lunghezza massima della risposta | Sì, su alcuni servizi | No |
| Lunghezza massima della risposta di pratica | No | Sì |
| Divergenza β | No | Sì |
| Epoche, tasso di apprendimento | Sì | Sì |
Le impostazioni
Il modello il cui comportamento viene trasmesso. La sua qualità sulle Sue domande rappresenta il limite massimo per lo studente, e anche i suoi errori, la lunghezza e lo stile vengono appresi; pertanto, è opportuno valutarlo rispetto allo studente prima della distillazione. In modalità off-policy, qualsiasi insegnante è idoneo poiché viene trasferito solo il testo, ma i servizi gestiti consentono esclusivamente le coppie insegnante → studente in elenco. In modalità on-policy, l'insegnante deve condividere il vocabolario dello studente, trattandosi quindi di un modello più grande della stessa famiglia, e deve risiedere sulla GPU accanto allo studente. Gli insegnanti pensanti, che ragionano a lungo prima di rispondere, sono preziosi per problemi complessi a più fasi; per risposte brevi in chat, un insegnante non pensante è solitamente più adatto a un piccolo studente.
Il modello più piccolo in fase di addestramento, nonché quello che verrà distribuito, determinando così i costi di esecuzione e la velocità. Un modello più piccolo è più economico e veloce, ma ha meno capacità di assorbire il comportamento dell'insegnante, e uno studente raramente supera il proprio insegnante. In Scalata, lo studente è il modello di base selezionato; i modelli che non possono fungere da studenti per l'insegnante o il provider scelto sono visualizzati in grigio, con l'indicazione del motivo.
Off-policy, sui servizi che la espongono: la risposta più lunga, in token, che il teacher può scrivere per ogni prompt. Risposte più lunghe costano più token di output del teacher e più token di addestramento dello student, e lo student impara tale lunghezza. Se troppo breve, le risposte del teacher vengono interrotte e lo student impara un testo troncato.
Solo on-policy: la risposta più lunga che lo student scrive per ogni prompt in ciascun passaggio. La generazione è la parte più lenta del passaggio, quindi questa è la leva principale sul tempo di GPU. Le risposte più lunghe del limite vengono interrotte e lo student riceve feedback solo sulla parte che ha scritto.
Solo on-policy: quale divergenza confronta student e teacher a ogni token. 0 è la KL forward: lo student cerca di coprire tutto ciò che il teacher potrebbe dire, producendo risposte più ampie e variegate che possono sfumare tra le opzioni. 1 è la KL reverse: lo student si concentra sulla risposta più probabile del teacher, risultando più netto e deciso. 0.5 è la divergenza di Jensen-Shannon, una miscela simmetrica, e i valori intermedi si interpolano. A differenza del β della KL nel reinforcement fine-tuning, questo β non àncora il modello al suo stato iniziale; sceglie la misura stessa.
Come scegliere
- Candidati: un modello da 7B che risponde bene alle domande di valutazione ma ha costi di hosting eccessivi, e modelli da 0.5B, 1.5B e 3B della stessa famiglia.
- Valuti il 7B rispetto a ciascuno. Supponiamo che superi lo 0.5B nella maggior parte delle domande, l'1.5B in molte e che per lo più pareggi con il 3B.
- Il 3B ha poco da imparare; lo 0.5B ha più da imparare ma meno spazio per assimilarlo. L'1.5B è il primo student naturale.
- Stessa famiglia, quindi la distillazione on-policy è possibile: lunghezza della risposta di pratica poco superiore alla risposta tipica, β = 1 e una GPU in grado di contenere sia il 7B che l'1.5B.
- Il teacher, nel proseguire una risposta, suddivide le proprie probabilità: “Sì” 50%, “Certo” 40%, qualsiasi altra cosa 10%.
- Con la KL forward (β = 0) lo student è spinto a mantenere probabili sia “Sì” che “Certo”, e viene penalizzato duramente se assegna a uno dei due una probabilità quasi nulla.
- Con la KL reverse (β = 1) viene penalizzato duramente per qualsiasi cosa il teacher ritenga improbabile, e si accontenta di concentrare la maggior parte del suo peso solo su “Sì”.
- Su migliaia di token, il primo approccio produce uno student più vario e il secondo uno più coerente. Per risposte brevi e fattuali, la coerenza è solitamente ciò che si desidera.
Cosa determina i costi
- Off-policy: l'inferenza del teacher (token di input e output per ogni risposta generata) più l'addestramento dello student (prompt più risposte del teacher, × epoche). La lunghezza della risposta del teacher non è nota in anticipo, pertanto le stime sono un intervallo. La sintesi dei prompt da parte del servizio fa crescere entrambe le parti.
- On-policy: tempo di GPU. Ogni passaggio genera risposte ed esegue entrambi i modelli, perciò è più lento dell'addestramento supervisionato sugli stessi dati e la GPU deve contenerli entrambi.
Errori comuni
- Scegliere il teacher in base alla reputazione invece che tramite una valutazione sulle proprie domande.
- Scegliere uno student troppo piccolo per contenere ciò che il teacher sa.
- Lasciare la lunghezza massima della risposta del teacher molto al di sopra della propria risposta tipica: si paga per la lunghezza e lo student la impara.
- Confondere i due β. Il β della distillazione sceglie la divergenza; il β della KL nell'RFT è una penalità per la deriva.
- Non preventivare la memoria GPU per il teacher in un'esecuzione on-policy.
Riferimenti e letture di approfondimento
Le fonti esterne si aprono in una nuova scheda.
- 01Distillation TrainerHugging Face TRL docs · huggingface.coDefinisce β (0 KL forward, 1 KL reverse, 0.5 JSD) e la lunghezza di completamento predefinita.
- 02On-Policy Distillation of Language Models: Learning from Self-Generated MistakesAgarwal et al., 2024 · ICLR / arXiv · arxiv.orgEsperimenti su come la scelta della divergenza bilanci la qualità rispetto alla diversità.
- 03Kullback–Leibler divergenceWikipedia · en.wikipedia.orgLa definizione di divergenza KL e il motivo per cui le sue due direzioni differiscono.
- 04Jensen–Shannon divergenceWikipedia · en.wikipedia.orgLa divergenza simmetrica a cui corrisponde β = 0.5.