Self-Distilled Reasoning: como o Amazon Nova preserva capacidades gerais durante o fine-tuning supervisionado

O problema que o SDR resolve

Quem já trabalhou com Ajuste Fino Supervisionado (SFT — Supervised Fine-Tuning) de modelos de linguagem sabe que criar rastros de raciocínio em cadeia de pensamento (CoT — Chain-of-Thought) para os dados de treinamento é caro e muitas vezes inviável. A solução comum é simplesmente omitir o raciocínio e treinar apenas com pares de entrada e saída. O problema é que isso tem um custo alto — e a AWS acaba de publicar uma pesquisa detalhando exatamente o que acontece e como contornar isso.

O raciocínio é uma capacidade central da família Amazon Nova 2, com ganhos comprovados em tarefas difíceis como programação e matemática. Quando você faz SFT em datasets sem rastros de raciocínio, o modelo entra em um estado chamado de supressão do raciocínio: ele aprende a “pular” o pensamento intermediário e vai direto para a resposta — mesmo que o modo de raciocínio esteja ativado na inferência.

O resultado é devastador. Nos experimentos da AWS, o desempenho em matemática caiu de 70% (modelo base) para apenas 6% em média após SFT convencional. Esse fenômeno é conhecido como esquecimento catastrófico — o modelo adquire novas habilidades, mas destrói as que tinha antes.

Por que isso acontece: a supressão do raciocínio

A explicação técnica é direta. Durante o SFT, a função de perda calcula o erro sobre os tokens de raciocínio e de saída em conjunto. Quando os dados de treinamento contêm apenas pares entrada-saída sem etapas intermediárias, o modelo não recebe nenhum sinal de supervisão para gerar rastros de raciocínio coerentes. A função de perda acaba penalizando tokens que não contribuem diretamente para a resposta final, ensinando o modelo a contornar seus próprios mecanismos de raciocínio. Esse comportamento exemplifica o aprendizado por atalho, onde o modelo se apoia em correlações espúrias em vez de aprender padrões robustos.

Apesar da supressão, ativar o raciocínio tanto no treinamento quanto na inferência traz ganhos expressivos. A tabela abaixo, extraída dos experimentos com o dataset LLaVA CoT e diferentes pesos de fusão LoRA (Adaptação de Baixo Posto — LoRA), ilustra esse efeito:

Peso de fusão Desempenho alvo (raciocínio ativado) Desempenho alvo (raciocínio desativado) Delta
0,0 (base) 12,30% 12,30% 0%
0,3 34,38% 35,28% -0,9%
0,5 60,51% 48,80% +11,7%
0,7 66,67% 54,05% +12,6%
1,0 (fusão completa) 65,17% 47,90% +17,3%

A solução atual: fusão de modelos e suas limitações

A abordagem recomendada até então para lidar com a supressão do raciocínio era a fusão de modelos (model merging): após o SFT, interpola-se por pesos o checkpoint ajustado com o modelo base, recuperando parte das capacidades gerais perdidas. Funciona — mas introduz um compromisso difícil de calibrar entre desempenho no domínio-alvo e desempenho geral.

Imagem original — fonte: Aws

O diagrama acima resume bem o dilema: o SFT convencional maximiza o desempenho no alvo mas destrói o desempenho geral. A fusão de modelos recupera parte do desempenho geral, mas sacrifica ganhos no alvo. O SDR, por sua vez, consegue o melhor dos dois mundos — desempenho no alvo igual ou superior ao SFT puro, com preservação quase total das capacidades gerais.

Self-Distilled Reasoning: a técnica

O Raciocínio Auto-Destilado (SDR — Self-Distilled Reasoning) funciona em três etapas simples:

  • Usa o modelo base de raciocínio (como o Amazon Nova 2 Lite) para gerar rastros de CoT para cada exemplo do dataset de SFT.
  • Aumenta os dados de treinamento prefixando esses rastros de raciocínio às saídas originais.
  • Realiza o fine-tuning com o modo de raciocínio ativado, fornecendo supervisão tanto nos tokens de raciocínio quanto nos de saída.

As vantagens práticas são consideráveis: custo zero de anotação (nenhum esforço humano para criar os rastros), consistência com a abordagem de resolução de problemas do próprio modelo base, aplicabilidade a qualquer dataset de SFT independentemente do domínio, e flexibilidade para usar diferentes modelos como “professor”.

A auto-destilação — onde um modelo aprende a partir de suas próprias previsões — tem se mostrado eficaz em diversos contextos, e há uma literatura crescente que defende essa abordagem como mecanismo poderoso para mitigar o esquecimento catastrófico.

