View a markdown version of this page

Preparando dados para RFT no Amazon Nova 2 - Amazon Nova

Preparando dados para RFT no Amazon Nova 2

No momento, o RFT no Amazon Nova 2 oferece suporte a dados de treinamento baseados em texto. Esta página descreve o formato dos dados, recursos compatíveis, restrições e melhores práticas para preparar dados de treinamento de RFT para os modelos de compreensão do Amazon Nova 2.

dica

Para validar o formato do conjunto de dados antes de iniciar uma tarefa de treinamento, consulte Ferramentas de validação.

Formato de dados

Os dados de treinamento do RFT seguem o formato de ajuste fino por reforço da OpenAI. Cada linha no arquivo de treinamento JSONL é um objeto JSON com os campos de nível superior a seguir. Expanda uma seção para saber mais:

Obrigatório. Uma matriz de turnos de conversação usando os perfis system, user e, opcionalmente, assistant.

  • role: obrigatório. Valores comuns: system (instruções para o modelo) e user (a tarefa ou entrada).

  • content: obrigatório. O conteúdo do texto da mensagem Para turnos do sistema, essas são as instruções; para turnos do usuário, essa é a tarefa ou entrada.

"messages": [ { "role": "system", "content": "instructions" }, { "role": "user", "content": "prompt" } ]

Obrigatório. O resultado esperado ou os critérios de avaliação que sua função de recompensa usa para pontuar a resposta do modelo. Esse campo não se limita a resultados estruturados. Ele pode conter qualquer formato que ajude sua função de recompensa a avaliar a qualidade.

"reference_answer": { "field": "value" }

Opcional. Uma matriz de especificações de ferramentas disponíveis para o modelo durante este exemplo. Cada item define a interface e os metadados de uma ferramenta. Para um exemplo completo, consulte Chamada de ferramentas.

"tools": [ { "type": "function", "function": { "name": "tool-name", "description": "tool-description", "parameters": { ... } } } ]

O formato de dados RFT oferece suporte a campos personalizados além de messages e reference_answer. Inclua quaisquer dados adicionais de que sua função de recompensa precise para uma avaliação adequada. Você não precisa configurá-los em sua receita, pois eles são passados para sua função de recompensa no campo metadata em tempo de execução.

Os exemplos comuns incluem:

Metadados

  • id: identificador único de rastreamento

  • task_id: identificador de nível de tarefa

  • difficulty_level: indicador de complexidade do problema

  • domain: área ou categoria do assunto

  • expected_reasoning_steps: número de etapas na solução

Critérios de avaliação

  • evaluation_criteria: rubricas de classificação específicas

  • custom_scoring_weights: importância relativa de diferentes aspectos

  • context_data: informações de contexto sobre o problema

  • external_references: links para documentação ou recursos relevantes

Validar seus dados

Antes de enviar sua tarefa de treinamento, valide seu conjunto de dados para detectar problemas de formatação com antecedência. Para obter as ferramentas de validação disponíveis, consulte Ferramentas de validação.

Exemplos de entrada

Veja a seguir exemplos completos de objetos JSON que mostram como combinar os campos para diferentes casos de uso de RFT.

