중요합니다
이 기능은 공개 미리보기 단계에 있습니다.
AI 런타임은 기본적으로 실험 추적을 위해 MLflow와 통합되며 사용률, 메모리 및 온도를 모니터링하기 위한 기본 제공 GPU 리소스 창을 포함합니다. MLflow를 사용하여 메트릭 및 실행을 기록하고, Notebook 및 MLflow UI에서 학습 출력을 보고, 모델 검사점을 Unity 카탈로그 볼륨에 저장하고, 코드가 실행되는 동안 GPU 상태를 추적합니다.
Tip
- AI 런타임은 실험 추적과 모델 로깅을 위해 MLflow와 네이티브로 통합됩니다.
- 내장 GPU 리소스 창에서는 사용률, 메모리, 온도를 표시합니다.
- 모델 체크포인트를 Unity 카탈로그 볼륨에 저장하세요.
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에는 학습 메트릭, 매개 변수 및 아티팩트가 표시됩니다.
로그를 볼 수 없다면
MLflow 실행 페이지의 Logs 탭은 MLflow 실행과 연관된 Databricks 작업 실행에서 로그를 스트리밍하므로, 접근은 해당 작업의 권한에 의해 관리됩니다. 탭에 ' 이 로그에 접근할 수 없다'가 뜨면, 사용자가 충분한 권한이 없습니다.
MLflow에서 런에 접근한다고 해서 작업에 접근할 수 있다는 의미는 아닙니다. MLflow 실험 권한이 있더라도 로그에 대한 액세스는 거부될 수 있습니다. 접근 권한을 얻으려면, '관리 가능' 권한이 있는 사용자나 작업 공간 관리자에게 최소한 작업 시 ' 볼 수 있음 ' 권한을 부여해 달라고 요청하세요. 작업 권한 부여 방식에 대해서는 작업 접근 제어(Control access to job )를 참조하세요.
모델 체크포인트
분산 학습을 위해서는 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 전역 제한
리소스 한도를 참조하세요.