Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Fontos
Az egycsomópontos feladatokhoz készült AI-futtatókörnyezet nyilvános előzetes verzióban érhető el. A több GPU-s számítási feladatok elosztott betanítási API-ja a bétaverzióban marad.
Ez a cikk bemutatja az MLflow használatát, a GPU állapotának monitorozását, a naplók megtekintését és a modell ellenőrzőpontjainak kezelését az AI-futtatókörnyezetben.
MLflow-integráció
Az AI Runtime natív módon integrálható az MLflow-jal a kísérletkövetés, a modellnaplózás és a metrikavizualizáció érdekében.
Telepítési javaslatok:
Frissítse az MLflow-t a 3.7-es vagy újabb verzióra, és kövesse a mélytanulási munkafolyamat-mintákat.
Automatikus naplózás engedélyezése a PyTorch Lightninghoz:
import mlflow mlflow.pytorch.autolog()Az MLflow-futtatás nevének testreszabásához foglalja bele a modell betanítási kódját az
mlflow.start_run()API hatókörébe. Ezzel szabályozhatja a futtatás nevét, és lehetővé teszi az előző futtatásból való újraindítást. A futtatás nevét testreszabhatja arun_nameparaméterrel azmlflow.start_run(run_name="your-custom-name")vagy az MLflow-t támogató külső könyvtárakban (például a Hugging Face Transformersben). Ellenkező esetben az alapértelmezett futtatási név a következőjobTaskRun-xxxxx: .from transformers import TrainingArguments args = TrainingArguments( report_to="mlflow", run_name="llama7b-sft-lr3e5", # <-- MLflow run name logging_steps=50, )A kiszolgáló nélküli GPU API automatikusan elindít egy MLflow-kísérletet alapértelmezett névvel
/Users/{WORKSPACE_USER}/{get_notebook_name()}. A felhasználók felülírhatják a környezeti változóvalMLFLOW_EXPERIMENT_NAME. Mindig használjon abszolút elérési utakat aMLFLOW_EXPERIMENT_NAMEkörnyezeti változóhoz:import os os.environ["MLFLOW_EXPERIMENT_NAME"] = "/Users/<username>/my-experiment"Folytassa a korábbi betanítást a
MLFLOW_RUN_IDkorábbi futtatás során beállított értékekkel.mlflow.start_run(run_id="<previous-run-id>")Állítsa be a
stepparamétertMLFlowLoggerésszerű kötegszámokra. Az MLflow korlátja 10 millió metrikus lépés – nagy edzési futtatások során minden egyes köteg naplózása elérheti ezt a korlátot. Lásd: Erőforráskorlátok.
Naplók megtekintése
- Jegyzetfüzet kimenet – A tanítási kód szokásos kimenete és hibaüzenetei megjelennek a jegyzetfüzet cella kimenetében.
- Illesztőprogram-naplók – Elérhető a számítási panelen az indítási problémák, a környezetbeállítási problémák és a futásidejű hibák hibakereséséhez.
- MLflow-naplók – A betanítási metrikák, paraméterek és összetevők az MLflow-kísérlet felhasználói felületén tekinthetők meg.
Modell ellenőrzési pont
Mentse a modell ellenőrzőpontjait a Unity Catalog-kötetekre, amelyek ugyanazt a szabályozást biztosítják, mint a többi Unity Catalog-objektum. A Databricks jegyzetfüzet köteteiben lévő fájlokra az alábbi elérési útvonal formátum használatával hivatkozhat:
/Volumes/<catalog>/<schema>/<volume>/<path>/<file-name>
Az ellenőrzőpontokat ugyanúgy mentheti kötetekre, mint a helyi tárolóba.
Az alábbi példa bemutatja, hogyan írhat PyTorch ellenőrzőpontot a Unity Katalógus köteteibe:
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)
Ez a módszer az elosztott ellenőrzőpontok esetében is működik. Az alábbi példa az elosztott modell ellenőrzőpont-használatát mutatja be a Torch Distributed Checkpoint API-val:
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")
Többfelhasználós együttműködés
- Annak érdekében, hogy minden felhasználó hozzáférhessen a megosztott kódhoz (például segédmodulokhoz vagy környezeti YAML-fájlokhoz), tárolja őket
/Workspace/Shareda felhasználóspecifikus mappák helyett, például/Workspace/Users/<your_email>/. - Aktív fejlesztés alatt lévő kód esetén használja a Git-mappákat felhasználóspecifikus mappákban
/Workspace/Users/<your_email>/, és küldje el a távoli Git-adattárakba. Ez lehetővé teszi, hogy több felhasználó rendelkezik felhasználóspecifikus klónral és áglal, miközben a verziókövetéshez továbbra is távoli Git-adattárat használ. Ajánlott eljárások a Git databricksen való használatához. - A közreműködők megoszthatják és megjegyzéseket fűzhetnek a jegyzetfüzetekhez.
Globális korlátok a Databricksben
Lásd: Erőforráskorlátok.