Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Important
Objekt som har markerats som förhandsversioner i den här artikeln är för närvarande i förhandsversion. Den här förhandsversionen tillhandahålls utan ett serviceavtal och Microsoft rekommenderar det inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller kan vara begränsade. Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.
Important
Interaktiv utbildning kräver uttryckligt godkännande för åtkomst. Begär åtkomst via registreringsformuläret för förhandsversionen och vänta på godkännande innan du skapar en utbildningssession.
I den här snabbstarten klonar du exempellagringsplatsen och kör ett RL-recept (reinforcement learning) på GSM8K-matematiska problem. Receptet genererar svar, poängsätter deras korrekthet och uppdaterar en loRA-adapter (low-rank adaptation) för Qwen3.8-27B i Microsoft Foundry.
Du kör Python-drivrutinen lokalt. Foundry kör modelloperationerna. Den här korta körningen kontrollerar att träning, utvärdering och att spara kontrollpunkter fungerar. Det är inte ett benchmark för modellkvalitet och du behöver ingen lokal GPU.
Om du inte har någon Azure-prenumeration kan du skapa ett kostnadsfritt konto.
Prerequisites
- Ett Foundry-projekt med godkänd åtkomst till förhandsvisning av interaktiv utbildning och kapacitet för
Qwen/Qwen3.8-27B. Kontrollera modeller som stöds och regioner. - Foundry-användarrollen för träning eller rollen Foundry-ägare om du även distribuerar den finjusterade modellen. Se Rollbaserad åtkomstkontroll för Microsoft Foundry.
- Python 3.11 eller senare, Git och en skrivbar lokal katalog.
- Använd Azure CLI för inloggningskommandot nedan.
- Nätverksåtkomst för att ladda ned Python paket, den offentliga datauppsättningen och modellens tokenizer.
- En godkänd budget för modellinläsning, träning, sampling och utvärdering.
Klona exempelrepositoriet
Klona microsoft-foundry/fine-tuning och öppna dess interaktiva träningskokbok:
git clone https://github.com/microsoft-foundry/fine-tuning.git
cd fine-tuning/interactive_training
Håll katalogen öppen för de återstående kommandona. Den innehåller kokbokens pyproject.toml och Python paket.
Installera kokboken
Skapa en virtuell miljö och installera cookbook. Linux- och Windows-kommandona använder CPU Torch-paketindexet för beroenden på värdsidan.
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
Referens: Cookbook installation.
Kontrollera installationen utan att skapa en fjärrsession:
python -m pip check
python -m interactive_training.recipes.math_rl.train_azure --help
Förvänta dig inga brutna beroenden och recepthjälp som visar project_endpoint, max_stepsoch max_train_examples.
Konfigurera projektet och logga in
Logga in med den identitet som godkänts för ditt projekt och välj sedan dess prenumeration:
az login
az account set --subscription "<subscription-id>"
Referens: Logga in med Azure CLI.
Kopiera project endpoint från ditt Foundry-projekt. Använd projektets URL, inte en URL för modelldistribution eller bara kontots värdnamn. Ersätt <account> och <project> med dina projektvärden:
export AZURE_AI_PROJECT_ENDPOINT=\
"https://<account>.services.ai.azure.com/api/projects/<project>"
Receptet använder DefaultAzureCredential om inte AZURE_AI_API_KEY har angetts. Andra konfigurerade autentiseringsuppgifter kan väljas före CLI-autentiseringsuppgiften. Om nyckelvariabeln har angetts har den företräde framför din Azure CLI inloggning.
Kör receptet
Kör GSM8K-receptet med två träningsiterationer, 16 träningsexempel och åtta utvärderingsexempel som hålls undan. Receptet skapar en session, samplar svar, beräknar belöningar, uppdaterar adaptern och sparar kontrollpunkter.
Varning
Det här kommandot skapar en fjärrträningssession och kan medföra avgifter.
max_steps=2 begränsar tränings-iterationer, inte modellinläsningstid, utvärderingsanrop, totalt antal token eller kostnader. Fortsätt endast med en godkänd 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
Referens: Snabbstart för Math RL-recept.
Receptet använder key=value argument, inte --key value. Håll terminalen och nätverksanslutningen öppna tills körningen är klar.
Varje iteration använder åtta prompter med fyra svar per prompt.
max_tokens=1200 ger en slutförandebudget för resonemang och det slutliga svaret. Svar kan fortfarande trunkeras.
Resultaten hamnar i first-math-check katalogen under runs. Kommandot vägrar att skriva över en befintlig katalog. Välj en ny log_path för en annan oberoende körning. Ta inte bort resultatet för att kringgå ett fel.
Kontrollera vad som lyckades
Titta i ./runs/first-math-check/, i förhållande till cookbook-katalogen:
| Scenen | Evidence | Vad det bevisar |
|---|---|---|
| Konfiguration av Launcher |
run_meta.json skrivs; sessions-ID:t kan till en början vara null. |
Den lokala installationen startar, inte för att Azure godkänner sessionen. |
| Modellen har lästs in | Console Session ready: session_id=...– azure.session_id uppdateras. |
Skapandet av sessionen slutförs. |
| Loop körs |
config.json, metrics.jsonl, träningsmetriker och trajekt-HTML. |
Provtagnings-, klassificerings- och uppdateringsåtgärder pågår. |
| Sparat läge |
checkpoints.jsonl har sparat state_path/sampler_path poster. |
Sparåtgärderna har slutförts; förlita dig inte på ett kontrollpunktsnamn som skrivs ut innan sparandet har slutförts. |
| Normalt slutförande |
final huvudboksrad efter tränade batchar, slutliga mått för holdout-data och lyckad processavslutning. |
Det avgränsade arbetsflödet slutför; inspektera varningar och kontrollera rensningen separat. |
För den här nya synkrona GSM8K-körningen sker den första utvärderingen före den första uppdateringen. Den slutliga utvärderingen följer den slutliga sparningen. Kontrollera test/env/all/correct och test/env/all/total_episodes; inspektera eventuella varningar om bortfallen utvärdering. Nollpoäng kan vara ett verkligt misslyckande på grund av formatering eller tokenbudget även när infrastrukturen fungerar. Mätvärden som saknas är inte nollpoäng.
Det finns ingen nödvändig noggrannhetsvinst eller utlovad körtid för den här tvåstegskontrollen. För att påvisa förbättringar, använd en fast sluten uppsättning och utvärderingsguiden.
Visa de lokala artefakterna:
python dashboard_server.py --root ./runs
# Open http://127.0.0.1:8000/
Referens: Öppna översiktspanelen.
Behåll översiktspanelen på standardadressen för loopback eftersom den inte har någon autentisering och kan visa promptar och svar. Tryck på Ctrl+C i översiktspanelens terminal för att stoppa den; detta avslutar inte din fjärrträningssession.
Rensa resurser
Recept försöker stänga träningssessionen när loopen avslutas. Sök efter rensningsvarningar. enbart ett utskrivet Session closed meddelande bekräftar inte att fjärrberäkningsresurser har släppts.
Använd det registrerade sessions-ID:t och exempelguiden för sessionshantering för att inspektera sessionen. Om den förblir aktiv bevarar du nödvändiga kontrollpunkter och avlastar bara din egen session.
Behåll dina konfigurations-, mätvärdes- och kontrollpunktsreferenser för återställning. Om du tar bort lokala filer frigörs inte fjärrberäkningsresurser. Det här receptet skapar ingen driftsättning för inferens.
Prova andra recept
När du har slutfört den här snabbstarten kan du prova andra recept i exempelrepositoriet för finjustering. Kokboken för interaktiv träning innehåller exempel på övervakad finjustering, preferensoptimering, distillering och andra RL-uppgifter.
Följ konfigurations- och datamängdsinstruktionerna för varje recept. Bekräfta modellåtkomst och en godkänd budget innan du startar en ny körning.