Monitoramento do treinamento de RFT
Monitore as principais métricas durante o treinamento para garantir um aprendizado eficaz e identificar possíveis problemas com antecedência.
Tópicos
Principais métricas a serem acompanhadas
Monitore as seguintes métricas usando o MLFlow durante o treinamento:
Métricas de recompensa:
-
Pontuação média de recompensa: qualidade geral das respostas do modelo (deve aumentar com o tempo)
-
Distribuição de recompensas: porcentagem de respostas que receberam recompensas altas, médias e baixas
-
Recompensas de treinamento vs. validação: compare para detectar sobreajuste
Métricas de treinamento:
-
Atualizações da política: número de atualizações de peso bem-sucedidas
-
Taxa de conclusão da distribuição: porcentagem de amostras avaliadas com êxito
Padrões de atenção:
-
Estabilização das recompensas (indica aprendizado deficiente)
-
As recompensas de validação diminuem enquanto as recompensas de treinamento aumentam (sobreajuste)
-
A variação da recompensa aumenta significativamente ao longo do tempo (instabilidade)
-
Alta porcentagem de erros na função de recompensa (problemas de implementação)
Quando parar de treinar:
-
As métricas de desempenho alvo foram alcançadas
-
As recompensas se estabilizaram e não melhoram mais
-
O desempenho da validação está degradando (detectado sobreajuste)
-
O orçamento máximo de treinamento foi atingido
Avaliação após o RFT
Após a conclusão do treinamento, avalie seu modelo ajustado para avaliar as melhorias de desempenho:
-
Execute a tarefa de avaliação de RFT: use o ponto de verificação do seu treinamento de RFT como modelo
-
Compare com a linha de base: avalie o modelo de base e o modelo ajustado no mesmo conjunto de testes
-
Analise métricas: analise as métricas específicas da tarefa (precisão, pontuações de recompensa etc.)
-
Realize uma análise qualitativa: inspecione manualmente as saídas da amostra quanto à qualidade
Para obter os procedimentos de avaliação detalhados, consulte a seção Avaliação.
Uso de modelos ajustados
Acesso aos pontos de verificação:
Após a conclusão do treinamento, localize seu ponto de controle:
-
Navegue até o seu
output_pathno S3 -
Faça download e extraia
output.tar.gz -
Abra o
manifest.json -
Copie o valor
checkpoint_s3_bucket
Implantação para inferência:
Use o caminho do ponto de verificação do S3 para inferência ou treinamento adicional:
run: model_type: amazon.nova-2-lite-v1:0:256k model_name_or_path: "s3://customer-escrow-<account-number>-smtj-<unique-identifier>/<job-name>"
Para instruções de implantação e inferência, consulte a seção Inferência.
Limitações e práticas recomendadas
Limitações atuais:
Restrições beta:
-
É necessário criar um novo grupo RIG para o RFT. Essa limitação será resolvida pela GA.
-
Requisitos de tipo de instância: somente instâncias P5 são compatíveis (mínimo 8x P5.48xlarge). Em breve: compatibilidade com tipos de instâncias menores (ETA: meados de janeiro de 2025).
Limitações funcionais:
-
Tempo limite de 15 minutos do Lambda: as funções de recompensa devem ser concluídas em até 15 minutos
-
Somente em um único turno: conversas em vários turnos não são compatíveis
-
Conjuntos de dados de validação: não há compatibilidade durante o treinamento. Use trabalhos de avaliação separados para avaliar o progresso do treinamento.
Considerações sobre treinamento:
-
Cenários de baixa recompensa: podem ter dificuldades quando menos de 5% dos exemplos recebem recompensas positivas; considere primeiro o SFT
-
Requisitos de dados: precisa de diversidade suficiente para aprender de forma eficaz
-
Custo computacional: mais caro do que o ajuste fino supervisionado
O Nova Forge remove algumas dessas limitações:
-
É compatível com conversas em vários turnos
-
Permite funções de recompensa que excedem o tempo limite de 15 minutos
-
Fornece algoritmos avançados e opções de ajuste
-
Projetado para casos de uso corporativo complexos, especificamente ajustado para criar modelos de fronteira
Práticas recomendadas:
Começar pequeno e escalar:
-
Comece com conjuntos de dados mínimos (100 a 200 exemplos) e poucas épocas de treinamento
-
Valide sua abordagem antes de aumentar a escala verticalmente
-
Aumente gradualmente o tamanho do conjunto de dados e as etapas de treinamento com base nos resultados
Definir a linha de base com o SFT primeiro:
-
Se as pontuações de recompensa forem consistentemente baixas (por exemplo, sempre 0), execute o SFT antes do RFT
-
O RFT requer um desempenho de linha de base razoável para melhorar de forma eficaz
Criar funções de recompensa eficientes:
-
Execute em segundos, em vez de em minutos
-
Minimize as chamadas de API externas
-
Use algoritmos e estruturas de dados eficientes
-
Implemente o tratamento adequado de erros
-
Teste completamente antes de treinar
-
Aproveite os recursos de escalabilidade paralela do Lambda
Monitorar ativamente o treinamento:
-
Acompanhe as pontuações médias de recompensa ao longo do tempo
-
Assista à distribuição de recompensas em todas as amostras
-
Compare as recompensas de treinamento vs. validação
-
Procure padrões de atenção (estabilizações, sobreajuste, instabilidade)
Fazer iterações com base nos resultados:
-
Se as recompensas não melhorarem após várias iterações, ajuste o design da função de recompensa
-
Aumente a diversidade do conjunto de dados para fornecer sinais de aprendizado mais claros
-
Considere mudar para o SFT se as recompensas permanecerem próximas de zero
-
Experimente com diferentes hiperparâmetros (taxa de aprendizado, tamanho do lote)
Otimizar a qualidade dos dados:
-
Garanta exemplos diversos e representativos
-
Inclua casos de borda e exemplos difíceis
-
Verifique se a função de recompensa pontua corretamente todos os tipos de exemplo
-
Remova ou corrija exemplos que confundem a função de recompensa
Solução de problemas
Erros da função de recompensa:
Sintomas: alta taxa de erro nas chamadas da função de recompensa durante o treinamento
Problema |
Sintomas |
Resolução |
|---|---|---|
tempo limite do Lambda |
Tempos limite frequentes após 15 minutos |
Otimize o desempenho da função; considere o Nova Forge para avaliações complexas |
Simultaneidade insuficiente |
Erros de controle de utilização do Lambda |
Aumente o lambda_concurrency_limit ou solicite um aumento de cota |
Formato de retorno inválido |
O treinamento falha com erros de formato |
Verifique se a estrutura de retorno corresponde ao formato de interface necessário |
Exceções não tratadas |
Erros intermitentes |
Inclua registro em log e um tratamento de erros abrangente |
Falhas de API externas |
Pontuação inconsistente |
Implemente a lógica de novas tentativas e estratégias de fallback |
Baixo desempenho no treinamento:
Sintomas: as recompensas não melhoram ou se estabilizam em valores baixos
Soluções:
-
Verifique a exatidão da função de recompensa: teste com exemplos bons/ruins conhecidos
-
Verifique o desempenho da linha de base: avalie o modelo de base; se a precisão estiver próxima de zero, realize o SFT primeiro
-
Aumente a diversidade de dados: adicione exemplos mais variados abrangendo diferentes cenários
-
Ajuste os hiperparâmetros: experimente diferentes taxas de aprendizado ou tamanhos de lote
-
Analise a qualidade do sinal de recompensa: garanta que as recompensas diferenciem entre respostas boas e ruins
Sobreajuste:
Sintomas: as recompensas de treinamento aumentam enquanto as recompensas de validação diminuem
Soluções:
-
Reduza as etapas de treinamento: pare de treinar antecipadamente
-
Aumente o tamanho do conjunto de dados: adicione mais exemplos de treinamento
-
Adicione regularização: ajuste
weight_decayouentropy_coeff -
Aumente a diversidade de dados: garanta que o conjunto de treinamento represente uma distribuição completa