Avançado
Distillation: fazendo modelos pequenos brigarem acima do peso
A knowledge distillation treina um student menor a partir das saídas de um teacher — o caminho prático de um modelo de 27B que nunca vai caber num celular para algo que cabe, e a ponte do post-training até o hardware de borda.
Atualizada em
01 · Conceito
Conceito
Você construiu algo bom sobre o Qwen3.8-27B e agora alguém pede isso num celular, offline. Faça a aritmética antes de responder. Os pesos são 54 GB em bf16. A lição 7.10 fixa o artefato comunitário Q4_K_M do modelo de texto em 17,1 GB (15,93 GiB), antes do projector multimodal separado, do cache e da memória do runtime. O orçamento inteiro de memória de um celular topo de linha fica abaixo dessa exigência prática. Quantization mais agressiva pode reduzir mais o armazenamento, mas nunca diminui a quantidade de parâmetros nem muda a arquitetura; quando qualidade ou suporte do runtime tornam o alvo inviável, você precisa de um modelo menor. A lição 9.7 detalha o hardware de borda; esta lição trata de como treinar esse modelo menor.
Knowledge distillation é compressão aprendida de modelo: ela treina um student menor para imitar sinais de um teacher, buscando preservar comportamento útil com menos memória, latência e custo de serving. Não é compressão de arquivo sem perdas nem recodificação dos mesmos pesos; o student tem outra parametrização e aprende uma aproximação sobre uma distribuição escolhida de inputs.
A forma clássica usa os logits do teacher. Uma temperatura suaviza a distribuição do teacher, e o student minimiza uma divergência em relação a ela, normalmente misturada com a loss comum sobre rótulos verdadeiros:
As probabilidades fora do alvo carregam informação relacional. Se o teacher atribui massa moderada a dois tokens semanticamente relacionados e quase nenhuma ao resto, o student aprende algo que um rótulo one-hot nunca codifica. Essa rota normalmente está fechada para teachers de fronteira servidos atrás de uma API, e é por isso que a maior parte da distillation prática é no nível da sequência. O Qwen3.8-27B é a exceção que torna a escolha real: ele vem com pesos abertos sob Apache 2.0, então seus logits sobre todas as 248.320 linhas do vocabulário são seus para ler. Isso é uma vantagem genuína de um teacher de pesos abertos, embora venha com um problema de armazenamento próprio — alvos suaves em cache sobre um vocabulário de um quarto de milhão de linhas são enormes, então as implementações costumam guardar apenas as poucas centenas de entradas do topo por posição.
Sequence distillation é a outra rota: o teacher responde a um conjunto curado de prompts, as saídas são filtradas, verificadas ou ordenadas, e o student roda SFT sobre as sobreviventes. Percorra uma montagem passo a passo, porque as decisões interessantes estão todas na geração de dados.
Primeiro, escolha o modo e seu preset. Se você quer que o student produza respostas diretas, gere com instruct mode — enable_thinking em False, temperature 0.7, top_p 0.80, top_k 20. Se você quer traços de raciocínio no currículo, gere sob o preset de thinking de temperature 1.0, top_p 0.95, top_k 20. Geração fora do preset produz uma distribuição de teacher que o fabricante nunca entregou, e você estaria destilando um modelo que ninguém validou.
Segundo, verifique antes de aceitar. Onde quer que exista um verificador — testes, uma comparação de resposta exata, um validador de schema — rode-o e descarte as falhas, exatamente como a lição 6.8 defendeu para sinais de treino. Filtrar a saída do teacher com o próprio teacher é aprovação circular e ensina os erros dele com confiança extra.
Terceiro, precifique. Suponha 200.000 prompts com média de 800 tokens de saída: isso dá 160 milhões de tokens de saída. Servido pelo Cloudflare Workers AI a USD 3,20 por milhão de tokens de saída, a geração custa cerca de USD 512, mais os tokens de entrada a USD 0,45 por milhão. É ilustrativo e específico dos preços de agosto de 2026, mas o formato é o ponto — currículos sintéticos são baratos o bastante para iterar e caros o bastante para que gerar dez vezes mais dados do que você filtrou seja desperdício real.
Agora o desvio clássico, e ele é tentador precisamente porque thinking mode o torna fácil. O teacher produz traços de raciocínio longos e articulados, então um time destila os traços num student pequeno esperando que o student também raciocine. O que chega é um student que aprendeu a forma de um traço longo sem a capacidade de rodar a busca por baixo dele: deliberação fluente em vários passos, conclusões confiantemente erradas e uma conta de tokens várias vezes maior que a do student de resposta direta que ele substituiu. Você pagou por raciocínio duas vezes — uma para gerar os traços, outra em toda inferência — e comprou um modelo pior. A correção é filtrar traços por desfecho em vez de por aparência, mantendo apenas aqueles cuja resposta final passou por um verificador, e avaliar o student por acurácia por token de saída em vez de por quanto seus traços se parecem com os do teacher. Muitas vezes a resposta certa é que um student pequeno não deveria raciocinar em voz alta, e deveria em vez disso aprender as respostas diretas que o raciocínio do teacher produziu.
A cobertura de prompts define o que se transfere. Um currículo cheio de aritmética melhora aritmética e deixa seguimento de instruções multilíngue exatamente onde estava. Prompts fáceis saturam sem tocar a fronteira de decisão do student; prompts muito além da capacidade do student viram ruído. Geração adaptativa mira os casos em que student e teacher discordam, ou em que verificação externa consegue separar as estratégias que funcionaram.
A capacidade impõe um teto real, e ele não aparece num escore médio de benchmark. Um student menor tipicamente retém comportamento frequente de superfície enquanto perde conhecimento raro, competência em contexto longo, nuance multilíngue e composição robusta de várias instruções. Avalie por fatia — capacidade, dificuldade, idioma, fronteira de segurança, distribuição de prompts — e compare contra um student treinado em dados originais, para que as melhorias possam ser atribuídas ao sinal do teacher e não a tokens extras.
A distillation pode ser offline, a partir de um dataset sintético fixo, ou online, consultando o teacher conforme o student muda. Dados offline são reprodutíveis e baratos de reutilizar, mas envelhecem conforme o student se move. Ensino online mira os erros atuais a custo mais alto e reprodutibilidade pior. Distillation de features intermediárias fica disponível quando arquiteturas e ativações são acessíveis, embora casar representações internas tenda a restringir demais um student cuja geometria difere — e é um mau encaixe aqui, já que o arranjo híbrido do Qwen3.8-27B, com 48 camadas Gated DeltaNet e 16 camadas de attention completa, dificilmente coincide com o que quer que o student seja.
As técnicas se compõem. Destile primeiro, depois quantize o student (lições 7.9 e 7.10), ou use sinais do teacher durante o treino consciente de quantização para recuperar o que a quantização custou. Elas resolvem problemas diferentes: distillation muda o que um modelo menor aprende, quantização muda como seus pesos são representados, e os deploys de borda da lição 9.7 normalmente precisam das duas. O modelo durável é transferência comportamental guiada por currículo — o teacher fornece alvos mais ricos, o student comprime o que cabe dentro da sua capacidade, a avaliação revela o que sobreviveu. Um modelo pequeno briga acima do peso não porque contenha secretamente o teacher, mas porque supervisão cuidadosamente escolhida gastou sua capacidade limitada nos comportamentos que importavam.
02 · Analogia
Analogia
Uma mestre relojoeira não consegue enfiar uma oficina inteira num kit de reparo de viagem. Em vez disso, ela demonstra reparos representativos, explica os pontos de decisão e deixa um aprendiz praticar em defeitos cuidadosamente escolhidos. O kit fica excelente para os trabalhos a que se destina sem conter todas as máquinas da oficina. Um student destilado da mesma forma comprime o comportamento de um teacher numa capacidade limitada; demonstrações e currículo decidem quais habilidades sobrevivem à mala.
03 · Explique de volta
Explique de volta
Distinga distillation de logits de distillation de sequência, explique o que um teacher de pesos abertos torna possível, e diga por que quantizar o teacher não é alternativa a destilá-lo.
Comparar com uma resposta-modelo
A distillation de logits treina o student contra a distribuição de probabilidade completa do teacher, cuja massa fora do alvo revela quais alternativas o teacher considera plausíveis. A distillation de sequência treina sobre respostas amostradas ou selecionadas do teacher, que é a única opção quando o teacher é servido atrás de uma API. Como o Qwen3.8-27B tem pesos abertos sob Apache 2.0, os logits estão disponíveis e as duas rotas estão abertas. Quantization é outra forma de compressão de modelo: ela representa os mesmos tensores do modelo de texto de modo mais compacto; o arquivo Q4_K_M fixado tem 17,1 GB (15,93 GiB), mas a arquitetura não muda. Distillation treina uma parametrização genuinamente menor. Ela se torna necessária apenas quando nenhuma quantization suportada atende aos requisitos de memória, qualidade e latência.
04 · Teste seu entendimento
Teste seu entendimento
Conclua o teach-back e acerte o quiz para finalizar a aula.
◎ · Marcador de evidência
Fontes
- Geoffrey Hinton, Oriol Vinyals e Jeff Dean (2015). Distilling the Knowledge in a Neural Network.
- Qwen Team (2026). Qwen3.8-27B Model Card.