Por que o SDR funciona: três funções dos rastros de raciocínio

Os rastros de raciocínio no SFT cumprem três papéis fundamentais que conectam os paradigmas de ajuste fino por reforço (RFT — Reinforcement Fine-Tuning), regularização e auto-destilação:

  • Regularização implícita de política: restringe o modelo ajustado a permanecer próximo à política do modelo base, prevenindo o esquecimento catastrófico de forma similar à regularização KL no RLHF.
  • Supervisão de processo: análogo ao reforço passo a passo no RFT, leva a generalização mais robusta do que supervisão apenas de resultados finais.
  • Auto-destilação rica: captura o processo de resolução de problemas do modelo, não apenas as saídas finais, conforme demonstrado em pesquisas recentes de aprendizado contínuo.

Como construir os rastros de raciocínio

A AWS descreve duas abordagens para gerar os rastros de CoT via Amazon Bedrock, cada uma com trade-offs diferentes:

Raciocínio básico

Gera os rastros de forma direta, onde o modelo produz seu raciocínio dado apenas a pergunta — mimetizando o comportamento na inferência. O template de prompt é:

Think through this question naturally and show your reasoning: {user_text}

Format your response with <thinking> tags for reasoning and <answer> tags for the final answer.
Use a consistent reasoning style.

Raciocínio guiado

Usa a disponibilidade das respostas corretas para guiar a geração de raciocínio de forma retroativa. Fornece tanto a pergunta quanto a resposta, pedindo ao modelo que reconstrua um raciocínio plausível que as conecte — similar a abordagens de aprendizado por retrospectiva. Um passo de filtragem secundária remove menções à resposta no rastro de raciocínio para evitar vazamento de informação.

Generate natural reasoning for solving this question. Act as if you don't know the answer yet.

Question: {user_text}
Answer to arrive at: {assistant_content}

Format your response with <thinking> tags for reasoning and <answer> tags for the final answer.
Write natural reasoning that works toward this answer without assuming you know it beforehand.
Use a consistent reasoning style.

Pipeline de implementação

O código abaixo demonstra como implementar o raciocínio guiado usando a API Converse do Amazon Bedrock. O pipeline lê os dados de treinamento SFT, gera rastros de CoT e monta o dataset final com blocos reasoningContent:

import json, re, boto3, time

MODEL_ID = "amazon.nova-lite-v1:0"
bedrock = boto3.client("bedrock-runtime", region_name="us-east-1")

COT_SYSTEM = """You are an expert evaluator. Provide a detailed Chain-of-Thought explaining why the given ground truth answer is correct and makes sense."""

COT_USER_TEMPLATE = """Given the task context and ground truth annotation, provide a Chain-of-Thought.

**Original System Context:** {system_prompt}
**Original User Request:** {user_prompt}
**Ground Truth Annotation:**
```json
{ground_truth}
```
ONLY provide your justification within <justification></justification> tags."""
# Invoke Bedrock for each CoT prompt
for req in cot_requests:
    response = bedrock.converse(
        modelId=MODEL_ID,
        system=[{"text": req["system"]}],
        messages=[{"role":"user", "content":[{"text":req["query"]}]}],
        inferenceConfig={"maxTokens":4096,"temperature":0.3,"topP": 0.9,"topK": 50})
    output = response["output"]["message"]["content"][0]["text"]
    time.sleep(2)  # rate limit

# Parse <justification> tags and build SFT dataset
for idx, item in enumerate(original_data):
    tags = extract_xml_tag(inference[idx], "justification")
    reasoning_block = {"reasoningContent": {"reasoningText": {"text": "Based on the provided context, lets think"
        " step by step " + tags[0].strip()}}}
    sft_dataset.append({
        "schemaVersion": "bedrock-conversation-2024",
        "system": item["system"],
        "messages": [item["messages"][0],
            {"role": "assistant", "content": [reasoning_block, original_text]}]})

Os parâmetros de inferência utilizados são: temperature: 0.3 (baixa aleatoriedade para rastros consistentes), topP: 0.9 (amostragem nucleus retendo 90% da massa de probabilidade) e topK: 50 (limita candidatos aos 50 tokens mais prováveis).

Resultados dos experimentos

A AWS validou o SDR em três benchmarks sem rastros de raciocínio: MedMCQA (perguntas e respostas médicas, 10k amostras), CoCoHD (extração estruturada de documentos legislativos com contexto longo de 20-60k tokens) e Invoice-OCR (compreensão multimodal de documentos de faturas).

