Comece com o treinamento interativo (versão prévia) no Microsoft Foundry

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 a versão prévia e aguarde a aprovação antes de criar uma sessão de treinamento.

Neste início rápido, você clona o repositório de exemplos e executa uma receita de RL (aprendizado de reforço) em problemas matemáticos GSM8K. A receita gera respostas, pontua sua correção e atualiza um adaptador LoRA (adaptação de baixa ordem) para Qwen3.8-27B em Microsoft Foundry.

Você executa o Python driver localmente; A Foundry executa as operações de modelo. Essa execução curta verifica se o treinamento, a avaliação e o salvamento de checkpoints funcionam. Não é um parâmetro de comparação de qualidade de modelo e você não precisa de uma GPU local.

Se você não tiver uma assinatura do Azure, crie uma conta gratuita.

Prerequisites

  • Um projeto do Foundry com acesso de visualização de treinamento interativo aprovado e capacidade para Qwen/Qwen3.8-27B. Verifique modelos com suporte e regiões.
  • A função de Usuário do Foundry para treinamento ou a função Proprietário do Foundry se você também implantar o modelo ajustado. Consulte o controle de acesso baseado em função para Microsoft Foundry.
  • Python 3.11 ou posterior, Git e um diretório local gravável.
  • Use a CLI do Azure para o comando de login abaixo.
  • Acesso à rede para baixar Python pacotes, o conjunto de dados público e o tokenizador do modelo.
  • Um orçamento aprovado para carregamento, treinamento, amostragem e avaliação do modelo.

Clonar o repositório de exemplos

Clone microsoft-foundry/fine-tuning e abra seu guia de treinamento interativo:

git clone https://github.com/microsoft-foundry/fine-tuning.git
cd fine-tuning/interactive_training

Mantenha este diretório aberto para os comandos restantes. Contém o pyproject.toml do cookbook e o pacote Python.

Instalar o cookbook

Crie um ambiente virtual e instale o cookbook. Os comandos Linux e Windows usam o índice de pacotes torch da CPU para dependências do lado do driver.

python -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -e . \
    --index-url https://pypi.org/simple \
    --extra-index-url https://download.pytorch.org/whl/cpu

Referência: instalação do Cookbook.

Verifique a instalação sem criar uma sessão remota:

python -m pip check
python -m interactive_training.recipes.math_rl.train_azure --help

Não espere encontrar dependências quebradas e ajuda sobre recipes que lista project_endpoint, max_train_examples e max_steps.

Configure seu projeto e faça login

Entre com a identidade aprovada para seu projeto e selecione sua subscrição:

az login
az account set --subscription "<subscription-id>"

Referência: Entrar com a CLI do Azure.

Copie o endpoint do projeto do seu projeto Foundry. Use a URL do projeto, não uma URL de implantação de modelo ou apenas o nome do host da conta. Substitua <account> e <project> pelos valores do projeto:

export AZURE_AI_PROJECT_ENDPOINT=\
"https://<account>.services.ai.azure.com/api/projects/<project>"

A receita usa DefaultAzureCredential, a menos que AZURE_AI_API_KEY seja definido. Outras credenciais configuradas podem ser selecionadas antes da credencial da CLI. Se a variável de chave estiver definida, ela terá precedência sobre seu login na CLI do Azure.

Executar a recipe

Execute a receita do GSM8K com duas iterações de treinamento, 16 exemplos de treinamento e oito exemplos de avaliação reservados. A receita cria uma sessão, gera amostras de respostas, calcula recompensas, atualiza o adaptador e salva pontos de verificação.

Warning

Esse comando cria uma sessão de treinamento remoto e pode incorrer em encargos. max_steps=2 limita iterações de treinamento, não o tempo de carregamento do modelo, chamadas de avaliação, tokens totais ou custo. Prossiga apenas com um orçamento aprovado.

