Aan de slag met interactieve training (preview) in Microsoft Foundry

Important

Items die zijn gemarkeerd als voorbeeld in dit artikel, zijn momenteel beschikbaar als preview-versie. Deze preview wordt aangeboden zonder een service level agreement en Microsoft raadt dit niet aan voor productieworkloads. Bepaalde functies worden mogelijk niet ondersteund of hebben mogelijk beperkte mogelijkheden. Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure Previews voor meer informatie.

Important

Voor interactieve training is expliciete toestemming voor toegang vereist. Vraag toegang aan via het aanmeldingsformulier voor preview en wacht op goedkeuring voordat u een trainingssessie maakt.

In deze quickstart kloont u de voorbeeldenrepository en voert u een RL-recept (Reinforcement Learning) uit op GSM8K-wiskundige problemen. Het recept genereert antwoorden, beoordeelt de juistheid en werkt een LoRA-adapter (Low-Rank Adaptation) bij voor Qwen3.8-27B in Microsoft Foundry.

U voert de Python-driver lokaal uit; Foundry voert de modelbewerkingen uit. Deze korte run controleert of training, evaluatie en het opslaan van controlepunten werken. Het is geen benchmark voor modelkwaliteit en u hebt geen lokale GPU nodig.

Als u geen Azure abonnement hebt, maak dan een gratis account.

Prerequisites

  • Een Foundry-project met goedgekeurde toegang tot de preview van interactieve training en capaciteit voor Qwen/Qwen3.8-27B. Controleer ondersteunde modellen en regio's.
  • De gebruikersrol Foundry-gebruiker voor training of de rol Foundry-eigenaar als u ook het aangepaste model implementeert. Zie op rollen gebaseerd toegangsbeheer voor Microsoft Foundry.
  • Python 3.11 of hoger, Git en een schrijfbare lokale map.
  • Gebruik de Azure CLI voor de onderstaande aanmeldingsopdracht.
  • Netwerktoegang voor het downloaden van Python pakketten, de openbare gegevensset en de tokenizer van het model.
  • Een goedgekeurd budget voor het laden, trainen, samplen en evalueren van modellen.

De repository met voorbeelden klonen

Kloon microsoft-foundry/fine-tuning en open het interactief trainingscookbook:

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

Houd deze map geopend voor de resterende opdrachten. Het bevat het kookboek pyproject.toml en Python pakket.

Installeer het cookbook

Maak een virtuele omgeving en installeer het cookbook. De commando's voor Linux en Windows maken gebruik van de CPU Torch-pakketindex voor driver-side afhankelijkheden.

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

Referentie: Cookbook installeren.

Controleer de installatie zonder een sessie op afstand te maken:

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

Verwacht geen verbroken afhankelijkheden en recepthelp die project_endpoint, max_steps en max_train_examples vermeldt.

Uw project configureren en u aanmelden

Meld u aan met de identiteit die is goedgekeurd voor uw project en selecteer vervolgens het bijbehorende abonnement:

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

Naslaginformatie: Aanmelden met Azure CLI.

Kopieer het projecteindpunt uit uw Foundry-project. Gebruik de project-URL, niet een modeldeployment-URL of alleen de hostnaam van het account. Vervang <account> en <project> door de projectwaarden:

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

Het recept maakt gebruik van DefaultAzureCredential, tenzij AZURE_AI_API_KEY is ingesteld. Andere geconfigureerde aanmeldgegevens kunnen worden geselecteerd vóór de CLI-aanmeldgegevens. Als de sleutelvariabele is ingesteld, heeft deze voorrang op uw Azure CLI-aanmelding.

Voer het recept uit

Voer het GSM8K-recept uit met twee trainingsiteraties, 16 trainingsvoorbeelden en acht held-out evaluatievoorbeelden. Het recept maakt een sessie, samplet reacties, berekent beloningen, werkt de adapter bij en slaat controlepunten op.

Warning

Met deze opdracht wordt een externe trainingssessie gemaakt en worden er kosten in rekening gebracht. max_steps=2 beperkt training iteraties, niet modellaadtijd, evaluatie-aanroepen, totale tokens of kosten. Ga alleen verder met een goedgekeurd budget.

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

