Primeros pasos con el entrenamiento interactivo (versión preliminar) en Microsoft Foundry

Importante

Los elementos marcados como versión preliminar en este artículo se encuentran actualmente en versión preliminar. Esta versión preliminar se proporciona sin un contrato de nivel de servicio y Microsoft no lo recomienda para cargas de trabajo de producción. Es posible que algunas características no se admitan o que tengan funcionalidades restringidas. Para obtener más información, vea Términos de uso complementarios para las versiones preliminares de Microsoft Azure.

Importante

El entrenamiento interactivo requiere aprobación de acceso explícita. Solicite acceso a través del formulario de registro en versión preliminar y espere a la aprobación antes de crear una sesión de entrenamiento.

En este inicio rápido, clonará el repositorio de ejemplos y ejecutará una receta de aprendizaje de refuerzo (RL) en problemas matemáticos GSM8K. La receta genera respuestas, puntúa su exactitud y actualiza un adaptador de adaptación de rango bajo (LoRA) para Qwen3.8-27B en Microsoft Foundry.

Ejecutas el controlador de Python localmente; Foundry ejecuta las operaciones del modelo. Esta breve ejecución comprueba que el entrenamiento, la evaluación y el guardado de puntos de control funcionan. No es una prueba de referencia de calidad del modelo y no necesitas una GPU local.

Si no tiene una suscripción a Azure, cree una cuenta gratuita.

Prerequisites

  • Un proyecto Foundry con acceso aprobado a la versión preliminar de formación interactiva y capacidad para Qwen/Qwen3.8-27B. Compruebe los modelos admitidos y las regiones.
  • El rol Foundry User para el entrenamiento, o el rol Foundry Owner si también implementa el modelo ajustado. Consulte Control de acceso basado en rol para Microsoft Foundry.
  • Python 3.11 o una versión posterior, Git y un directorio local con permiso de escritura.
  • El CLI de Azure para el comando de inicio de sesión siguiente.
  • Acceso de red para descargar paquetes Python, el conjunto de datos público y el tokenizador del modelo.
  • Un presupuesto aprobado para la carga de modelos, el entrenamiento, el muestreo y la evaluación.

Clona el repositorio de ejemplos

Clone microsoft-foundry/fine-tuning y abra su libro de recetas de entrenamiento interactivo:

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

Mantenga este directorio abierto para los comandos restantes. Contiene el pyproject.toml y el paquete Python del libro de recetas.

Instalar el libro de recetas

Cree un entorno virtual e instale el cookbook. Los comandos Linux y Windows usan el índice del paquete Torch de CPU para las dependencias del lado del 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

Referencia: Instalación del libro de recetas.

Compruebe la instalación sin crear una sesión remota:

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

No se esperan dependencias interrumpidas ni ayuda de receta que muestre project_endpoint, max_stepsy max_train_examples.

Configurar el proyecto e iniciar sesión

Inicie sesión con la identidad aprobada para el proyecto y seleccione su suscripción:

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

Referencia: Inicie sesión con CLI de Azure.

Copie el punto de conexión del proyecto desde el proyecto Foundry. Utilice la URL del proyecto, no una URL de implementación de modelo ni solo el nombre de host de la cuenta. Reemplace <account> y <project> por los valores del proyecto:

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

La receta utiliza DefaultAzureCredential a menos que se establezca AZURE_AI_API_KEY. Se pueden seleccionar otras credenciales configuradas antes de la credencial de la CLI. Si se establece la variable key, tiene prioridad sobre el inicio de sesión de CLI de Azure.

Ejecutar la receta

Ejecute la receta GSM8K con dos iteraciones de entrenamiento, 16 ejemplos de entrenamiento y ocho ejemplos de evaluación reservados. La receta crea una sesión, muestrea respuestas, calcula recompensas, actualiza el adaptador y guarda los puntos de control.

Warning

