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.
Tópicos
Formato de dados
Os dados de treinamento do RFT seguem o formato
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) euser(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 rastreamentotask_id: identificador de nível de tarefadifficulty_level: indicador de complexidade do problemadomain: área ou categoria do assuntoexpected_reasoning_steps: número de etapas na solução
Critérios de avaliação
evaluation_criteria: rubricas de classificação específicascustom_scoring_weights: importância relativa de diferentes aspectoscontext_data: informações de contexto sobre o problemaexternal_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.
Recursos compatíveis
A tabela a seguir resume o suporte de recursos para RFT no Amazon Nova 2.
| 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çã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çã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çã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 |