python -m interactive_training.recipes.math_rl.train_azure \
    project_endpoint="$AZURE_AI_PROJECT_ENDPOINT" \
    model_name="Qwen/Qwen3.8-27B" renderer_name=qwen3_8_low_reasoning \
    env=gsm8k learning_rate=2e-5 temperature=1.0 max_tokens=1200 \
    lora_rank=32 group_size=4 groups_per_batch=8 \
    loss_fn=importance_sampling seed=42 \
    max_steps=2 max_train_examples=16 max_test_examples=8 \
    eval_every=1 save_every=1 \
    log_path=./runs/first-math-check behavior_if_log_dir_exists=raise

Referência: Início rápido da receita de RL matemática.

A fórmula usa key=value argumentos, não --key value. Mantenha o terminal e a conexão de rede abertos até que a execução seja concluída.

Cada iteração usa oito prompts com quatro respostas por prompt. max_tokens=1200 fornece um orçamento de conclusão para o raciocínio e a resposta final; as respostas ainda podem ser truncadas.

Os resultados vão para o diretório first-math-check, em runs. O comando se recusa a sobrescrever um diretório existente. Escolha um novo log_path para outra execução independente; não exclua seus resultados para contornar um erro.

Verifique o que funcionou

Procure em ./runs/first-math-check/, em relação ao diretório do cookbook:

Stage Evidence O que isso prova
Configurar lançador run_meta.json é escrito; O ID da sessão pode inicialmente ser null. A configuração local é iniciada, não que o Azure aceite a sessão.
Modelo carregado Console Session ready: session_id=...; azure.session_id são atualizados. A criação da sessão foi concluída.
Loop em execução config.json, metrics.jsonlmétricas de treinamento e HTML de trajetória. As operações de amostragem, classificação e atualização estão progredindo.
Estado salvo checkpoints.jsonl salvou state_path/sampler_path entradas. As operações de salvamento foram concluídas; não confie em um nome de ponto de verificação impresso antes que o salvamento seja concluído.
Conclusão normal final linha do livro-razão após lotes treinados, métricas finais de validação e saída bem-sucedida do processo. O fluxo de trabalho delimitado é concluído; inspecione avisos e verifique a limpeza separadamente.

Para esta nova execução Síncrona do GSM8K, a avaliação inicial ocorre antes da primeira atualização; a avaliação final segue o salvamento final. Verifique test/env/all/correct e test/env/all/total_episodes; inspecione quaisquer avisos de avaliação descartada. Uma pontuação zero pode ser uma falha real de formatação ou limite de tokens mesmo quando a infraestrutura funciona. As métricas ausentes não são uma pontuação zero.

Não há nenhum ganho de precisão necessário ou runtime prometido para esta verificação de duas etapas. Para reivindicar melhoria, use um conjunto fixo de validação separado e o guia de avaliação.

Exiba os artefatos locais:

python dashboard_server.py --root ./runs
# Open http://127.0.0.1:8000/

Referência: Executar o dashboard.

Mantenha o painel em seu endereço de loopback padrão porque ele não tem autenticação e pode exibir prompts e respostas. Pressione Ctrl+C no terminal do painel para interrompê-lo; isso não encerra sua sessão de treinamento remoto.

Limpar os recursos

A recipe tenta fechar sua sessão de treinamento quando o loop é encerrado. Verifique se há avisos de limpeza; uma mensagem impressa Session closed por si só não confirma se a computação remota foi liberada.

Use o ID da sessão gravada e o guia de gerenciamento de sessão de exemplo para inspecionar sua sessão. Se ele permanecer ativo, preserve os pontos de verificação necessários e descarregue apenas a sessão que pertence a você.

Mantenha suas referências de configuração, métricas e ponto de verificação para recuperação. A exclusão de arquivos locais não libera os recursos de computação remotos. Essa receita não cria uma implantação de serving.

Experimente outras receitas

Depois de concluir este início rápido, experimente outras receitas no repositório de exemplos de ajuste fino. O guia prático de treinamento interativo inclui exemplos de ajuste fino supervisionado, otimização de preferência, destilação e outras tarefas RL.

Siga as instruções de configuração e de conjunto de dados de cada receita. Confirme o acesso ao modelo e um orçamento aprovado antes de iniciar outra execução.