중요합니다
이 기능은 공개 미리보기 단계에 있습니다.
AI 런타임은 기본적으로 실험 추적을 위해 MLflow와 통합되며 사용률, 메모리 및 온도를 모니터링하기 위한 기본 제공 GPU 리소스 창을 포함합니다. MLflow를 사용하여 메트릭 및 실행을 기록하고, Notebook 및 MLflow UI에서 학습 출력을 보고, 모델 검사점을 Unity 카탈로그 볼륨에 저장하고, 코드가 실행되는 동안 GPU 상태를 추적합니다.
MLflow 통합
AI 런타임은 실험 추적, 모델 로깅 및 메트릭 시각화를 위해 기본적으로 MLflow와 통합됩니다.
설치 권장 사항:
MLflow를 버전 3.7 이상으로 업그레이드하고 딥 러닝 워크플로 패턴을 따릅니다.
PyTorch Lightning에 자동 로깅 사용:
import mlflow mlflow.pytorch.autolog()API 범위 내에서
mlflow.start_run()모델 학습 코드를 캡슐화하여 MLflow 실행 이름을 사용자 지정합니다. 이렇게 하면 실행 이름을 제어할 수 있으며 이전 실행에서 다시 시작할 수 있습니다. MLflow를 지원하는 타사 라이브러리(run_name예: Hugging Face Transformers)의 매개 변수를 사용하여mlflow.start_run(run_name="your-custom-name")실행 이름을 사용자 지정할 수 있습니다. 그렇지 않으면 기본 실행 이름은 .입니다jobTaskRun-xxxxx.from transformers import TrainingArguments args = TrainingArguments( report_to="mlflow", run_name="llama7b-sft-lr3e5", # <-- MLflow run name logging_steps=50, )서버리스 GPU API를 사용하는 경우 각 호출은
.distributed()MLflow 실험 실행을 자동으로 만듭니다. 활성 MLflow 실행 내에서 호출되는 경우 중첩된 자식 실행이 활성 부모 아래에 대신 만들어집니다.import mlflow with mlflow.start_run() as outer_run: ... run_train.distributed() # creates a nested child run under outer_run.distributed()에서 사용하는 실험을 사용자 지정하려면mlflow.set_experiment()를 호출하기 전에.distributed()을 호출하거나MLFLOW_EXPERIMENT_NAME환경 변수를 설정하세요. 기본 실험 이름은 .입니다/Users/{WORKSPACE_USER}/{notebook-name}. 항상 절대 경로를 사용합니다.import mlflow mlflow.set_experiment("/Users/<username>/my-experiment") run_train.distributed()Alternatively:
import os os.environ["MLFLOW_EXPERIMENT_NAME"] = "/Users/<username>/my-experiment"이전 MLflow 실행을 다시 시작하려면 .를 사용합니다
mlflow.start_run(run_id="<previous-run-id>")..distributed()로 이전 MLflow 실행을 재개하려면, 이를 호출하기 전에MLFLOW_RUN_ID을 설정하세요:os.environ["MLFLOW_RUN_ID"] = "<previous-run-id>" run_train.distributed()매개 변수
step를MLFlowLogger적절한 일괄 처리 번호로 설정합니다. MLflow에는 1,000만 개의 메트릭 단계가 제한되므로 대규모 학습 실행의 모든 단일 일괄 처리로 이 제한에 도달할 수 있습니다. 리소스 한도를 참조하세요.
로그 보기
- Notebook 출력: 학습 코드의 표준 출력 및 오류가 Notebook 셀 출력에 표시됩니다.
- MLflow 로그: MLflow 실험 UI에는 학습 메트릭, 매개 변수 및 아티팩트가 표시됩니다.
모델 체크포인트
분산 학습을 위해서는 Torch Distributed Checkpoint(DCP) API와 스토리지 백엔드를 사용하여 serverless_gpu.data.UCVolumeWriterserverless_gpu.data.UCVolumeReaderUnity 카탈로그 볼륨에 모델 및 옵티마이저 상태를 저장하세요. 체크포인트가 업로드되는 동안 훈련이 계속되도록 비동기식 저장하고, 중단 후 손실된 작업을 최소화할 만큼 자주 체크포인트를 사용하세요. 모델 체크포인트가 데이터 파이프라인 위치를 캡처하지 않으므로, 데이터 파이프라인도 체크포인트하여 올바른 데이터에 대해 재개 실행이 계속되도록 해야 합니다.
전체 체크포인트 패턴은 AI 런타임에서 훈련 성과 및 복원력 향상을 참조하세요.
GPU 리소스 모니터링
GPU 리소스 창을 사용하여 코드가 AI 런타임에서 실행되는 동안 GPU 상태 및 사용률을 모니터링합니다. 창은 단일 노드 및 다중 노드 워크로드를 모두 지원합니다.
창을 열려면 Notebook을 AI 런타임에 연결한 다음 을 클릭합니다.오른쪽 창의 GPU 리소스입니다.
창에는 각 GPU에 대해 다음과 같은 메트릭이 표시됩니다.
- GPU 사용률 비율
- GPU 메모리 사용량
- 온도
이 패널은 10초마다 메트릭을 폴링하고 최대 2시간치 기록을 유지합니다.
새로 고쳐서 최신 값을 즉시 가져옵니다. 5분 동안 비활성 상태이면 창이 일시 중지됩니다. 다시 열어 모니터링을 다시 시작합니다.
다중 사용자 공동 작업
- 모든 사용자가 공유 코드(예: 도우미 모듈 또는 환경 YAML 파일)에 액세스할 수 있도록 하려면 사용자별 폴더(예:
/Workspace/Shared) 대신 저장/Workspace/Users/<your_email>/합니다. - 현재 개발 중인 코드의 경우 사용자별 폴더의 Git 폴더를
/Workspace/Users/<your_email>/사용하고 원격 Git 리포지토리에 푸시합니다. 이를 통해 여러 사용자가 버전 제어를 위해 원격 Git 리포지토리를 사용하는 동안 사용자별 클론 및 분기를 가질 수 있습니다. Databricks에서 Git을 사용하는 모범 사례를 참조하세요. - 공동 작업자는 전자 필기장을 공유하고 주석을 달 수 있습니다.
Azure Databricks 전역 제한
리소스 한도를 참조하세요.