Comece com formação interativa (pré-visualização) no Microsoft Foundry

Important

Os itens marcados como pré-visualização neste artigo estão atualmente em pré-visualização. Esta pré-visualização é fornecida sem um acordo de nível de serviço, e a Microsoft não a recomenda para cargas de trabalho de produção. Certas funcionalidades podem não ser suportadas ou podem ter capacidades limitadas. Para mais informações, consulte Termos Suplementares de Utilização para Microsoft Azure Previews.

Important

A formação interativa requer aprovação explícita de acesso. Solicite acesso através do formulário de inscrição para pré-visualização e aguarde aprovação antes de criar uma sessão de formação.

Neste quickstart, clonas o repositório de samples e executas uma receita de aprendizagem por reforço (RL) em problemas matemáticos do GSM8K. A receita gera respostas, avalia a sua correção e atualiza um adaptador de adaptação low-rank (LoRA) para Qwen3.8-27B no Microsoft Foundry.

Executas o driver Python localmente; O Foundry executa as operações do modelo. Esta execução curta verifica se o treino, a avaliação e o guardado de pontos de controlo funcionam. Não é um benchmark de qualidade de modelo, e não precisas de uma GPU local.

Se não tiver uma subscrição do Azure, crie uma conta gratuita.

Prerequisites

  • Um projeto Foundry com acesso aprovado à pré-visualização de formação interativa e capacidade para Qwen/Qwen3.8-27B. Verifica modelos suportados e regiões.
  • O papel de Foundry User para treino, ou o papel de Foundry Owner se também implementares o modelo afinado. Veja o controlo de acesso baseado em papéis para o Microsoft Foundry.
  • Python 3.11 ou posterior, Git, e um diretório local gravável.
  • Use a CLI do Azure para o comando de iniciar sessão abaixo.
  • Acesso à rede para descarregar pacotes Python, o conjunto de dados público e o tokenizador do modelo.
  • Um orçamento aprovado para carregamento de modelos, treino, amostragem e avaliação.

Clonar o repositório de samples

Clone microsoft-foundry/fine-tuning e abra o seu guia de treino 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 cookbook pyproject.toml e o pacote em Python.

Instalar o cookbook

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

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 dependências quebradas nem ajuda com receitas que liste project_endpoint, max_steps, e max_train_examples.

Configure o seu projeto e inicie sessão

Inicie sessão com a identidade aprovada para o seu projeto, depois selecione a subscrição:

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

Referência: Iniciar sessão com CLI do Azure.

Copie o endpoint do projeto do seu projeto Foundry. Utilize o URL do projeto, não o URL de implementação do modelo ou apenas o nome de anfitrião da conta. Substitua <account> e <project> pelos valores do seu projeto:

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

A receita usa o DefaultAzureCredential, a menos que AZURE_AI_API_KEY for definido. Outras credenciais configuradas podem ser selecionadas antes da credencial CLI. Se a variável de chave estiver definida, ela tem prioridade sobre o início de sessão do CLI do Azure.

Executar a receita

Executa a receita GSM8K com duas iterações de treino, 16 exemplos de treino e oito exemplos de avaliação reservados. A receita cria uma sessão, gera amostras de respostas, calcula recompensas, atualiza o adaptador e guarda checkpoints.

Warning

Este comando cria uma sessão de treino remota e pode gerar encargos. max_steps=2 limita as iterações de treino, não o tempo de carregamento do modelo, chamadas de avaliação, tokens totais ou custos. Avance 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: guia de iniciação rápida de Math RL recipe.

A fórmula usa key=value argumentos, não --key value. Mantém o terminal e a ligação à rede abertos até a execução terminar.

Cada iteração utiliza 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 recusa-se a sobrescrever um diretório existente. Escolha um novo log_path para outra execução independente; não apague os seus resultados para contornar um erro.

Veja o que foi bem-sucedido

Consulta em ./runs/first-math-check/, relativamente ao diretório cookbook:

Stage Evidence O que prova
Configuração do Launcher run_meta.json é registado; o ID da sessão pode inicialmente ser null. A configuração local começa, não que o Azure admita a sessão.
Modelo carregado Consola Session ready: session_id=...; azure.session_id foi atualizado. A criação da sessão é concluída.
Loop em execução config.json, metrics.jsonl, métricas de treino e HTML de trajetória. As operações de amostragem, classificação e atualização estão a progredir.
Estado guardado checkpoints.jsonl guardou state_path/sampler_path os registos. Operações de gravação concluídas; não confie num nome de ponto de controlo impresso antes de a gravação terminar.
Conclusão normal final linha do livro-razão após lotes treinados, métricas finais do conjunto de validação/teste e saída bem-sucedida do processo. O fluxo de trabalho delimitado termina; inspecionar os avisos e verificar 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 a gravação final. Verifique test/env/all/correct e test/env/all/total_episodes; inspecione quaisquer avisos de avaliação descartada. Um zero score pode ser uma verdadeira falha de formatação ou de orçamento de tokens, mesmo quando a infraestrutura funciona. As métricas em falta não correspondem a uma pontuação de zero.

Não há ganho de precisão exigido nem tempo de execução prometido para esta verificação em dois passos. Para afirmar melhorias, utilize um conjunto fixo de teste reservado e o guia de avaliação.

Veja os artefactos locais:

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

Referência: Run dashboard.

Mantém o dashboard no endereço de loopback predefinido porque não tem autenticação e pode mostrar prompts e respostas. Pressiona Ctrl+C no terminal do dashboard para o parar; isto não descarrega a tua sessão de treino remota.

Limpeza de recursos

A receita tenta encerrar a sessão de treino quando o loop termina. Verifique se há avisos de limpeza; uma mensagem impressa Session closed sozinha não confirma que o processamento remoto foi libertado.

Utilize o ID da sessão gravado e o guia de gestão de sessões de exemplo para inspecionar a sua sessão. Se continuar ativa, mantém os pontos de controlo necessários e descarrega da memória apenas a tua sessão própria.

Guarde a sua configuração, métricas e referências de checkpoints para recuperação. Apagar ficheiros locais não liberta computação remota. Esta receita não cria uma implantação de serving.

Experimenta outras receitas

Depois de completar este quickstart, experimente outras receitas no repositório de amostras de ajuste fino. O guia de treino interativo inclui exemplos para ajuste fino supervisionado, otimização de preferências, destilação e outras tarefas de RL.

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