MLOps(기계 학습 작업) 완성 모델은 프로덕션 기계 학습 환경을 빌드하고 운영하는 데 도움이 되는 원칙과 사례를 정의합니다. 이 모델을 사용하여 현재 상태를 평가하고 성숙한 MLOps 환경에 대한 증분 진행 상황을 계획합니다.
완성도 모델 개요
MLOps 완성 모델은 성공적인 MLOps 환경을 실행하는 데 필요한 DevOps(개발 작업) 원칙 및 사례를 명확히 합니다. 조직의 MLOps 기능을 측정하고 현재 구현의 격차를 식별하는 프레임워크를 제공합니다. 이 모델을 사용하여 완성도 높은 구현의 전체 복잡성에 직면하지 않고 점진적으로 MLOps 기능을 개발할 수 있습니다.
MLOps 완성 모델을 가이드로 사용하여 다음 작업을 수행합니다.
새 계약에 대한 작업의 범위를 예측합니다.
현실적인 성공 기준을 설정합니다.
계약 종료 시 인계할 결과물을 식별합니다.
대부분의 완성도 모델과 마찬가지로 MLOps 완성도 모델은 사람과 문화, 프로세스 및 구조, 개체 및 기술을 질적으로 평가합니다. 성숙도가 높아짐에 따라 인시던트 또는 오류가 개발 및 프로덕션 프로세스의 개선으로 이어질 가능성도 높아집니다.
MLOps 완성 모델은 5가지 수준의 기술 기능을 포함합니다.
| Level |
Description |
중요 사항 |
기술 |
| 0 |
MLOps 없음 |
- 전체 기계 학습 모델 수명 주기는 관리하기 어렵습니다.
- 팀은 이질적이고 릴리스는 어렵습니다.
- 대부분의 시스템은 배포 중과 배포 후에 피드백이 거의 없는 비투명한 시스템입니다.
|
- 빌드 및 배포는 수동입니다.
- 모델 및 애플리케이션 테스트는 수동입니다.
- 모델 성능 추적은 중앙 집중식이 아닙니다.
- 모델 학습은 수동입니다.
- Teams는 기본 Azure Machine Learning 작업 영역 기능만 사용합니다.
|
| 1 |
DevOps이지만 MLOps 없음 |
- 릴리스는 수준 0보다 덜 어렵지만 모든 새 모델에 대해 데이터 팀을 사용합니다.
- 프로덕션의 모델 성능에 대한 피드백은 여전히 제한되어 있습니다.
- 결과는 추적 및 재현하기 어렵습니다.
|
- 빌드는 자동화됩니다.
- 애플리케이션 코드에는 자동화된 테스트가 있습니다.
- 코드는 버전이 제어됩니다.
|
| 2 |
자동화된 교육 |
- 학습 환경은 완전히 관리되고 추적할 수 있습니다.
- 모델은 쉽게 재현할 수 있습니다.
- 릴리스는 수동이지만 구현하기 쉽습니다.
|
- 모델 학습은 자동화됩니다.
- 모델 학습 성능 추적이 중앙 집중화됩니다.
- 모델 관리가 진행됩니다.
- 머신 러닝 시스템에서 예약되거나 이벤트 기반으로 실행되는 작업은 주기적인 학습 과정을 처리합니다.
- 관리되는 기능 저장소가 채택됩니다.
- Azure Event Grid 수명 주기 이벤트는 파이프라인 오케스트레이션을 위해 내보내집니다.
- 환경은 Machine Learning 환경 정의를 사용하여 관리됩니다.
|
| 3 |
자동화된 모델 배포 |
- 릴리스는 구현하기 쉽고 자동입니다.
- 배포에서 원래 데이터로의 전체 추적 가능성이 존재합니다.
- 학습, 테스트 및 프로덕션을 포함하여 전체 환경이 관리됩니다.
|
- 모델 성능의 A/B 테스트는 배포를 위해 통합됩니다.
- 모든 코드에는 자동화된 테스트가 있습니다.
- 모델 학습 성능 추적이 중앙 집중화됩니다.
- 아티팩트는 기계 학습 레지스트리를 사용하여 작업 공간 간에 승급됩니다.
|
| 4 |
완전한 MLOps 자동화 운영 |
- 전체 시스템은 자동화되고 쉽게 모니터링됩니다.
- 프로덕션 시스템은 개선 방법에 대한 정보를 제공하고 때로는 새 모델을 사용하여 자동으로 개선하는 방법을 제공합니다.
- 시스템이 가동 중지 시간이 0으로 다가오고 있습니다.
|
- 모델 학습 및 테스트는 자동화됩니다.
- 배포된 모델은 자세한 중앙 집중식 메트릭을 내보낸다.
- 드리프트 또는 회귀 신호는 Event Grid를 사용하여 자동 재학습을 트리거합니다.
- 특성 구현의 건강 상태 및 최신성이 모니터링됩니다.
- 모델 승격은 Machine Learning 레지스트리를 사용하여 정책 기반이며 자동화됩니다.
|
다음 표에서는 각 완성도 수준에 대한 자세한 특징을 설명합니다.
수준 0: MLOps 없음
| 사람 |
모델 만들기 |
모델 출시 |
애플리케이션 통합 |
- 데이터 과학자는 대규모 팀과 정기적으로 통신하지 않고 격리 상태로 작업합니다.
- 데이터 엔지니어(있는 경우)는 대규모 팀과 정기적으로 통신하지 않고 격리 상태로 작동합니다.
- 소프트웨어 엔지니어는 격리된 상태로 작업하며 다른 팀 구성원으로부터 원격으로 모델을 받습니다.
|
- 데이터는 수동으로 수집됩니다.
- 컴퓨팅은 관리되지 않을 수 있습니다.
- 실험은 일관되게 추적되지 않습니다.
- 최종 결과는 일반적으로 수동으로 전달되는 입력 및 출력을 포함하는 단일 모델 파일입니다.
|
- 릴리스 프로세스는 수동입니다.
- 점수 매기기 스크립트는 실험 후에 수동으로 만들어지고 버전이 제어되지 않습니다.
- 단일 데이터 과학자 또는 데이터 엔지니어가 릴리스를 처리합니다.
|
- 구현은 데이터 과학자의 전문 지식에 크게 의존합니다.
- 애플리케이션 릴리스는 수동입니다.
|
수준 1: DevOps이지만 MLOps 없음
| 사람 |
모델 만들기 |
모델 릴리스 |
애플리케이션 통합 |
- 데이터 과학자는 대규모 팀과 정기적으로 통신하지 않고 격리 상태로 작업합니다.
- 데이터 엔지니어(있는 경우)는 대규모 팀과 정기적으로 통신하지 않고 격리 상태로 작동합니다.
- 소프트웨어 엔지니어는 격리된 상태로 작업하며 다른 팀 구성원으로부터 원격으로 모델을 받습니다.
|
- 데이터 파이프라인은 자동으로 데이터를 수집합니다.
- 컴퓨팅은 관리될 수도 있고 관리되지 않을 수도 있습니다.
- 실험은 일관되게 추적되지 않습니다.
- 최종 결과는 일반적으로 수동으로 전달되는 입력 및 출력을 포함하는 단일 모델 파일입니다.
|
- 릴리스 프로세스는 수동입니다.
- 점수 매기기 스크립트는 실험 후에 수동으로 만들어지지만 버전이 제어될 가능성이 높습니다.
- 모델은 소프트웨어 엔지니어에게 전달됩니다.
|
- 모델에 대한 기본 통합 테스트가 있습니다.
- 구현은 데이터 과학자의 전문 지식에 크게 의존합니다.
- 애플리케이션 릴리스는 자동화됩니다.
- 애플리케이션 코드에는 단위 테스트가 있습니다.
|
수준 2: 자동화된 교육
| 사람 |
모델 만들기 |
모델 릴리스 |
애플리케이션 통합 |
- 데이터 과학자는 데이터 엔지니어와 직접 협력하여 실험 코드를 반복 가능한 스크립트 및 작업으로 변환합니다.
- 데이터 엔지니어는 모델 개발에 대해 데이터 과학자와 함께 작업합니다.
- 소프트웨어 엔지니어는 격리된 상태로 작업하며 다른 팀 구성원으로부터 원격으로 모델을 받습니다.
|
- 데이터 파이프라인은 자동으로 데이터를 수집합니다.
- 컴퓨팅이 관리됩니다.
- 실험 결과가 추적됩니다.
- 학습 코드와 모델은 모두 버전이 제어됩니다.
|
- 릴리스 프로세스는 수동입니다.
- 점수 매기기 스크립트는 버전이 제어되며 테스트가 있습니다.
- 소프트웨어 엔지니어링 팀에서 릴리스를 관리합니다.
|
- 모델에 대한 기본 통합 테스트가 있습니다.
- 구현은 데이터 과학자의 전문 지식에 크게 의존합니다.
- 애플리케이션 코드에는 단위 테스트가 있습니다.
|
수준 3: 자동화된 모델 배포
| 사람 |
모델 만들기 |
모델 릴리스 |
애플리케이션 통합 |
- 데이터 과학자는 데이터 엔지니어와 직접 협력하여 실험 코드를 반복 가능한 스크립트 및 작업으로 변환합니다.
- 데이터 엔지니어는 데이터 과학자 및 소프트웨어 엔지니어와 협력하여 입력 및 출력을 관리합니다.
- 소프트웨어 엔지니어는 데이터 엔지니어와 협력하여 애플리케이션 코드에 모델 통합을 자동화합니다.
|
- 데이터 파이프라인은 자동으로 데이터를 수집합니다.
- 컴퓨팅이 관리됩니다.
- 실험 결과가 추적됩니다.
- 학습 코드와 모델은 모두 버전이 제어됩니다.
|
- 릴리스 프로세스는 자동입니다.
- 점수 매기기 스크립트는 버전이 제어되며 테스트가 있습니다.
- CI/CD(지속적인 통합 및 지속적인 업데이트) 파이프라인은 릴리스를 관리합니다.
|
- 각 모델 릴리스에는 단위 및 통합 테스트가 포함됩니다.
- 구현은 데이터 과학자의 전문 지식에 덜 의존합니다.
- 애플리케이션 코드에는 단위 및 통합 테스트가 있습니다.
|
4단계: 완전 자동화된 MLOps 운영
| 사람 |
모델 만들기 |
모델 릴리스 |
애플리케이션 통합 |
- 데이터 과학자는 데이터 엔지니어와 직접 협력하여 실험 코드를 반복 가능한 스크립트 및 작업으로 변환합니다. 또한 소프트웨어 엔지니어와 협력하여 데이터 마커를 식별합니다.
- 데이터 엔지니어는 데이터 과학자 및 소프트웨어 엔지니어와 협력하여 입력 및 출력을 관리합니다.
- 소프트웨어 엔지니어는 데이터 엔지니어와 협력하여 모델 통합을 자동화하고 배포 후 메트릭 수집을 구현합니다.
|
- 데이터 파이프라인은 자동으로 데이터를 수집합니다.
- 프로덕션 메트릭은 자동으로 재학습을 트리거합니다.
- 컴퓨팅이 관리됩니다.
- 실험 결과가 추적됩니다.
- 학습 코드와 모델은 모두 버전이 제어됩니다.
|
- 릴리스 프로세스는 자동입니다.
- 점수 매기기 스크립트는 버전이 제어되며 테스트가 있습니다.
- CI/CD 파이프라인은 릴리스를 관리합니다.
|
- 각 모델 릴리스에는 단위 및 통합 테스트가 포함됩니다.
- 구현은 데이터 과학자의 전문 지식에 덜 의존합니다.
- 애플리케이션 코드에는 단위 및 통합 테스트가 있습니다.
|
MLOps 및 GenAIOps
이 문서에서는 예측, 테이블 형식 및 클래식 기계 학습 수명 주기 기능에 중점을 둡니다. GenAIOps(생성 AI 작업)에는 MLOps 완성도를 대체하는 대신 보완하는 추가 기능이 도입되었습니다. GenAIOps에는 프롬프트 수명 주기, 검색 확대, 출력 안전성 및 토큰 비용 거버넌스가 포함됩니다. 자세한 내용은 MLOps 투자가 있는 조직의 GenAIOps를 참조하세요. 프롬프트 반복 메커니즘을 이 문서에 설명된 재현 가능한 학습 배포 루프와 혼동하지 마세요.
기여자
Microsoft는 이 문서를 유지 관리합니다. 다음 기여자는 이 문서를 작성했습니다.
LinkedIn 비공개 프로필을 보려면, LinkedIn에 로그인하세요.
다음 단계