Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Importante
Os itens marcados como visualização neste artigo estão atualmente em versão prévia. Esta versão prévia é fornecida sem um contrato de nível de serviço (SLA), e a Microsoft não a recomenda para cargas de trabalho de produção. Alguns recursos podem não ter suporte ou podem ter restrição de recursos. Para obter mais informações, consulte Termos de Uso Complementares para Versões Prévias do Microsoft Azure.
Importante
O treinamento interativo requer aprovação de acesso explícita. Solicite acesso por meio do formulário de inscrição para preview e aguarde a aprovação antes de criar uma sessão de treinamento.
O treinamento interativo (versão prévia) é uma API para criar seu próprio loop pós-treinamento sobre modelos de peso aberto no Microsoft Foundry. Você controla o experimento em Python. A Foundry executa a amostragem de modelo e atualizações de LoRA (adaptação de baixa ordem) em GPUs sem servidor.
Para aprendizado por reforço (RL), seu código controla a coleta de rollouts, recompensas, vantagens e o agendamento de atualização. Os mesmos primitivos dão suporte a aprendizado supervisionado, aprendizado de preferência, destilação e fluxos de trabalho de perda personalizada.
Quando utilizá-lo
Use o treinamento interativo quando o loop de treinamento em si fizer parte de sua pesquisa:
- Você precisa de um sinal de aprendizado personalizado. Forneça demonstrações, calcule recompensas e vantagens ou componha uma perda local para aprendizado de preferência ou outros objetivos.
- Seu modelo interage com um ambiente. Coordene respostas de modelo, chamadas de ferramenta, observações e recompensas em seu controlador.
- Você precisa de controle sobre atualizações individuais. Selecione batches, máscaras de tokens, configurações de perda e parâmetros do otimizador. Decida quando acumular gradientes e aplicar uma atualização.
- Você deseja inspecionar e adaptar um experimento. Exemplo do adaptador atual, avalie em prompts de validação e escolha os próximos prompts com base nos resultados observados.
- Você precisa preservar e dar continuidade ao progresso. Salve o estado do adaptador e do otimizador e, em seguida, retome em uma sessão compatível. Mantenha a posição do conjunto de dados e outro estado do experimento em seu driver.
O ajuste fino gerenciado também oferece suporte a graders para ajuste fino por reforço. Escolha o treinamento interativo quando precisar de controle sobre o loop, não apenas o grader ou as configurações da tarefa. Consulte Escolha sua abordagem de treinamento.
Quem faz o quê
Seu programa de Python é o driver de treinamento. Ele prepara entradas e coordena o experimento. A Foundry mantém o estado do modelo e do adaptador e executa as operações solicitadas.
Seu driver pode ser executado em uma CPU, incluindo seu próprio computador ou um ambiente de computação. Um modelo ou ambiente de recompensa que você adiciona pode ter seus próprios requisitos de computação. Mantenha o driver em execução enquanto ele gerencia o loop.
Conceitos básicos e primitivos
Uma sessão mantém estado: computação de gradiente, atualizações de otimizador e amostragem são operações separadas no modelo e adaptador selecionados. Essa separação permite que você escolha quando coletar dados, acumular gradientes, atualizar e avaliar.
| Bloco de construção | O que faz |
|---|---|
| Sessão de treinamento e adaptador LoRA |
FineTuningSession.create inicializa um modelo base compatível com a configuração do adaptador. A sessão mantém o estado usado pelas operações subsequentes. |
| Lote tokenizado e máscaras |
Datum carrega entradas de modelo e entradas da função de perda. As máscaras selecionam quais tokens contribuem para o aprendizado, como tokens de assistente em vez de prompts ou observações de ferramentas. |
| Amostragem |
sample gera respostas com base no checkpoint do sampler selecionado. As entradas de RL emparelham tokens amostrados com suas probabilidades log do rollout e vantagens derivadas da recompensa. |
| Passes para frente e para trás |
forward retorna saídas de função de perda por exemplo sem acumular gradientes.
forward_backward calcula o objetivo selecionado e acumula gradientes. Não aplica uma atualização do otimizador. |
| Atualização do otimizador |
optim_step aplica gradientes acumulados com seus parâmetros adam. Você escolhe quando atualizar e qual taxa de aprendizado usar. |
| Checkpoint do sampler |
save_weights_for_sampler prepara os pesos do adaptador para geração. Atualize novamente esses pesos após uma atualização antes de fazer amostragem do adaptador atualizado. |
| Checkpoint de treinamento |
save_weights persiste os pesos do adaptador e o estado do otimizador.
FineTuningSession.create_from_checkpoint currículos em uma sessão compatível. |
O SDK inclui cross_entropy para atualizações supervisionadas e perdas de RL, como importance_sampling e ppo. Essas perdas são primitivas de perda, não algoritmos predefinidos de ponta a ponta. Para obter contratos de input e composição de perda customizada, consulte Conceitos-chave.
Como funciona um loop RL
Considere um experimento de raciocínio matemático: seu modelo gera várias respostas para cada problema, e seu programa avalia se estão corretas. Para obter um exemplo trabalhado, siga Primeiros passos.
Estabeleça um baseline separado e teste sua função de recompensa antes da primeira atualização. Em seguida, repita:
- Preparar a política atual para amostragem. Salve os pesos do sampler do adaptador de treinamento e colete várias respostas ou rollouts para cada prompt.
- Pontuar e comparar respostas. Sua função de recompensa atribui uma pontuação a cada execução. Subtraia a recompensa média do grupo de prompts para produzir a vantagem de cada rollout.
- Prepare o sinal de aprendizado. Alinhe tokens do assistente amostrados com suas probabilidades log de rollout e vantagens. Exclua prompts e observações de ambiente do sinal de aprendizado.
- Calcule os gradientes. Envie o lote para
forward_backwardcomimportance_sampling. Conclua a computação de gradiente antes da atualização que a consome. - Atualize o adaptador. Chame
optim_stepe atualize os pesos do sampler antes de coletar respostas da política atualizada. - Avaliar e preservar o progresso. Compare a precisão no conjunto de validação com o baseline e salve os checkpoints de treinamento na cadência escolhida.
Introdução
Escolha o ponto de partida que se ajusta à sua tarefa:
- Início Rápido: Siga o exemplo de início rápido para clonar o repositório e executar uma breve receita de aprendizado por reforço.
- Experimente outras receitas: Explore o repositório de exemplos de ajuste fino para obter mais exemplos de treinamento.
- Procure uma operação: Use o guia de consulta rápida do SDK (versão prévia) para funções e principais parâmetros.
- Entenda o loop de treinamento: Leia os principais conceitos de recompensas, vantagens, máscaras de token e pontos de verificação.
Modelos e regiões com suporte
Confira a visão geral de ajuste fino para modelos compatíveis e regiões com suporte.