Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Belangrijk
Deze functie bevindt zich in openbare preview-versie.
AI Runtime kan systeemeigen worden geïntegreerd met MLflow voor het bijhouden van experimenten en bevat een ingebouwd deelvenster GPU-resources voor het bewaken van het gebruik, het geheugen en de temperatuur. Gebruik MLflow om metrische gegevens en uitvoeringen te registreren, trainingsuitvoer in het notebook en de MLflow-gebruikersinterface weer te geven, modelcontrolepunten op te slaan in Unity Catalog-volumes en GPU-status bij te houden terwijl uw code wordt uitgevoerd.
MLflow-integratie
AI Runtime kan systeemeigen worden geïntegreerd met MLflow voor het bijhouden van experimenten, modelregistratie en visualisatie van metrische gegevens.
Aanbevelingen voor installatie:
Werk MLflow bij naar versie 3.7 of hoger en volg de deep learning-werkstroompatronen.
Automatische logboeken inschakelen voor PyTorch Lightning:
import mlflow mlflow.pytorch.autolog()Pas de naam van de MLflow-uitvoering aan door uw modeltrainingscode binnen het
mlflow.start_run()API-bereik in te kapselen. Hiermee hebt u controle over de naam van de uitvoering en kunt u opnieuw opstarten vanaf een vorige uitvoering. U kunt de uitvoeringsnaam aanpassen met behulp van derun_nameparameter inmlflow.start_run(run_name="your-custom-name")of in bibliotheken van derden die MLflow ondersteunen (bijvoorbeeld Hugging Face Transformers). Anders isjobTaskRun-xxxxxde standaarduitvoeringsnaam.from transformers import TrainingArguments args = TrainingArguments( report_to="mlflow", run_name="llama7b-sft-lr3e5", # <-- MLflow run name logging_steps=50, )Wanneer u de Serverless GPU-API gebruikt, wordt bij elke aanroep van
.distributed()automatisch een MLflow-experimentrun gemaakt. Als dit wordt aangeroepen binnen een actieve MLflow-run, wordt in plaats daarvan een geneste child run gemaakt onder de actieve parent run.import mlflow with mlflow.start_run() as outer_run: ... run_train.distributed() # creates a nested child run under outer_runAls u het experiment wilt aanpassen dat door
.distributed()wordt gebruikt, roept umlflow.set_experiment()aan voordat u.distributed()aanroept, of stelt u de omgevingsvariabeleMLFLOW_EXPERIMENT_NAMEin. De standaardnaam van het experiment is/Users/{WORKSPACE_USER}/{notebook-name}. Gebruik altijd absolute paden.import mlflow mlflow.set_experiment("/Users/<username>/my-experiment") run_train.distributed()Alternatively:
import os os.environ["MLFLOW_EXPERIMENT_NAME"] = "/Users/<username>/my-experiment"Als u een vorige MLflow-uitvoering wilt hervatten, gebruikt u
mlflow.start_run(run_id="<previous-run-id>").Als u een eerdere MLflow-uitvoering wilt hervatten met
.distributed(), stelt uMLFLOW_RUN_IDin voordat u deze aanroept:os.environ["MLFLOW_RUN_ID"] = "<previous-run-id>" run_train.distributed()Stel de
stepparameter inMLFlowLoggerin op een redelijk aantal batches. MLflow heeft een limiet van 10 miljoen metriekstappen, dus het loggen van elke afzonderlijke batch tijdens grote trainingsruns kan ertoe leiden dat deze limiet wordt bereikt. Zie Resourcelimieten.
Logboeken weergeven
- Notebookuitvoer: Standaarduitvoer en fouten uit uw trainingscode worden weergegeven in de uitvoer van de notebookcel.
- MLflow-logboeken: in de ui van het MLflow-experiment worden metrische trainingsgegevens, parameters en artefacten weergegeven.
Modelcontrolepunten
Voor gedistribueerde training sla je model- en optimizerstatus op in Unity Catalog-volumes met behulp van de Torch Distributed Checkpoint (DCP) API met de serverless_gpu.data.UCVolumeWriter en serverless_gpu.data.UCVolumeReader opslag-backends. Sla asynchroon op zodat de training doorgaat terwijl het checkpoint wordt upload, en checkpoint vaak genoeg om het verlies van werk na een onderbreking te beperken. Omdat een modelcheckpoint de positie van de datapijplijn niet vastlegt, controleer dan ook je datapijplijn zodat een hervatte run op de juiste data doorgaat.
Voor het volledige checkpointing-patroon zie Verbeter trainingsprestaties en veerkracht op AI Runtime.
GPU-resources bewaken
Gebruik het deelvenster GPU-resources om de GPU-status en -gebruik te bewaken terwijl uw code wordt uitgevoerd op AI Runtime. Het deelvenster biedt ondersteuning voor workloads met één knooppunt en meerdere knooppunten.
Als u het deelvenster wilt openen, verbindt u uw notebook met AI Runtime en klikt u vervolgens op GPU-resources in het rechterdeelvenster.
In het deelvenster worden de volgende metrische gegevens weergegeven voor elke GPU:
- GPU-gebruikpercentage
- GPU-geheugengebruik
- Temperatuur
Het deelvenster haalt elke 10 seconden metriekgegevens op en bewaart een geschiedenis van maximaal 2 uur. Klik op Vernieuwen om de meest recente waarden onmiddellijk op te halen. Na 5 minuten zonder activiteit wordt het deelvenster gepauzeerd; open het opnieuw om de controle te hervatten.
Samenwerking tussen meerdere gebruikers
- Om ervoor te zorgen dat alle gebruikers toegang hebben tot gedeelde code (bijvoorbeeld helpermodules of YAML-bestanden in de omgeving), slaat u ze op in
/Workspace/Sharedplaats van gebruikersspecifieke mappen, zoals/Workspace/Users/<your_email>/. - Voor code die actief is ontwikkeld, gebruikt u Git-mappen in gebruikersspecifieke mappen
/Workspace/Users/<your_email>/en pusht u naar externe Git-opslagplaatsen. Hierdoor kunnen meerdere gebruikers een gebruikersspecifieke kloon en vertakking hebben, terwijl ze nog steeds een externe Git-opslagplaats gebruiken voor versiebeheer. Bekijk de aanbevolen procedures voor het gebruik van Git op Databricks. - Samenwerkers kunnen notitieblokken delen en er opmerkingen bij plaatsen .
Globale limieten in Azure Databricks
Zie Resourcelimieten.