Chemistry problem
{ "id": "chem-01", "messages": [ { "role": "system", "content": "You are a helpful chemistry assistant" }, { "role": "user", "content": "Calculate the molecular weight of caffeine (C8H10N4O2)" } ], "reference_answer": { "molecular_weight": 194.19, "unit": "g/mol", "calculation": "8(12.01) + 10(1.008) + 4(14.01) + 2(16.00) = 194.19" } }
Math problem
{ "id": "math-001", "messages": [ { "role": "system", "content": "You are a math tutor" }, { "role": "user", "content": "Solve: 2x + 5 = 13" } ], "reference_answer": { "solution": "x = 4", "steps": ["2x = 13 - 5", "2x = 8", "x = 4"] } }
Code problem
{ "id": "code-002", "messages": [ { "role": "system", "content": "You are a helpful programming assistant" }, { "role": "user", "content": "Write a Python function that reverses a string without using built-in reverse methods" } ], "reference_answer": { "code": "def reverse_string(s):\n result = ''\n for i in range(len(s) - 1, -1, -1):\n result += s[i]\n return result", "test_cases": [ { "input": "hello", "expected_output": "olleh" }, { "input": "", "expected_output": "" }, { "input": "a", "expected_output": "a" }, { "input": "Python123", "expected_output": "321nohtyP" } ], "all_tests_pass": true } }
Tool usage
{ "id": "tool-001", "messages": [ { "role": "system", "content": "You are a helpful game master assistant" }, { "role": "user", "content": "Generate a strength stat for a warrior character. Apply a +2 racial bonus modifier." } ], "tools": [ { "type": "function", "function": { "name": "StatRollAPI", "description": "Generates character stats by rolling 4d6, dropping the lowest die result, and applying a modifier.", "parameters": { "type": "object", "properties": { "modifier": { "description": "An integer representing the modifier to apply to the total of the stat roll.", "type": "integer" } }, "required": ["modifier"] } } } ], "reference_answer": { "tool_called": "StatRollAPI", "tool_parameters": { "modifier": 2 }, "expected_behavior": "Call StatRollAPI with modifier=2 and return the calculated stat value" } }
With additional properties

O exemplo a seguir inclui campos de metadados personalizados que são passados para sua função de recompensa durante a avaliação, permitindo uma lógica de pontuação sofisticada adaptada ao seu caso de uso específico.

{ "messages": [ { "role": "system", "content": "You are a math tutor" }, { "role": "user", "content": "Solve: 2x + 5 = 13" } ], "reference_answer": { "solution": "x = 4", "steps": ["2x = 13 - 5", "2x = 8", "x = 4"] }, "task_id": "algebra_001", "difficulty_level": "easy", "domain": "algebra", "expected_reasoning_steps": 3 }

Recursos compatíveis

A tabela a seguir resume o suporte de recursos para RFT no Amazon Nova 2.

Suporte a recursos do RFT
Recurso RFT no Amazon Nova 2
Compreensão de texto Compatível com Nova 2.0 Lite. Consulte Compreensão geral/de texto.
Compreensão de imagens Não compatível
Compreensão de vídeos Não compatível
Compreensão do documento Não compatível
Chamada de ferramentas Compatível com Nova 2.0 Lite. Consulte Chamada de ferramentas.
Reasoning Compatível com Nova 2.0 Lite. Consulte Reasoning.

Compreensão geral/de texto

Esta seção resume as restrições gerais e as melhores práticas para preparar o RFT nos dados de treinamento do Amazon Nova 2.

Restrições

Restrições gerais de conjunto de dados
Restrição Detalhes
Formato dos conjuntos de dados JSONL (um objeto JSON por linha).
Mínimo de exemplos de treinamento 100
Mínimo de exemplos de avaliação 100
Modalidades oferecidas Somente texto

Práticas recomendadas

  • Recomendamos começar com os tamanhos mínimos do conjunto de dados (100 exemplos de treinamento e 100 de avaliação) e ampliar depois de validar sua função de recompensa e confirmar que o RFT é apropriado para seu caso de uso.

  • Recomendamos uma abordagem que priorize a avaliação. Antes de investir em treinamento de RFT em grande escala, avalie a performance básica do seu modelo:

    • Alta performance (>95% de recompensa): o RFT pode ser desnecessário, pois seu modelo já tem uma boa performance.

    • Performance muito baixa (0% de recompensa): mude primeiro para o SFT para estabelecer os recursos básicos.

    • Performance moderada: o RFT provavelmente é apropriado.

  • Começar com um pequeno conjunto de dados ajuda você a validar se sua função de recompensa está livre de bugs, confirmar que o RFT é a abordagem correta, identificar e corrigir problemas com antecedência e testar o fluxo de trabalho antes de aumentar a escala.

  • Priorize dados de entrada de alta qualidade e uma função de recompensa confiável que seja executada de forma consistente nas respostas do modelo.

