MLOps용 Machine Learning 레지스트리
이 문서에서는 Azure Machine Learning 레지스트리가 작업 영역에서 기계 학습 자산을 분리하여 개발, 테스트 및 프로덕션 환경에서 MLOps를 사용할 수 있도록 하는 방법을 설명합니다. 환경은 IT 시스템의 복잡성에 따라 달라질 수 있습니다. 다음 요소는 필요한 환경의 수와 유형에 영향을 줍니다.
- 보안 및 규정 준수 정책. 프로덕션 환경은 액세스 제어, 네트워크 아키텍처 및 데이터 노출 측면에서 개발 환경과 격리되어야 할 수 있습니다.
- 구독. 개발 환경 및 프로덕션 환경에서는 청구, 예산 및 비용 관리 목적으로 별도의 구독을 사용하는 경우가 많습니다.
- 지역. 대기 시간 및 중복도 요구 사항을 지원하기 위해 다른 Azure 지역에 배포해야 할 수 있습니다.
이전 시나리오에서는 개발, 테스트 및 프로덕션에 서로 다른 Azure Machine Learning 작업 영역을 사용할 수 있습니다. 이 구성은 모델 학습 및 배포에 다음과 같은 잠재적인 문제를 제시합니다.
개발 작업 영역에서 모델을 학습시켜야 하지만 프로덕션 작업 영역의 엔드포인트(다른 Azure 구독 또는 지역)에 배포해야 할 수도 있습니다. 이 경우 학습 작업을 추적할 수 있어야 합니다. 예를 들어 프로덕션 배포에서 정확도 또는 성능 문제가 발생하는 경우 모델을 학습하는 데 사용한 메트릭, 로그, 코드, 환경 및 데이터를 분석해야 합니다.
개발 작업 영역에서 테스트 데이터 또는 익명화된 데이터를 사용하여 학습 파이프라인을 개발해야 하지만 프로덕션 작업 영역에서 프로덕션 데이터를 사용하여 모델을 다시 학습시켜야 할 수도 있습니다. 이 경우 실제 데이터에서 학습 최적화가 잘 수행되도록 샘플 및 프로덕션 데이터에 대한 학습 메트릭을 비교해야 할 수 있습니다.
레지스트리를 사용하는 작업 영역 간 MLOps
레지스트리는 Git 리포지토리와 마찬가지로 작업 영역에서 기계 학습 자산을 분리하고 중앙 위치에 자산을 호스트하여 조직의 모든 작업 영역에서 사용할 수 있도록 합니다. 레지스트리를 사용하여 모델, 환경, 구성 요소 및 데이터 세트와 같은 자산을 저장하고 공유할 수 있습니다.
개발, 테스트 및 프로덕션 환경에서 모델을 승격시키려면 개발 환경에서 모델을 반복적으로 개발하는 것부터 시작할 수 있습니다. 적합한 후보 모델이 있는 경우 레지스트리에 게시하면 됩니다. 그런 다음, 레지스트리에서 다른 작업 영역의 엔드포인트로 모델을 배포할 수 있습니다.
팁
작업 영역에 모델이 이미 등록된 경우 모델을 레지스트리로 승격시킬 수 있습니다. 학습 작업의 출력에서 레지스트리에 직접 모델을 등록할 수도 있습니다.
한 작업 영역에서 파이프라인을 개발한 다음 다른 작업 영역에서 실행하려면 먼저 파이프라인의 구성 요소를 구성하는 구성 요소 및 환경을 등록합니다. 파이프라인 작업을 제출할 때 각 작업 영역에 고유한 컴퓨팅 및 학습 데이터는 실행할 작업 영역을 결정합니다.
다음 다이어그램은 탐색 작업 영역과 개발 작업 영역 간의 학습 파이프라인 승격과 테스트 및 프로덕션을 위해 학습된 모델 승격을 보여 줍니다.