Referentie: Snelstartgids voor wiskundig RL-recept.

Het recept maakt gebruik van key=value argumenten, niet --key value. Houd de terminal en de netwerkverbinding open totdat de uitvoering is voltooid.

Elke iteratie gebruikt acht prompts met vier antwoorden per prompt. max_tokens=1200 geeft een voltooiingsbudget voor redenering en het uiteindelijke antwoord; antwoorden kunnen nog steeds worden afgekapt.

Resultaten gaan naar de first-math-check map onder runs. Het commando weigert een bestaande map te overschrijven. Kies een nieuwe log_path voor een andere afzonderlijke run; verwijder de resultaten niet om een fout te omzeilen.

Controleer wat er is gelukt

Kijk in ./runs/first-math-check/, relatief ten opzichte van de cookbook-map:

Stage Evidence Wat het bewijst
Launcher-instellingen run_meta.json is geschreven; sessie-id kan in eerste instantie null zijn. Lokale installatie wordt gestart, niet wanneer Azure de sessie toestaat.
Model geladen Console Session ready: session_id=...; azure.session_id wordt bijgewerkt. Sessie is aangemaakt.
lus wordt uitgevoerd config.json, metrics.jsonl, trainingsstatistieken en traject-HTML. Steekproeven, beoordelingen en updatebewerkingen vorderen.
Opgeslagen toestand checkpoints.jsonl heeft opgeslagen state_path/sampler_path items. Opslaanbewerkingen voltooid; vertrouw niet op een controlepuntnaam die wordt afgedrukt voordat het opslaan is voltooid.
Normale voltooiing final grootboekrij na getrainde batches, definitieve validatiemetrieken en succesvolle procesafsluiting. De begrensde workflow is voltooid; controleer waarschuwingen en controleer het opschonen afzonderlijk.

Voor deze nieuwe synchrone GSM8K-run vindt de eerste evaluatie plaats vóór de eerste update; de laatste evaluatie volgt op het laatste opslaan. Controleer test/env/all/correct en test/env/all/total_episodes; controleer eventuele waarschuwingen over overgeslagen evaluaties. Een nulscore kan een echte mislukking zijn door opmaakproblemen of een te klein tokenbudget, zelfs wanneer de infrastructuur werkt. Ontbrekende metriek is geen nulscore.

Er is geen vereiste nauwkeurigheidswinst of beloofde runtime voor deze controle in twee stappen. Als u verbetering wilt claimen, gebruikt u een vaste hold-outset en de evaluatiehandleiding.

Bekijk de lokale artefacten:

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

Referentie: Dashboard uitvoeren.

Houd het dashboard op het standaard-loopbackadres omdat het geen verificatie heeft en prompts en antwoorden kan weergeven. Druk op Ctrl+C in de dashboardterminal om het te stoppen; hiermee wordt uw externe trainingssessie niet beëindigd.

De hulpbronnen opschonen

The recipe probeert de trainingssessie te sluiten wanneer de lus wordt afgesloten. Controleer op opschoningswaarschuwingen; alleen een afgedrukt Session closed bericht bevestigt niet dat externe rekenresources worden vrijgegeven.

Gebruik de vastgelegde sessie-id en de voorbeeldhandleiding voor sessiebeheer om uw sessie te inspecteren. Als deze actief blijft, behoudt u de vereiste controlepunten en ontlaadt u alleen uw eigen sessie.

Bewaar uw configuratie-, metrische gegevens- en controlepuntverwijzingen voor herstel. Als u lokale bestanden verwijdert, worden externe rekenresources niet vrijgegeven. Met dit recept wordt geen serving-deployment gemaakt.

Probeer andere recepten

Nadat u deze quickstart hebt voltooid, kunt u andere recepten proberen in de repository met fine-tuning-voorbeelden. Het interactieve cookbook bevat voorbeelden voor het afstemmen onder supervisie, optimalisatie van voorkeuren, distillatie en andere RL-taken.

Volg de installatie- en datasetinstructies van elk recept. Bevestig modeltoegang en een goedgekeurd budget voordat u een andere uitvoering start.