Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważna
Ta funkcja jest dostępna w publicznej wersji testowej.
Środowisko AI Runtime integruje się natywnie z platformą MLflow na potrzeby śledzenia eksperymentów i zawiera wbudowane okienko zasobów procesora GPU na potrzeby monitorowania wykorzystania, pamięci i temperatury. Użyj biblioteki MLflow do rejestrowania metryk i uruchomień, wyświetlania wyników trenowania w notatniku i interfejsie użytkownika MLflow, zapisywania punktów kontrolnych modelu w woluminach katalogu Unity Catalog oraz śledzenia stanu GPU podczas działania kodu.
Integracja platformy MLflow
Środowisko AI Runtime integruje się natywnie z rozwiązaniem MLflow na potrzeby śledzenia eksperymentów, rejestrowania modeli i wizualizacji metryk.
Zalecenia dotyczące konfiguracji:
Uaktualnij bibliotekę MLflow do wersji 3.7 lub nowszej i postępuj zgodnie z wzorcami przepływu pracy uczenia głębokiego.
Włącz automatyczne rejestrowanie dla rozwiązania PyTorch Lightning:
import mlflow mlflow.pytorch.autolog()Dostosuj nazwę przebiegu MLflow, zamykając kod treningowy modelu w obszarze interfejsu API
mlflow.start_run(). Daje to kontrolę nad nazwą uruchomienia i pozwala na restart z poprzedniego uruchomienia. Nazwę uruchomienia można dostosować przy użyciu parametrurun_namewmlflow.start_run(run_name="your-custom-name")lub w bibliotekach innych firm, które obsługują MLflow (na przykład Hugging Face Transformers). W przeciwnym razie domyślna nazwa przebiegu tojobTaskRun-xxxxx.from transformers import TrainingArguments args = TrainingArguments( report_to="mlflow", run_name="llama7b-sft-lr3e5", # <-- MLflow run name logging_steps=50, )Podczas korzystania z bezserwerowego interfejsu API GPU każde wywołanie
.distributed()automatycznie tworzy uruchomienie eksperymentu MLflow. Jeśli wywołanie nastąpi w trakcie aktywnego uruchomienia MLflow, zamiast tego zostanie utworzone zagnieżdżone uruchomienie podrzędne pod aktywnym uruchomieniem nadrzędnym.import mlflow with mlflow.start_run() as outer_run: ... run_train.distributed() # creates a nested child run under outer_runAby dostosować eksperyment używany przez
.distributed()program , wywołaj metodęmlflow.set_experiment()przed wywołaniem.distributed()metody lub ustaw zmiennąMLFLOW_EXPERIMENT_NAMEśrodowiskową. Domyślna nazwa eksperymentu to/Users/{WORKSPACE_USER}/{notebook-name}. Zawsze używaj ścieżek bezwzględnych.import mlflow mlflow.set_experiment("/Users/<username>/my-experiment") run_train.distributed()Alternatively:
import os os.environ["MLFLOW_EXPERIMENT_NAME"] = "/Users/<username>/my-experiment"Aby wznowić poprzednie uruchomienie MLflow, użyj polecenia
mlflow.start_run(run_id="<previous-run-id>").Aby wznowić poprzednie uruchomienie MLflow za pomocą
.distributed(), ustawMLFLOW_RUN_IDprzed jego wywołaniem:os.environ["MLFLOW_RUN_ID"] = "<previous-run-id>" run_train.distributed()Ustaw parametr
stepwMLFlowLoggerna odpowiednie numery partii. MLflow ma limit 10 milionów kroków metryk, więc rejestrowanie każdej partii w dużych przebiegach treningowych może osiągnąć ten limit. Zobacz Limity zasobów.
Wyświetlanie dzienników
- Dane wyjściowe notesu: standardowe dane wyjściowe i błędy z kodu szkoleniowego są wyświetlane w danych wyjściowych komórki notesu.
- Dzienniki platformy MLflow: interfejs użytkownika eksperymentu MLflow wyświetla metryki trenowania, parametry i artefakty.
Modelowanie punktów kontrolnych
Do rozproszonego treningu zapisuj stan modelu i optymalizatora do woluminów katalogu Unity, korzystając z Torch Distributed Checkpoint (DCP) API z serverless_gpu.data.UCVolumeWriter backendami i serverless_gpu.data.UCVolumeReader pamięcią masową. Zapisz asynchronicznie, aby trening trwał podczas przesyłania punktu kontrolnego, i to na tyle często, by ograniczyć utratę pracy po przerwie. Ponieważ punkt kontrolny modelu nie rejestruje pozycji potoku danych, również należy ustawić punkt kontrolny potoku danych, aby wznowienie działania kontynuowało na poprawnych danych.
Pełny wzór checkpointingu znajdziesz w artykule Poprawa wydajności treningu i odporności na AI Runtime.
Monitorowanie zasobów procesora GPU
Użyj okienka Zasobów procesora GPU , aby monitorować kondycję i wykorzystanie procesora GPU, gdy kod jest uruchamiany w środowisku uruchomieniowym sztucznej inteligencji. Panel obsługuje zarówno obciążenia robocze z jednym węzłem, jak i z wieloma węzłami.
Aby otworzyć okienko, połącz notes ze środowiskiem uruchomieniowym sztucznej inteligencji, a następnie kliknij Zasoby procesora GPU w okienku po prawej stronie.
W okienku są wyświetlane następujące metryki dla każdego procesora GPU:
- Procent wykorzystania procesora GPU
- Użycie pamięci procesora GPU
- Temperatura
Panel odświeża metryki co 10 sekund i przechowuje historię z ostatnich 2 godzin. Kliknij Odśwież , aby natychmiast pobrać najnowsze wartości. Po 5 minutach bezczynności okienko zostanie wstrzymane; otwórz je ponownie, aby wznowić monitorowanie.
Współpraca między użytkownikami
- Aby zapewnić wszystkim użytkownikom dostęp do kodu udostępnionego (na przykład modułów pomocnika lub plików YAML środowiska), zapisz je w
/Workspace/Sharedzamiast w folderach specyficznych dla użytkownika, takich jak/Workspace/Users/<your_email>/. - W przypadku kodu, który jest aktywnie rozwijany, użyj folderów Git w folderach specyficznych dla użytkowników
/Workspace/Users/<your_email>/i prześlij do zdalnych repozytoriów Git. Dzięki temu wielu użytkowników może mieć klony i gałęzie specyficzne dla użytkownika, jednocześnie używając zdalnego repozytorium Git do kontroli wersji. Zobacz najlepsze rozwiązania dotyczące korzystania z usługi Git w usłudze Databricks. - Współpracownicy mogą udostępniać notesy i komentować je.
Limity globalne w Azure Databricks
Zobacz Limity zasobów.