Exemplo de entrada

{ "id": "math-001", "messages": [ { "role": "system", "content": "You are a math tutor" }, { "role": "user", "content": "Solve: 2x + 5 = 13" } ], "reference_answer": { "solution": "x = 4", "steps": ["2x = 13 - 5", "2x = 8", "x = 4"] } }

Chamada de ferramentas

O RFT é compatível com modelos de treinamento em padrões de chamada de ferramentas, permitindo que seu modelo aprenda quando e como invocar ferramentas ou funções externas.

Restrições

Restrições de chamada de ferramentas
Restrição Detalhes
Local de definição de ferramentas As ferramentas são declaradas na matriz tools de nível superior do exemplo de treinamento.
Formato de definição de ferramentas Cada ferramenta deve incluir type, function.name, function.description e um esquema JSON válido em function.parameters.
Número de referência Use reference_answer para especificar a invocação esperada da ferramenta (por exemplo, tool_called, tool_parameters) para que sua função de recompensa possa avaliar a exatidão.

Práticas recomendadas

  • Garanta que suas definições de ferramentas sejam consistentes em todas as amostras de treinamento.

  • O modelo aprende padrões de invocação de ferramentas das demonstrações que você fornece.

  • Inclua diversos exemplos de quando usar cada ferramenta e de quando não usá-las.

Exemplo de entrada

{ "id": "tool-001", "messages": [ { "role": "system", "content": "You are a helpful game master assistant" }, { "role": "user", "content": "Generate a strength stat for a warrior character. Apply a +2 racial bonus modifier." } ], "tools": [ { "type": "function", "function": { "name": "StatRollAPI", "description": "Generates character stats by rolling 4d6, dropping the lowest die result, and applying a modifier.", "parameters": { "type": "object", "properties": { "modifier": { "description": "An integer representing the modifier to apply to the total of the stat roll.", "type": "integer" } }, "required": ["modifier"] } } } ], "reference_answer": { "tool_called": "StatRollAPI", "tool_parameters": { "modifier": 2 }, "expected_behavior": "Call StatRollAPI with modifier=2 and return the calculated stat value" } }

Reasoning

O RFT no Amazon Nova 2 oferece suporte ao modo de raciocínio, onde o modelo gera tokens de pensamento explícito antes de produzir uma resposta final. Você controla o comportamento do raciocínio durante o treinamento com o campo de configuração de treinamento reasoning_effort.

Restrições

Restrições de raciocínio
Restrição Detalhes
Modos disponíveis none (omita o campo reasoning_effort), low e high. Não há a opção medium para o RFT.
Comportamento padrão Se o campo reasoning_effort estiver ausente da sua configuração, o raciocínio será desabilitado.
Limite de tokens Quando o raciocínio está habilitado, defina max_new_tokens como 32768 para acomodar saídas de raciocínio estendidas.

Quando usar cada modo

Use o raciocínio high para:

  • Tarefas analíticas complexas

  • Resolução de problemas matemáticos

  • Dedução lógica de várias etapas

  • Tarefas em que o pensamento passo a passo agrega valor

Use none (omita reasoning_effort) ou raciocínio low para:

  • Consultas factuais simples

  • Classificações diretas

  • Velocidade e otimização de custos

  • Respostas diretas a perguntas

Compensações de custo e desempenho

Os modos de raciocínio mais altos aumentam:

  • O tempo e o custo do treinamento

  • A latência e o custo da inferência

  • A capacidade de modelar para tarefas complexas de raciocínio

Características dos dados de treinamento efetivos

Clareza e consistência

Bons exemplos de RFT exigem dados de entrada claros e inequívocos que permitam o cálculo preciso da recompensa em diferentes saídas do modelo. Evite ruídos em seus dados, incluindo:

  • Formatação inconsistente

  • Rótulos ou instruções contraditórios

  • Prompts ambíguos

  • Respostas de referência conflitantes