Este comando crea una sesión de entrenamiento remoto y puede incurrir en cargos. max_steps=2 limita las iteraciones de entrenamiento, no el tiempo de carga del modelo, las llamadas de evaluación, el total de tokens o el costo. Continúe solo con un presupuesto aprobado.

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

Referencia: Inicio rápido de la receta de RL matemático.

La receta utiliza argumentos key=value, no --key value. Mantenga el terminal y la conexión de red abiertos hasta que la ejecución finalice.

Cada iteración utiliza ocho peticiones con cuatro respuestas por petición. max_tokens=1200 proporciona un presupuesto de finalización para el razonamiento y la respuesta final; Las respuestas todavía se pueden truncar.

Los resultados van en el first-math-check directorio en runs. El comando se niega a sobrescribir un directorio existente. Elija un nuevo log_path para otra ejecución independiente; no elimine los resultados para solucionar un error.

Comprobar lo que ha funcionado

Mire en ./runs/first-math-check/, relativo al directorio del libro de recetas:

Stage Evidence Lo que demuestra
Configuración del iniciador run_meta.json está escrito; el identificador de sesión puede ser nullinicialmente . El inicio local, no que Azure admita la sesión.
Modelo cargado Consola Session ready: session_id=...; azure.session_id se actualiza. Se completa la creación de la sesión.
Bucle en ejecución config.json, metrics.jsonl, métricas de entrenamiento y HTML de trayectoria. Las operaciones de muestreo, clasificación y actualización están en curso.
Estado guardado checkpoints.jsonl ha guardado state_path/sampler_path entradas. Las operaciones de guardado se completan; no confíe en un nombre de punto de control impreso antes de que finalice el guardado.
Finalización normal final fila de registro después de los lotes entrenados, las métricas finales reservadas y la salida correcta del proceso. El flujo de trabajo acotado se completa; inspeccione las advertencias y compruebe la limpieza por separado.

Para esta nueva ejecución sincrónica GSM8K, la evaluación inicial se produce antes de la primera actualización; la evaluación final sigue el guardado final. Compruebe test/env/all/correct y test/env/all/total_episodes; inspeccione las advertencias sobre evaluaciones descartadas. Una puntuación de cero puede ser un fallo real de formato o del presupuesto de tokens aunque la infraestructura funcione. Las métricas que faltan no son una puntuación cero.

No hay ninguna ganancia de precisión necesaria ni tiempo de ejecución prometido para esta comprobación en dos pasos. Para afirmar una mejora, use un conjunto reservado fijo y la guía de evaluación.

Vea los artefactos locales:

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

Referencia: Panel de ejecución.

Mantenga el panel en su dirección de bucle invertido predeterminada porque no tiene autenticación y puede mostrar mensajes y respuestas. Presione Ctrl+C en el terminal del panel para detenerlo; esto no descarga su sesión de entrenamiento remota.

Limpieza de recursos

La receta intenta cerrar su sesión de entrenamiento cuando el bucle sale. Compruebe las advertencias de limpieza; un mensaje Session closed impreso por sí solo no confirma que el proceso remoto se libera.

Utilice el identificador de sesión registrado y la guía de administración de sesiones de muestra para inspeccionar su sesión. Si permanece activo, conserve los puntos de control necesarios y cierre solo la sesión de su propiedad.

Mantenga las referencias de configuración, métricas y puntos de comprobación para la recuperación. La eliminación de archivos locales no libera la capacidad de cómputo remota. Esta receta no crea una implementación de servicio.

Prueba otras recetas

Después de completar este inicio rápido, pruebe otras recetas en el repositorio de ejemplos de ajuste fino. El manual de entrenamiento interactivo incluye ejemplos para el ajuste fino supervisado, la optimización de preferencias, la destilación y otras tareas de RL.

Siga las instrucciones de configuración y conjunto de datos de cada receta. Confirme el acceso al modelo y un presupuesto aprobado antes de iniciar otra ejecución.