As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Treinamento iterativo
Visão geral do
O treinamento iterativo é o processo de ajustar repetidamente um modelo por meio de vários ciclos de treinamento em diferentes métodos de treinamento — treinar, avaliar, analisar erros, ajustar data/objectives/hyperparameters — com cada rodada começando no ponto de verificação anterior. Essa abordagem permite direcionar sistematicamente os modos de falha do modelo, incorporar exemplos selecionados que abordam pontos fracos específicos e se adaptar às mudanças nos requisitos ao longo do tempo.
Benefícios em relação ao treinamento de etapa única:
-
Melhoria direcionada: analise padrões de falha específicos descobertos por meio da avaliação
-
Refinamento adaptativo: responda às mudanças de distribuição ou à evolução dos requisitos do produto
-
Mitigação de riscos: valide as melhorias de forma incremental em vez de se comprometer com uma única execução de treinamento longo
-
Eficiência de dados: concentre os esforços de coleta de dados nas áreas em que o modelo tem uma performance inferior
-
Treinamento curricular: várias rodadas de treinamento com dados de qualidade progressivamente superior
Como funciona
Acesso e local do ponto de verificação
Após a conclusão de cada tarefa de treinamento, um arquivo manifesto é gerado no local de saída especificado pelo parâmetro output_path em sua configuração de treinamento.
Para acessar seu ponto de verificação
-
Navegue até o
output_pathespecificado no S3 -
Faça o download e extraia o arquivo
output.tar.gz. -
Abra o arquivo
manifest.jsonque está dentro -
Localize o parâmetro
checkpoint_s3_bucket, que contém o URI do S3 do seu modelo treinado
Exemplo de estrutura manifest.json
{ "checkpoint_s3_bucket": "s3://customer-escrow-<account-number>-smtj-<unique-identifier>/<job-name>/stepID", ... }
Noções básicas sobre buckets de depósito
Como os pesos do Amazon Nova são proprietários, os pontos de verificação de modelos treinados são armazenados em buckets S3 de garantia em contas AWS gerenciadas, em vez de serem copiados para sua conta. Esses buckets de depósito:
-
Contêm seus pesos de modelos personalizados com segurança
-
Pode ser referenciado por outros AWS serviços (inferência, avaliação e trabalhos de treinamento subsequentes)
-
São acessíveis somente à sua AWS conta por meio de permissões do IAM
-
Incorrem em cobranças de armazenamento padrão do S3 em sua conta (consulte Considerações sobre custo)
Você pode usar o caminho do bucket de depósito como model_name_or_path em sua próxima execução de treinamento para continuar o treinamento iterativo.
Uso de pontos de verificação para treinamento iterativo
Configure sua próxima tarefa de treinamento para usar o ponto de verificação anterior como modelo de base:
run: name: "my-iterative-training-job" model_type: amazon.nova-2-lite-v1:0:256k model_name_or_path: "s3://customer-escrow-<account-number>-smtj-<unique-identifier>/<previous-job-name>" data_s3_path: s3://<bucket>/<data-file>.jsonl replicas: 4
Quando usar o treinamento iterativo
Casos de uso ideais
Use o treinamento iterativo quando você tiver:
-
Ciclos de comentários: capacidade para coletar casos de falha do mundo real e analisá-los sistematicamente
-
Ambientes dinâmicos — documentação em evolução ou tópicos APIs de suporte que exigem atualizações periódicas do modelo
-
Avaliação robusta: avaliações comparativas e frameworks de avaliação fortes (veja os exemplos abaixo) para avaliar as melhorias com confiança
-
Capacidade de operações de ML: recursos para gerenciar vários ciclos de treinamento e controle de versão
Exemplos de frameworks robustos de avaliação
-
Suítes de benchmark automatizadas com limites pass/fail
-
Protocolos de avaliação humana com métricas de confiabilidade entre avaliadores
-
Cenários de testes da red-team que abrangem casos de borda e entradas adversariais
-
Infraestrutura de testes A/B para avaliar o impacto na produção
Padrões comuns
SFT → Pipeline do RFT: um padrão iterativo usado com frequência envolve:
-
SFT primeiro: ensine o modelo a resolver problemas por meio de exemplos de demonstração
-
RFT segundo: otimize a performance em todo o espaço de problemas usando sinais de recompensa
Essa sequência é essencial quando os modelos têm uma performance inicial ruim. O RFT em modelos de precisão próxima de zero não melhorará a performance sem primeiro estabelecer recursos básicos de resolução de problemas por meio do SFT.
Quando não usar o treinamento iterativo
Evite o treinamento iterativo para:
-
Tarefas estáveis e bem definidas: dados estacionários com requisitos consistentes que já atingem uma performance próxima ao limite máximo
-
Problemas simples de classificação: tarefas restritas em que o treinamento de uma única etapa é suficiente
-
Restrições de recursos: falta de recursos operacionais de ML dedicados para gerenciar vários ciclos de treinamento
-
Ganhos marginais: quando a sobrecarga não justifica melhorias mínimas de performance
Exemplo de fluxo de trabalho: SFT → RFT
Este exemplo demonstra um padrão comum de treinamento iterativo para modelos de raciocínio.
Etapa 1: treinamento inicial do SFT
Configure e inicie sua tarefa de treinamento de SFT com seu conjunto de dados:
run: name: "initial-sft-training" model_type: amazon.nova-2-lite-v1:0:256k model_name_or_path: "nova-lite-2/prod" data_s3_path: s3://<bucket>/sft-training-data.jsonl validation_data_s3_path: s3://<bucket>/sft-validation-data.jsonl
Justificativa: o SFT fornece demonstrações adicionais que moldam as saídas do modelo no formato e na voz desejados, estabelecendo recursos fundamentais.
Após o treinamento ser concluído
-
Observe o
output_pathconfigurado em sua tarefa de treinamento -
Faça o download de
output.tar.gznesse local -
Extraia e localize
manifest.json -
Copie o valor
checkpoint_s3_bucket
Etapa 2: treinamento de RFT no ponto de verificação do SFT
Crie uma nova tarefa de treinamento de RFT usando o ponto de verificação do SFT:
run: name: "rft-on-sft-checkpoint" model_type: amazon.nova-2-lite-v1:0:256k model_name_or_path: "s3://customer-escrow-<account-number>-smtj-<unique-identifier>/<initial-sft-training>" data_s3_path: s3://<bucket>/rft-training-data.jsonl reward_lambda_arn: <your-reward-function-arn>
Justificativa: o treinamento de RFT se baseia nos fundamentos do SFT, permitindo que o modelo desenvolva padrões de raciocínio mais complexos, otimizados por sua função de recompensa.
Etapa 3: avaliar e iterar
Execute a avaliação no ponto de verificação do RFT para avaliar a performance:
run: name: "evaluate-rft-checkpoint" model_type: amazon.nova-2-lite-v1:0:256k model_name_or_path: "s3://customer-escrow-<account-number>-smtj-<unique-identifier>/<rft-on-sft-checkpoint>" data_s3_path: s3://<bucket>/evaluation-data.jsonl
Se as métricas-alvo não forem satisfeitas, continue iterando com dados ou hiperparâmetros ajustados.
Importante
A técnica de treinamento (LoRA versus full-rank) deve permanecer consistente em todas as iterações:
-
Se você usa o SFT com LoRA, deve usar o RFT com LoRA
-
Se você usa o SFT com full-rank, deve usar o RFT com full-rank
-
Você não pode alternar entre LoRA e full-rank no meio do pipeline
Importante
Se uma chave do KMS for usada para criptografia no bucket de saída do S3 de propriedade da Amazon, essa mesma chave do KMS deverá ser usada para todas as iterações futuras.
Monitoramento do progresso em todas as iterações
Você pode acompanhar as métricas via MLFlow.
Crie um MLflow aplicativo
Usando a interface do usuário do Studio: se você criar um trabalho de treinamento por meio da interface do usuário do Studio, um MLflow aplicativo padrão será criado automaticamente e selecionado por padrão em Opções avançadas.
Usando a CLI: se você usa a CLI, precisa criar um MLflow aplicativo e passá-lo como entrada para a solicitação da API do trabalho de treinamento.
mlflow_app_name="<enter your MLflow app name>" role_arn="<enter your role ARN>" bucket_name="<enter your bucket name>" region="<enter your region>" mlflow_app_arn=$(aws sagemaker create-mlflow-app \ --name $mlflow_app_name \ --artifact-store-uri "s3://$bucket_name" \ --role-arn $role_arn \ --region $region)
Acesse o MLflow aplicativo
Usando a CLI: crie uma URL pré-assinada para acessar a interface do usuário do MLflow aplicativo:
aws sagemaker create-presigned-mlflow-app-url \ --arn $mlflow_app_arn \ --region $region \ --output text
Usando a interface do usuário do Studio: a interface do usuário do Studio exibe as principais métricas armazenadas MLflow e fornece um link para a interface do usuário do MLflow aplicativo.
Principais métricas a serem acompanhadas
Monitore essas métricas em todas as iterações para avaliar a melhoria e acompanhar o progresso da tarefa:
No SFT
-
Curvas de perda de treinamento
-
Número de amostras consumidas e tempo para processar amostras
-
Precisão de performance em conjuntos de teste retidos
-
Conformidade de formato (por exemplo, taxa de saída JSON válida)
-
Perplexidade nos dados de avaliação específicos do domínio
No RFT
-
Pontuações médias de recompensa em relação ao treinamento
-
Distribuição de recompensas (porcentagem de respostas de alta recompensa)
-
Tendências de recompensa de validação (observe se há sobreajuste)
-
Taxas de sucesso específicas de tarefas (por exemplo, taxa de aprovação de execução de código, precisão de problemas matemáticos)
Geral
-
Avaliação comparativa dos deltas de performance entre as iterações
-
Pontuações de avaliação humana em amostras representativas
-
Métricas de produção (se implantadas de forma iterativa)
Determinação de quando parar
Pare de iterar quando:
-
Estagnação da performance: o treinamento adicional não melhora mais significativamente as métricas-alvo
-
Trocar de técnica ajuda: se uma técnica estagnar, tente alternar (por exemplo, SFT → RFT → SFT) para ultrapassar os limites de performance
-
Métricas-alvo alcançadas: seus critérios de sucesso foram atendidos
-
Regressão detectada: novas iterações degradam a performance (consulte os procedimentos de reversão abaixo)
Para obter procedimentos de avaliação detalhados, consulte a seção Avaliação.
Práticas recomendadas
Comece pequeno e escale gradualmente
Comece com conjuntos de dados mínimos e épocas únicas de treinamento para validar sua abordagem antes de aumentar a escala verticalmente. Isso aumenta a confiança e ajuda a identificar problemas de forma antecipada.
Estabelecer métricas de sucesso claras
Defina indicadores quantitativos e qualitativos antes de começar:
Exemplo de métricas de sucesso por caso de uso
-
Resposta às perguntas: precisão exata de correspondência, pontuação F1, classificações de preferência humana
-
Geração de código: taxa de aprovação no teste unitário, sucesso da compilação, tempo de execução
-
Tarefas de raciocínio: precisão das etapas, exatidão das respostas finais, pontuações de recompensa
-
Geração de conteúdo: pontuações de coerência, precisão factual, aderência ao estilo
Implementar avaliação automatizada
Configure pipelines de avaliação automatizados para monitorar a performance após cada rodada, permitindo uma rápida iteração e comparação objetiva.
Manter um controle de versão rigoroso
Documento para cada iteração:
-
Versões e modificações do conjunto de dados
-
Locais dos pontos de verificação do modelo
-
Alterações de hiperparâmetros
-
Deltas e métricas de performance
-
Observações qualitativas
Isso cria conhecimento institucional e permite a depuração.
Concentrar-se na qualidade dos dados em vez da quantidade
Analise casos de falha de rodadas anteriores e adicione exemplos direcionados e de alta qualidade em vez de simplesmente aumentar o tamanho do conjunto de dados.
Planejar o orçamento de iteração
Planeje de 3 a 5 iterações como um intervalo típico:
-
1 a 2 iterações: geralmente são suficientes para melhorias simples ou polimento final
-
3 a 5 iterações: adequado para tarefas complexas que exigem vários ciclos de refinamento
-
Mais de 5 iterações: pode indicar retornos decrescentes ou necessidade de abordagens diferentes
Ajuste com base no orçamento computacional e nas taxas de melhoria de performance.
Implementar recursos de reversão
Se uma iteração introduzir regressões:
-
Identifique a regressão: compare as métricas de avaliação em todos os pontos de verificação
-
Retorne ao ponto de verificação anterior: use o caminho do S3 do ponto de verificação anterior como seu
model_name_or_path -
Ajuste a abordagem de treinamento: modifique dados, hiperparâmetros ou técnicas antes de tentar novamente
-
Documente a falha: registre o que causou a regressão para evitar que se repita
Exemplo de reversão
run: name: "rollback-to-iteration-2" model_type: amazon.nova-2-lite-v1:0:256k # Use iteration 2 checkpoint instead of failed iteration 3 model_name_or_path: "s3://customer-escrow-<account-number>-smtj-<unique-identifier>/<iteration-2-job-name>"
Considerações sobre custos
Armazenamento de pontos de verificação
-
Localização — Os pontos de verificação armazenados em depósitos de garantia incorrem em cobranças de armazenamento S3 padrão cobradas em sua conta AWS
-
Retenção: os pontos de verificação são retidos indefinidamente, a menos que sejam explicitamente excluídos
-
Gerenciamento: implemente políticas de ciclo de vida para arquivar ou excluir pontos de verificação antigos de que você não precisa mais
Dicas de otimização de custos
-
Exclua os pontos de verificação intermediários após validar as iterações mais recentes
-
Arquive pontos de verificação no S3 Glacier para retenção de longo prazo a um custo menor
-
Defina políticas de retenção com base em suas necessidades de conformidade e experimentação
Limitações
Consistência da família de modelos
Ao treinar iterativamente, você deve usar o mesmo tipo de modelo em todas as iterações.
Treinamento inicial
run: model_type: amazon.nova-2-lite-v1:0:256k model_name_or_path: "nova-lite-2/prod"
As iterações subsequentes devem usar o mesmo model_type
run: model_type: amazon.nova-2-lite-v1:0:256k # Must match original model_name_or_path: "s3://customer-escrow-<account-number>-smtj-<unique-identifier>/<job-name>"
Consistência da técnica de treinamento
A técnica de treinamento deve permanecer consistente em todas as iterações:
-
Modelos treinados via LoRA só podem ser treinados iterativamente via LoRa
-
Full-Rank-trained os modelos só podem ser treinados iterativamente com o Full-Rank
Como os adaptadores LoRA funcionam no treinamento iterativo
-
Cada iteração de treinamento LoRA gera novos pesos de adaptador
-
Os novos adaptadores substituem (não se empilham) os adaptadores anteriores
-
O modelo de base permanece congelado; somente os adaptadores são atualizados
Matriz de compatibilidade de técnicas
| Treinamento inicial | Pode iterar com |
|---|---|
| SFT (full-rank) | SFT (full-rank), RFT (full-rank) |
| SFT (LoRA) | SFT (LoRA), RFT (LoRA) |
| RFT (full-rank) | RFT (full-rank) |
| RFT (LoRA) | RFT (LoRA) |
Verificação da compatibilidade antes de iniciar uma tarefa
-
Verifique sua fórmula de treinamento anterior para identificar o tipo de modelo e a técnica de treinamento (LoRA vs. full-rank)
-
Certifique-se de que sua nova fórmula corresponda ao tipo de modelo e à técnica
-
Revise o manifest.json para confirmar se o caminho do ponto de verificação está correto
Solução de problemas
Erro: “Incompatible model training techniques detected”
Causa: a técnica de treinamento (LoRA vs. full-rank) não corresponde à técnica do ponto de verificação.
Resolução: certifique-se de que sua fórmula use a mesma técnica de treinamento do modelo original:
-
Se o ponto de verificação tiver sido treinado com LoRA, use a LoRA em sua nova fórmula
-
Se o checkpoint foi treinado com full-rank, use-o em sua nova fórmula
Erro: “Base model for the job extracted from model_name_or_path does not match model_type”
Causa: o tipo de modelo especificado em model_type não corresponde ao modelo real no ponto de verificação.
Resolução: verifique se:
-
O
model_typeem sua fórmula corresponde ao tipo do modelo original -
O caminho do ponto de verificação do S3 em
model_name_or_pathestá correto -
Você está usando o caminho do arquivo manifest.json correto
Exemplo de configuração correta
run: model_type: amazon.nova-2-lite-v1:0:256k # Must match checkpoint's model model_name_or_path: "s3://customer-escrow-<account-number>-smtj-<unique-identifier>/<job-name>"
Erro: “Model configuration not found”
Causa: o caminho do S3 em model_name_or_path é inválido ou está inacessível.
Resolução:
-
Verifique se o caminho do S3 foi copiado corretamente do arquivo manifest.json
-
Garanta que seu perfil do IAM tenha permissões para acessar o bucket de depósito
-
Confirme se a tarefa de treinamento anterior foi concluída com êxito
-
Verifique se há erros de digitação no caminho
Regressão da performance após a iteração
Sintomas: as métricas de avaliação diminuem após uma nova iteração de treinamento.
Resolução:
-
Reverter: use o ponto de verificação anterior como seu modelo de base
-
Analisar: revise os logs de treinamento e a qualidade dos dados da iteração que falhou
-
Ajustar: modifique os hiperparâmetros (reduza a taxa de aprendizado), melhore a qualidade dos dados ou reduza as épocas de treinamento
-
Tentar novamente: inicie uma nova iteração com ajustes