Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Důležité
Tato funkce je ve verzi Public Preview.
AI Runtime se nativně integruje s MLflow pro sledování experimentů a zahrnuje integrované podokno prostředků GPU pro monitorování využití, paměti a teploty. Pomocí MLflow můžete protokolovat metriky a spuštění, zobrazit výstup trénování v poznámkovém bloku a uživatelském rozhraní MLflow, uložit kontrolní body modelu do svazků katalogu Unity a sledovat stav GPU při spuštění kódu.
Tip
- AI Runtime se nativně integruje s MLflow pro sledování experimentů a logování modelů.
- Vestavěný panel prostředků GPU zobrazuje využití, paměť a teplotu.
- Ukládejte kontrolní body modelu do volumů ve službě Unity Catalog.
Integrace MLflow
AI Runtime se nativně integruje s MLflow pro sledování experimentů, protokolování modelů a vizualizaci metrik.
Doporučení k nastavení:
Upgradujte MLflow na verzi 3.7 nebo novější a postupujte podle vzorů pracovních postupů hlubokého učení.
Povolení automatického přihlašování pro PyTorch Lightning:
import mlflow mlflow.pytorch.autolog()Přizpůsobte si název spuštění MLflow zapouzdřením trénovacího kódu modelu ve
mlflow.start_run()rámci rozhraní API. Tím získáte kontrolu nad názvem spuštění a umožníte restartování z předchozího spuštění. Název spuštění můžete přizpůsobit pomocí parametrurun_namevmlflow.start_run(run_name="your-custom-name")knihovnách třetích stran, které podporují MLflow (například Hugging Face Transformers). V opačném případě je výchozí název spuštěníjobTaskRun-xxxxx.from transformers import TrainingArguments args = TrainingArguments( report_to="mlflow", run_name="llama7b-sft-lr3e5", # <-- MLflow run name logging_steps=50, )Při použití bezserverového GPU API každé volání
.distributed()automaticky vytvoří běh experimentu v MLflow. Pokud je volána v rámci aktivního běhu MLflow, místo toho se v rámci aktivního nadřazeného běhu vytvoří vnořený podřízený běh.import mlflow with mlflow.start_run() as outer_run: ... run_train.distributed() # creates a nested child run under outer_runChcete-li přizpůsobit experiment používaný funkcí
.distributed(), zavolejtemlflow.set_experiment()před voláním.distributed()nebo nastavte proměnnou prostředíMLFLOW_EXPERIMENT_NAME. Výchozí název experimentu je/Users/{WORKSPACE_USER}/{notebook-name}. Vždy používejte absolutní cesty.import mlflow mlflow.set_experiment("/Users/<username>/my-experiment") run_train.distributed()Alternatively:
import os os.environ["MLFLOW_EXPERIMENT_NAME"] = "/Users/<username>/my-experiment"Pokud chcete obnovit předchozí spuštění MLflow, použijte
mlflow.start_run(run_id="<previous-run-id>").Chcete-li obnovit předchozí běh MLflow pomocí
.distributed(), nastavte před jeho zavolánímMLFLOW_RUN_ID:os.environ["MLFLOW_RUN_ID"] = "<previous-run-id>" run_train.distributed()Nastavte parametr
stepvMLFlowLoggerna přiměřené hodnoty dávkového zpracování. MLflow má limit 10 milionů kroků metrik, takže zaznamenávání každé jednotlivé dávky u rozsáhlých trénovacích běhů může na tento limit narazit. Viz Omezení prostředků.
Zobrazení protokolů
- Výstup notebooku: Standardní výstup a chybový výstup z vašeho trénovacího kódu se zobrazují ve výstupu buňky notebooku.
- Protokoly MLflow: Uživatelské rozhraní experimentu MLflow zobrazuje metriky trénování, parametry a artefakty.
Pokud nemůžete zobrazit záznamy
Záložka Logs na stránce běhu MLflow průběžně zobrazuje protokoly z běhu úlohy Databricks přidruženého k běhu MLflow, takže přístup se řídí oprávněními dané úlohy. Pokud záložka ukazuje, že nemáte přístup k těmto logům, uživatelé nemají dostatečná oprávnění.
Přístup k běhu v MLflow neznamená přístup k dané práci. Můžete mít povolení k experimentu MLflow a přesto vám budou logy odepřeny. Pro získání přístupu požádejte uživatele s oprávněními Can Manage nebo správce pracovního prostoru, aby vám alespoň na práci povolili Can View . Viz Řízení přístupu k úloze, kde najdete informace o tom, jak jsou oprávnění k úloze udělována.
Vytváření kontrolních bodů modelu
Pro distribuovaný trénink ukládejte stav modelu a optimalizátoru do svazků ve službě Unity Catalog pomocí rozhraní API Torch Distributed Checkpoint (DCP) s úložnými backendy serverless_gpu.data.UCVolumeWriter a serverless_gpu.data.UCVolumeReader. Ukládejte asynchronně, aby trénink pokračoval i během nahrávání kontrolního bodu, a kontrolní body ukládejte dostatečně často, aby se v případě přerušení omezila ztráta práce. Protože kontrolní bod modelu nezachycuje pozici datového potrubí, také nastavte kontrolní bod v datovém potrubí, aby obnovený běh pokračoval na správných datech.
Úplný postup checkpointování najdete v Zvýšení výkonu trénování a odolnosti v AI Runtime.
Monitorujte prostředky GPU
Pomocí podokna prostředků GPU můžete monitorovat stav a využití GPU během spouštění kódu v prostředí AI Runtime. Panel podporuje jednouzlové i víceuzlové úlohy.
Pokud chcete podokno otevřít, připojte notebook k AI Runtime a potom v pravém podokně klikněte na Prostředky GPU
V podokně se zobrazí následující metriky pro každý GPU:
- Procento využití GPU
- Využití paměti GPU
- Teplota
Panel načítá metriky každých 10 sekund a uchovává až 2 hodiny historických dat. Klikněte na Aktualizovat, aby se okamžitě načetly nejnovější hodnoty. Po 5 minutách nečinnosti se podokno pozastaví; znovu ho otevřete, abyste mohli pokračovat v monitorování.
Spolupráce s více uživateli
- Pokud chcete zajistit, aby všichni uživatelé měli přístup ke sdílenému kódu (například k pomocným modulům nebo souborům YAML prostředí), uložte je
/Workspace/Sharedmísto složek specifických pro uživatele, jako/Workspace/Users/<your_email>/je . - Pro kód, který je v aktivním vývoji, použijte uživatelské složky Gitu
/Workspace/Users/<your_email>/a přeneste je do vzdálených úložišť Git. To umožňuje více uživatelům mít klon a větev specifickou pro uživatele, zatímco pro správu verzí stále používá vzdálené úložiště Git. Podívejte se na osvědčené postupy pro používání Gitu v Databricks. - Spolupracovníci můžou poznámkové bloky sdílet a komentovat .
Globální limity v Azure Databricks
Viz Omezení prostředků.