Qualquer ambiguidade induzirá o processo de treinamento ao erro, fazendo com que o modelo aprenda comportamentos indesejados.

Diversidade

Seu conjunto de dados deve capturar toda a diversidade de casos de uso de produção para garantir um desempenho robusto no mundo real. Inclusão:

  • Diferentes formatos de entrada e casos de borda

  • Mapear padrões reais de uso em produção de logs e analytics de usuários

  • Amostra de todos os tipos de usuários, regiões geográficas e variações sazonais

  • Incluir níveis de dificuldade de problemas simples a complexos

Considerações sobre a função de recompensa

Projete sua função de recompensa para um treinamento eficiente:

  • Execute em segundos (não em minutos)

  • Paralelize de forma eficaz com o Lambda

  • Retorne pontuações consistentes e confiáveis

  • Lide com diferentes tipos de saídas de modelo de forma resiliente

As funções de recompensa rápidas e escaláveis permitem uma iteração rápida e uma experimentação econômica.

Treinamento de RFT usando o LLM como avaliador

Visão geral

Os grandes modelos de linguagem (LLMs) estão sendo cada vez mais usados como avaliadores em fluxos de trabalho de ajuste fino por reforço (RFT), fornecendo sinais de recompensa automatizados que orientam a otimização do modelo. Nessa abordagem, um LLM avalia os resultados do modelo em relação a critérios específicos, seja avaliando a exatidão, a qualidade, a aderência ao estilo ou a equivalência semântica, e atribui recompensas que impulsionam o processo de aprendizado por reforço.

Isso é particularmente valioso para tarefas em que as funções de recompensa tradicionais são difíceis de definir de forma programática, como determinar se representações diferentes (como “1/3”, “0,333” e “um terço”) são semanticamente equivalentes, ou avaliar qualidades subjetivas, como coerência e relevância. Ao usar avaliadores baseados em LLM como funções de recompensa, você pode escalar o RFT para domínios complexos sem exigir anotações humanas extensivas, permitindo uma iteração rápida e a melhoria contínua de seus modelos em diversos casos de uso, além dos problemas tradicionais de alinhamento.

Validação do seu LLM como avaliador

Antes de implantar um LLM como avaliador na produção, valide se as avaliações do modelo do avaliador estão alinhadas com a avaliação humana. Isso envolve:

  • Avaliar as taxas de concordância entre o LLM como avaliador e os avaliadores humanos em amostras representativas de sua tarefa

  • Garantir que a concordância do LLM com humanos atinja ou supere as taxas de concordância entre humanos

  • Identificar possíveis vieses no modelo do avaliador

  • Criar confiança de que o sinal de recompensa guia seu modelo na direção pretendida

Essa etapa de validação ajuda a garantir que o processo de avaliação automatizado produza modelos que atendam aos seus critérios de qualidade de produção.

Configuração do Lambda para o LLM como avaliador

Usar um LLM como avaliador é uma extensão do uso das funções do Lambda para aprendizado por reforço com recompensas verificáveis (RLVR). Dentro da função do Lambda, você faz uma chamada para um dos modelos hospedados no Amazon Bedrock.

Requisitos de configuração importantes:

Configuração Requisito Detalhes
Throughput do Amazon Bedrock Cota suficiente Certifique-se de que sua cota de throughput para o modelo do Amazon Bedrock usado seja suficiente para sua workload de treinamento
tempo limite do Lambda Tempo limite estendido Configure o tempo limite da função do Lambda em até o máximo de 15 minutos. A configuração padrão é de 3 segundos, o que é insuficiente para as respostas dos modelos do Amazon Bedrock
Simultaneidade do Lambda Aumento da simultaneidade O Lambda é invocado paralelamente durante o treinamento. Aumente a simultaneidade para maximizar o throughput disponível
Configuração de fórmula Correspondência das configurações do Lambda O limite de simultaneidade deve ser configurado em sua fórmula