Os resultados consolidados mostram um padrão consistente: o SFT convencional sem rastros de raciocínio derruba a performance em matemática de 70% para praticamente zero, enquanto o SDR mantém essa métrica em torno de 65-70% sem necessidade de fusão de modelos. Em termos de desempenho no domínio-alvo, o SDR entrega ganhos de mais de 6,5% em média em relação aos melhores checkpoints com fusão de modelos.

O que acontece com datasets parcialmente anotados

Um cenário muito comum na prática é ter apenas uma fração dos dados com rastros de raciocínio. Os experimentos de ablação com o dataset LLaVA CoT revelam um comportamento preocupante sem SDR:

Imagem original — fonte: Aws

Sem SDR, reduzir a cobertura de raciocínio abaixo de 75% causa colapso catastrófico na performance em matemática: de 66,6% para 21,7% (50% de cobertura), depois para 3,3% (25%) e finalmente 2,5% (0%). Com SDR, a matemática permanece estável entre 64-72% independentemente da porcentagem de dados com raciocínio — inclusive com 0% de cobertura.

Tokens de raciocínio na inferência

Imagem original — fonte: Aws

Modelos treinados com SDR produzem entre 400 e 860 tokens de raciocínio na inferência. Modelos treinados com ≤25% de dados de raciocínio sem SDR produzem zero tokens — perderam completamente a capacidade de raciocinar passo a passo. Para referência, o modelo base Amazon Nova 2 Lite produz 1.254 tokens medianos de raciocínio. Após SFT com 100% de dados de raciocínio, esse número cai para 367, indicando que o modelo se torna mais eficiente (menos tokens para mesma ou melhor acurácia).

Raciocínio ativado vs. desativado na inferência

Imagem original — fonte: Aws

Ativar o raciocínio na inferência praticamente dobra o desempenho no MathVista: 35-47% com raciocínio ativado versus 14-22% com raciocínio desativado. A melhor configuração identificada é 50% de dados de raciocínio com SDR, atingindo 45,2% no MathVista com 70,4% no controle de matemática. Um achado interessante: treinar com SDR melhora o desempenho mesmo quando o raciocínio é desativado na inferência — por exemplo, com 75% dos dados sem supervisão CoT, o SDR eleva o desempenho em mais de 5 pontos percentuais mesmo sem raciocínio na inferência (de 16,4% para 21,3%).

Guia prático de decisão

A AWS consolidou as recomendações em um guia de cenários para ajudar profissionais a escolher entre SDR, fusão de modelos ou SFT padrão:

Cenário Recomendação
SFT sem raciocínio com regressão em performance geral Se sensível a latência: use fusão de modelos. Se latência permite raciocínio: use SDR com rastros do Nova 2 Lite.
Modelo base fraco no domínio-alvo Considere raciocínio guiado para sinal adicional na geração dos rastros.
Dataset já tem ≥50% de raciocínio Treine com raciocínio ativado. Os rastros existentes são suficientes.
Dataset tem <50% de rastros de raciocínio Se latência permite raciocínio na inferência, preencha os rastros ausentes com o Nova 2 Lite (uma vez, offline).
Não precisa de capacidades gerais SFT padrão é suficiente.
Aprendizado contínuo ou preservação de múltiplas habilidades Combine SDR com mistura de dados e peso de fusão pequeno (ou zero).
Ainda quer usar fusão de modelos Use um peso de fusão menor quando SDR estiver aplicado — o SDR já fornece a regularização que a fusão compensava.

Uma observação importante sobre a escolha do professor

Um professor mais forte nem sempre é melhor. Os experimentos mostram que rastros gerados pelo Amazon Nova 2 Pro (Preview) melhoram a acurácia no domínio-alvo, mas causam queda proporcional no desempenho geral — consistente com achados anteriores de que uma grande diferença entre aluno e professor prejudica a destilação. Os rastros gerados pelo Nova 2 Lite oferecem o resultado mais equilibrado entre desempenho alvo e geral, sendo a opção padrão recomendada para clientes do Amazon Nova 2 Lite.

Para mais informações sobre os modelos Amazon Nova e opções de customização, consulte a documentação do Amazon Bedrock. Para começar com customização SFT, acesse o guia de customização de modelos do Amazon Bedrock.

Fonte

Exploring self-distilled reasoning for supervised fine-tuning with Amazon Nova (https://aws.amazon.com/blogs/machine-learning/exploring-self-distilled-reasoning-for-supervised-fine-tuning-with-amazon-nova/)

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *