Como funciona
- O aluno responde. Para cada prompt, o aluno escreve sua própria resposta, uma resposta de prática.
- O professor lê. O professor processa o mesmo prompt e resposta em uma única passagem e, em cada posição, gera sua distribuição de probabilidade para o próximo token: o que ele teria dito ali.
- Compare e atualize. Em cada token, a distribuição do aluno é comparada com a do professor usando uma divergência, e o aluno é aproximado do professor.
{"prompt": [
{"role": "user", "content": "What's the difference between EBITDA and EBIT?"}
]}Nenhuma resposta de referência é necessária e suas respostas não são usadas como alvos; apenas os prompts são. O professor nunca escreve uma resposta inteira, ele apenas lê uma, o que é muito mais barato por token do que gerar.
Por que funciona tão bem
A destilação on-policy aproveita o melhor de dois outros métodos. Como no treinamento supervisionado, seu sinal é denso: cada token recebe feedback. Como no aprendizado por reforço, seus dados são on-policy: vêm das próprias respostas do aluno, cobrindo assim os erros que o aluno realmente comete. Os alunos off-policy veem apenas os caminhos impecáveis do professor; os alunos de RL veem seus próprios caminhos, mas recebem um número por resposta inteira.
Quaisquer famílias de modelos. Apenas o texto é transferido. Treina exatamente como o ajuste fino supervisionado.
Requer o mesmo tokenizador, portanto o professor geralmente é um modelo maior da mesma família. Aprende com seus próprios erros.
- Prompt: “Qual é a diferença entre EBITDA e EBIT?”
- O aluno começa bem, depois escreve “O EBIT adiciona de volta a depreciação…”, o que está invertido: é o EBITDA que a adiciona de volta.
- No token “adiciona”, as probabilidades do professor favorecem “deduz” ou “subtrai”; as do aluno favoreceram “adiciona”. A divergência é grande exatamente aí.
- A atualização diminui “adiciona” e aumenta as escolhas do professor nesse contexto: a correção precisa. Tokens onde os dois já concordam não contribuem quase nada.
- O RL com um avaliador teria dado uma pontuação baixa para a resposta inteira e desencorajado todos os seus tokens igualmente, incluindo os corretos.
KL direto, KL reverso ou uma mistura
As distribuições do aluno e do professor podem ser comparadas em duas direções, e a escolha muda o que o aluno se torna.
- KL direto, KL(professor ‖ aluno), penaliza fortemente o aluno por dar baixa probabilidade a qualquer coisa que o professor considere provável. O aluno se espalha para cobrir todas as opções do professor (cobertura de modo). Um aluno pequeno que não consegue acomodar todas acaba distribuindo o peso entre elas, o que pode produzir um texto vago ou de baixa qualidade.
- KL reverso, KL(aluno ‖ professor), penaliza fortemente o aluno por dizer coisas que o professor considera improváveis. O aluno se compromete com a opção principal do professor e ignora o resto (busca de modo): mais nítido, mais decisivo, menos variado.
- A divergência de Jensen-Shannon (JSD), e sua forma generalizada, mescla os dois. O artigo sobre GKD descobriu que a melhor escolha depende da tarefa.
O KL reverso é adequado para alunos pequenos e tarefas com uma resposta certa em mente, e é por isso que é comum para a destilação on-policy de modelos de chat e raciocínio: o artigo de 2025 da Thinking Machines usa um KL reverso por token, e o DistillationTrainer da TRL o adota como padrão. Na Scalata, essa escolha é a configuração de divergência β.
Requisitos e custos
- Mesmo vocabulário. As distribuições são comparadas token por token, portanto, ambos os modelos devem dividir o texto nos mesmos tokens. Na prática, o professor é um modelo maior da mesma família, por exemplo, o Qwen2.5-3B ensinando o Qwen2.5-0.5B.
- Ambos os modelos na GPU. O professor é carregado junto com o aluno; um professor de 3B em bf16 precisa de cerca de 6 GB além do aluno.
- Tempo de geração. Cada etapa gera respostas token por token, o que a torna mais lenta do que o treinamento supervisionado nos mesmos dados; o comprimento máximo da resposta de prática é a principal alavanca.
- Estilo. O aluno aprende os hábitos do professor, incluindo o comprimento. Para obter também o estilo da sua equipe, execute um treinamento supervisionado nas suas respostas depois, continuando a partir do modelo destilado.
A recompensa pode ser grande. Os números do relatório técnico do Qwen3, comparados no artigo da Thinking Machines, mostram que a destilação on-policy levou o Qwen3-8B a 74,4% no AIME'24 com cerca de 1.800 horas de GPU, enquanto o RL a partir de um ponto de partida semelhante atingiu 67,6% com 17.920. Com modelos pequenos em tarefas restritas, os ganhos são menores, mas o sinal por token ainda avança mais um aluno por prompt do que um punhado de respostas do professor faria.
Erros comuns
- Escolher um professor de outra família de modelos. Os vocabulários diferem, portanto, a comparação token por token é impossível.
- Esquecer a memória do professor. Uma GPU que acomoda apenas o aluno pode não acomodar ambos.
- Definir um longo comprimento de resposta de prática “por segurança”. A geração domina o tempo da etapa.
- Esperar o seu estilo. Suas respostas nunca são alvos aqui.
Referências e leitura complementar
Fontes externas abrem em uma nova aba.
- 01On-Policy Distillation of Language Models: Learning from Self-Generated MistakesAgarwal et al., 2024 · ICLR / arXiv · arxiv.orgO método: treinar nas próprias saídas do aluno com feedback do professor no nível do token e uma escolha de divergência.
- 02MiniLLM: On-Policy Distillation of Large Language ModelsGu et al., 2023 · arXiv · arxiv.orgDefende o KL reverso ao destilar para modelos de linguagem pequenos.
- 03On-Policy DistillationThinking Machines Lab, 2025 · thinkingmachines.aiUm relato prático, com comparações de processamento em relação ao RL e uso para recuperação de habilidades após treinamento adicional.
- 04Distillation TrainerHugging Face TRL docs · huggingface.coUm treinador de destilação on-policy de código aberto e sua definição de β.