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.
Viktigt!
AI Runtime för aktiviteter med en nod finns i offentlig förhandsversion. Det distribuerade tränings-API:et för multi-GPU-arbetsbelastningar finns kvar i Beta.
Den här artikeln beskriver hur du använder MLflow, övervakar GPU-hälsa, visar loggar och hanterar modellkontrollpunkter på AI Runtime.
MLflow-integrering
AI Runtime integreras internt med MLflow för experimentspårning, modellloggning och måttvisualisering.
Installationsrekommendationer:
Uppgradera MLflow till version 3.7 eller senare och följ arbetsflödesmönstren för djupinlärning.
Aktivera automatisk loggning för PyTorch Lightning:
import mlflow mlflow.pytorch.autolog()Anpassa MLflow-körningsnamnet genom att kapsla in din modellträningskod inom API-omfånget
mlflow.start_run(). Detta ger dig kontroll över körningsnamnet och gör att du kan starta om från en tidigare körning. Du kan anpassa körningsnamnet med hjälp av parameternrun_nameimlflow.start_run(run_name="your-custom-name")eller i bibliotek från tredje part som stöder MLflow (till exempel Hugging Face Transformers). Annars är standardkörningsnamnetjobTaskRun-xxxxx.from transformers import TrainingArguments args = TrainingArguments( report_to="mlflow", run_name="llama7b-sft-lr3e5", # <-- MLflow run name logging_steps=50, )Det serverlösa GPU-API:et startar automatiskt ett MLflow-experiment med standardnamnet
/Users/{WORKSPACE_USER}/{get_notebook_name()}. Användare kan skriva över den med miljövariabelnMLFLOW_EXPERIMENT_NAME. Använd alltid absoluta sökvägar förMLFLOW_EXPERIMENT_NAMEmiljövariabeln:import os os.environ["MLFLOW_EXPERIMENT_NAME"] = "/Users/<username>/my-experiment"Återuppta föregående träning genom att ange
MLFLOW_RUN_IDfrån den tidigare körningen:mlflow.start_run(run_id="<previous-run-id>")Ange parametern
stepiMLFlowLoggertill rimliga batchnummer. MLflow har en begränsning på 10 miljoner steg – att logga varje enskild batch under stora träningspass kan nå denna gräns. Se Resursbegränsningar.
Visa loggar
- Notebook-utdata – Standardutdata och fel från träningskoden visas i notebook-cellens utdata.
- Drivrutinsloggar – Tillgänglig via beräkningspanelen för felsökning av startproblem, miljökonfigurationsproblem och körningsfel.
- MLflow-loggar – Träningsmått, parametrar och artefakter kan visas i MLflow-experimentets användargränssnitt.
Kontrollpunkter för modell
Spara modellkontrollpunkter i Unity Catalog-volymer, som ger samma styrning som andra Unity Catalog-objekt. Använd följande sökvägsformat för att referera till filer i volymer från en Databricks-notebook-fil:
/Volumes/<catalog>/<schema>/<volume>/<path>/<file-name>
Spara kontrollpunkter på volymer på samma sätt som du sparar dem i lokal lagring.
Exemplet nedan visar hur du skriver en PyTorch-kontrollpunkt till Unity Catalog-volymer:
import torch
checkpoint = {
"epoch": epoch, # last finished epoch
"model_state_dict": model.state_dict(), # weights & buffers
"optimizer_state_dict": optimizer.state_dict(), # optimizer state
"loss": loss, # optional current loss
"metrics": {"val_acc": val_acc}, # optional metrics
# Add scheduler state, RNG state, and other metadata as needed.
}
checkpoint_path = "/Volumes/my_catalog/my_schema/model/checkpoints/ckpt-0001.pt"
torch.save(checkpoint, checkpoint_path)
Den här metoden fungerar även för distribuerade kontrollpunkter. Exemplet nedan visar kontrollpunkter för distribuerade modeller med TORCH Distributed Checkpoint API:
import torch.distributed.checkpoint as dcp
def save_checkpoint(self, checkpoint_path):
state_dict = self.get_state_dict(model, optimizer)
dcp.save(state_dict, checkpoint_id=checkpoint_path)
trainer.save_checkpoint("/Volumes/my_catalog/my_schema/model/checkpoints")
Samarbete mellan flera användare
- För att säkerställa att alla användare kan komma åt delad kod (till exempel hjälpmoduler eller YAML-miljöfiler) lagrar du dem i
/Workspace/Sharedstället för användarspecifika mappar som/Workspace/Users/<your_email>/. - För kod som är i aktiv utveckling använder du Git-mappar i användarspecifika mappar
/Workspace/Users/<your_email>/och push-överför till fjärranslutna Git-lagringsplatser. Detta gör att flera användare kan ha en användarspecifik klon och gren, samtidigt som de använder en fjärransluten Git-lagringsplats för versionskontroll. Se metodtips för att använda Git på Databricks. - Medarbetare kan dela och kommentera anteckningsböcker.