기계 학습 작업

이 문서에서는 엔드 투 엔드 CI/CD(연속 통합 및 지속적인 업데이트) 파이프라인과 재학습 파이프라인이 있는 기계 학습 작업을 위한 세 가지 Azure 아키텍처에 대해 설명합니다. 아키텍처는 다음과 같은 AI 애플리케이션을 위한 것입니다.

  • 고전적 기계 학습
  • Computer Vision(CV)
  • 자연어 처리

이러한 아키텍처는 MLOps v2 프로젝트의 산물입니다. 다양한 기계 학습 솔루션을 개발하는 과정에서 솔루션 설계자가 식별한 모범 사례를 통합합니다. 결과는 배포 가능하고 반복 가능하며 유지 관리 가능한 패턴입니다. 세 아키텍처 모두 Azure Machine Learning 서비스를 사용합니다.

MLOps v2용 샘플 배포 템플릿을 사용하는 구현은 Azure MLOps v2 솔루션 가속기를 참조 하세요.

잠재적인 사용 사례

  • 클래식 기계 학습: 테이블 형식 구조화된 데이터에 대한 시계열 예측, 회귀 및 분류가 이 범주에서 가장 일반적인 사용 사례입니다. 예를 들면 다음과 같습니다.

    • 이진 및 다중 레이블 분류.

    • 선형, 다항식, 능선, 올가미, 분위수 및 베이지안 회귀.

    • ARIMA, autoregressive, SARIMA, VAR, SES, LSTM.

  • CV: 이 문서의 MLOps 프레임워크는 주로 분할 및 이미지 분류의 CV 사용 사례에 중점을 둡니다.

  • 자연어 처리: 이 MLOps 프레임워크를 사용하여 다음을 구현할 수 있습니다.

    • 명명된 엔터티 인식:

    • 텍스트 분류

    • 텍스트 생성

    • 정서 분석

    • Translation

    • 질문 답변

    • 요약

    • 문장 검색

    • 언어 감지

    • 음성 부분 태그 지정

이 문서에서는 AI 시뮬레이션, 심층 강화 학습 및 기타 형태의 AI에 대해 설명하지 않습니다.

아키텍처

MLOps v2 아키텍처 패턴에는 MLOps 수명 주기의 네 가지 주요 모듈식 구성 요소 또는 단계가 있습니다.

  • 데이터 자산
  • 관리 및 설치
  • 모델 개발 또는 내부 루프 단계
  • 모델 배포 또는 외부 루프 단계

이전 구성 요소, 구성 요소 간의 연결 및 관련된 일반적인 가상 사용자는 모든 MLOps v2 시나리오 아키텍처에서 표준입니다. 각 구성 요소의 세부 정보 변형은 시나리오에 따라 달라집니다.

Machine Learning용 MLOps v2의 기본 아키텍처는 테이블 형식 데이터에 대한 클래식 기계 학습 시나리오입니다. CV 및 NLP 아키텍처는 이 기본 아키텍처를 기반으로 빌드하고 수정합니다.

MLOps v2는 이 문서에 설명된 다음 아키텍처를 다룹니다.

클래식 기계 학습 아키텍처

클래식 기계 학습 아키텍처를 보여 주는 다이어그램

이 아키텍처의 Visio 파일을 다운로드합니다.

클래식 기계 학습 아키텍처에 대한 워크플로

  1. 데이터 자산

    이 구성 요소는 조직의 데이터 자산과 데이터 과학 프로젝트의 잠재적인 데이터 원본 및 대상을 보여 줍니다. 데이터 엔지니어는 MLOps v2 수명 주기의 이 구성 요소의 기본 소유자입니다. 이 다이어그램의 Azure 데이터 플랫폼은 완전하거나 규범적이지 않습니다. 녹색 확인 표시는 고객 사용 사례를 기반으로 하는 권장 모범 사례를 나타내는 데이터 원본 및 대상을 나타냅니다.

  2. 관리 및 설치

    이 구성 요소는 MLOps v2 가속기 배포의 첫 번째 단계입니다. 프로젝트와 연결된 리소스 및 역할의 생성 및 관리와 관련된 모든 작업으로 구성됩니다. 예를 들어 인프라 팀은 다음을 수행할 수 있습니다.

    1. 프로젝트 소스 코드 리포지토리를 만듭니다.
    2. Bicep 또는 Terraform을 사용하여 Machine Learning 작업 영역을 만듭니다.
    3. 모델 개발 및 배포를 위한 데이터 세트 및 컴퓨팅 리소스를 만들거나 수정합니다.
    4. 프로젝트 팀 사용자, 해당 역할 및 다른 리소스에 대한 액세스 제어를 정의합니다.
    5. CI/CD 파이프라인을 만듭니다.
    6. 모니터링 구성 요소를 만들어 모델 및 인프라 메트릭에 대한 경고를 수집하고 만듭니다.

    이 단계와 관련된 기본 가상 사용자는 인프라 팀이지만 조직에는 데이터 엔지니어, 기계 학습 엔지니어 또는 데이터 과학자가 있을 수도 있습니다.

  3. 모델 개발(내부 루프 단계)

    내부 루프 단계는 전용 및 보안 Machine Learning 작업 영역 내에서 작동하는 반복적인 데이터 과학 워크플로로 구성됩니다. 위의 다이어그램은 일반적인 워크플로를 보여줍니다. 프로세스는 데이터 수집으로 시작하고 예비 데이터 분석, 실험, 모델 개발 및 평가를 통해 이동한 다음 프로덕션 용도로 모델을 등록합니다. MLOps v2 가속기에서 구현된 이 모듈식 구성 요소는 데이터 과학 팀이 모델을 개발하는 데 사용하는 프로세스에 구애받지 않으며 적응할 수 있습니다.

    이 단계와 관련된 가상 사용자에는 데이터 과학자 및 기계 학습 엔지니어가 포함됩니다.

  4. Machine Learning 레지스트리

    데이터 과학 팀이 프로덕션에 배포할 수 있는 모델을 개발한 후 Machine Learning 작업 영역 레지스트리에 모델을 등록합니다. 모델 등록 또는 제어된 휴먼 인더 루프 승인에 의해 자동으로 트리거되는 CI 파이프라인은 모델 및 기타 모델 종속성을 모델 배포 단계로 승격합니다.

    이 단계와 연결된 가상 사용자는 일반적으로 기계 학습 엔지니어입니다.

  5. 모델 배포(외부 루프 단계)

    모델 배포 또는 외부 루프 단계는 모델, 데이터 및 인프라의 사전 프로덕션 준비 및 테스트, 프로덕션 배포 및 모니터링으로 구성됩니다. 모델이 조직의 기준과 사용 사례를 충족하는 경우 CD 파이프라인은 프로덕션, 모니터링 및 잠재적 재학습을 통해 모델 및 관련 자산을 승격합니다.

    이 단계와 연결된 가상 사용자는 주로 기계 학습 엔지니어입니다.

  6. 준비 및 테스트

    스테이징 및 테스트 단계는 고객 사례에 따라 다릅니다. 이 단계에는 일반적으로 프로덕션 데이터에 대한 모델 후보 재학습 및 테스트, 엔드포인트 성능에 대한 테스트 배포, 데이터 품질 검사, 단위 테스트 및 모델 및 데이터 바이어스에 대한 책임 있는 AI 검사와 같은 작업이 포함됩니다. 이 단계는 하나 이상의 전용 및 보안 Machine Learning 작업 영역에서 수행됩니다.

  7. 프로덕션 배포

    모델이 스테이징 및 테스트 단계를 통과한 후 기계 학습 엔지니어는 휴먼 인 더 루프 제어 승인을 사용하여 프로덕션으로 승격할 수 있습니다. 모델 배포 옵션에는 일괄 처리 시나리오에 대한 관리되는 일괄 처리 엔드포인트 또는 거의 실시간에 가까운 온라인 시나리오에 Azure Arc를 사용하는 관리형 온라인 엔드포인트 또는 Kubernetes 배포가 포함됩니다. 프로덕션은 일반적으로 하나 이상의 전용 및 보안 Machine Learning 작업 영역에서 수행됩니다.

  8. 모니터링

    기계 학습 엔지니어는 스테이징, 테스트 및 프로덕션의 구성 요소를 모니터링하여 모델, 데이터 및 인프라의 성능 변경과 관련된 메트릭을 수집합니다. 이러한 메트릭을 사용하여 작업을 수행할 수 있습니다. 모델 및 데이터 모니터링에는 모델 및 데이터 드리프트 확인, 새 데이터에 대한 모델 성능 및 책임 있는 AI 문제가 포함될 수 있습니다. 인프라 모니터링은 느린 엔드포인트 응답, 부적절한 컴퓨팅 용량 또는 네트워크 문제를 식별할 수 있습니다.

  9. 데이터 및 모델 모니터링: 이벤트 및 작업

    메트릭 임계값 또는 일정과 같은 모델 및 데이터 기준에 따라 자동화된 트리거 및 알림은 수행할 적절한 작업을 구현할 수 있습니다. 예를 들어 트리거는 모델을 다시 학습하여 새 프로덕션 데이터를 사용한 다음, 모델을 사전 프로덕션 평가를 위한 스테이징 및 테스트로 루프백할 수 있습니다. 또는 모델 또는 데이터 문제는 데이터 과학자가 문제를 조사하고 잠재적으로 새 모델을 개발할 수 있는 모델 개발 단계로 루프백이 필요한 작업을 트리거할 수 있습니다.

  10. 인프라 모니터링: 이벤트 및 작업

    자동화된 트리거 및 알림은 엔드포인트 응답 지연 또는 배포에 대한 컴퓨팅 부족과 같은 인프라 기준에 따라 수행할 적절한 작업을 구현할 수 있습니다. 자동 트리거 및 알림은 인프라 팀이 문제를 조사하고 컴퓨팅 및 네트워크 리소스를 다시 구성할 수 있는 설정 및 관리 단계로 루프백을 트리거할 수 있습니다.

Machine Learning CV 아키텍처

컴퓨터 비전 아키텍처를 보여 주는 다이어그램

이 아키텍처의 Visio 파일을 다운로드합니다.

CV 아키텍처에 대한 워크플로

Machine Learning CV 아키텍처는 클래식 기계 학습 아키텍처를 기반으로 하지만 감독된 CV 시나리오와 관련된 수정 사항이 있습니다.

  1. 데이터 자산

    이 구성 요소는 조직의 데이터 자산과 데이터 과학 프로젝트의 잠재적인 데이터 원본 및 대상을 보여 줍니다. 데이터 엔지니어는 MLOps v2 수명 주기에서 이 구성 요소의 기본 소유자입니다. 이 다이어그램의 Azure 데이터 플랫폼은 완전하거나 규범적이지 않습니다. CV 시나리오에 대한 이미지는 다양한 데이터 원본에서 제공됩니다. Machine Learning을 사용하여 CV 모델을 개발하고 배포할 때 효율성을 위해 Azure Blob Storage 및 Azure Data Lake Storage를 사용하는 것이 좋습니다.

  2. 관리 및 설치

    이 구성 요소는 MLOps v2 가속기 배포의 첫 번째 단계입니다. 프로젝트와 연결된 리소스 및 역할의 생성 및 관리와 관련된 모든 작업으로 구성됩니다. CV 시나리오의 경우 MLOps v2 환경의 관리 및 설정은 클래식 기계 학습과 거의 동일하지만 추가 단계를 포함합니다. 인프라 팀은 Machine Learning 또는 다른 도구의 레이블 지정 기능을 사용하여 이미지 레이블 지정 및 주석 프로젝트를 만듭니다.

  3. 모델 개발(내부 루프 단계)

    내부 루프 단계는 전용 및 보안 Machine Learning 작업 영역 내에서 수행되는 반복적인 데이터 과학 워크플로로 구성됩니다. 이 워크플로와 클래식 기계 학습 시나리오의 주요 차이점은 이미지 레이블 지정과 주석이 이 개발 루프의 핵심 구성 요소라는 점입니다.

  4. Machine Learning 레지스트리

    데이터 과학 팀이 프로덕션에 배포할 수 있는 모델을 개발한 후 Machine Learning 작업 영역 레지스트리에 모델을 등록합니다. 모델 등록 또는 제어된 휴먼 인 더 루프 승인에 의해 자동으로 트리거되는 CI 파이프라인은 모델 및 기타 모델 종속성을 모델 배포 단계로 승격합니다.

  5. 모델 배포(외부 루프 단계)

    모델 배포 또는 외부 루프 단계는 모델, 데이터 및 인프라의 사전 프로덕션 준비 및 테스트, 프로덕션 배포 및 모니터링으로 구성됩니다. 모델이 조직의 기준과 사용 사례를 충족하는 경우 CD 파이프라인은 프로덕션, 모니터링 및 잠재적 재학습을 통해 모델 및 관련 자산을 승격합니다.

  6. 준비 및 테스트

    스테이징 및 테스트 단계는 고객 사례에 따라 다릅니다. 이 단계에는 일반적으로 엔드포인트 성능에 대한 테스트 배포, 데이터 품질 검사, 단위 테스트 및 모델 및 데이터 바이어스에 대한 책임 있는 AI 검사와 같은 작업이 포함됩니다. CV 시나리오의 경우 기계 학습 엔지니어는 리소스 및 시간 제약 조건으로 인해 프로덕션 데이터에 대한 모델 후보를 다시 학습할 필요가 없습니다. 데이터 과학 팀은 대신 모델 개발에 프로덕션 데이터를 사용할 수 있습니다. 개발 루프에서 등록된 후보 모델은 프로덕션에 대해 평가됩니다. 이 단계는 하나 이상의 전용 및 보안 Machine Learning 작업 영역에서 수행됩니다.

  7. 프로덕션 배포

    모델이 스테이징 및 테스트 단계를 통과한 후 기계 학습 엔지니어는 휴먼 인 더 루프 제어 승인을 사용하여 프로덕션으로 승격할 수 있습니다. 모델 배포 옵션에는 일괄 처리 시나리오에 대한 관리되는 일괄 처리 엔드포인트 또는 거의 실시간에 가까운 온라인 시나리오에 Azure Arc를 사용하는 관리형 온라인 엔드포인트 또는 Kubernetes 배포가 포함됩니다. 프로덕션은 일반적으로 하나 이상의 전용 및 보안 Machine Learning 작업 영역에서 수행됩니다.

  8. 모니터링

    기계 학습 엔지니어는 스테이징, 테스트 및 프로덕션의 구성 요소를 모니터링하여 모델, 데이터 및 인프라의 성능 변경과 관련된 메트릭을 수집합니다. 이러한 메트릭을 사용하여 작업을 수행할 수 있습니다. 모델 및 데이터 모니터링에는 새 이미지에 대한 모델 성능 검사가 포함될 수 있습니다. 인프라 모니터링은 느린 엔드포인트 응답, 부적절한 컴퓨팅 용량 또는 네트워크 문제를 식별할 수 있습니다.

  9. 데이터 및 모델 모니터링: 이벤트 및 작업

    자연어 처리를 위한 MLOps의 데이터 및 모델 모니터링 및 이벤트 및 작업 단계는 클래식 기계 학습과 주요 차이점입니다. 자동화된 재학습은 일반적으로 새 이미지에 대한 모델 성능 저하가 감지될 때 CV 시나리오에서 수행되지 않습니다. 이 경우 성능이 좋지 않은 모델의 새 텍스트 데이터를 검토하고 주석을 달려면 휴먼 인 더 루프 프로세스가 필요합니다. 다음 작업은 종종 모델 개발 루프로 돌아가서 모델을 새 이미지로 업데이트합니다.

  10. 인프라 모니터링: 이벤트 및 작업

    자동화된 트리거 및 알림은 엔드포인트 응답 지연 또는 배포에 대한 컴퓨팅 부족과 같은 인프라 기준에 따라 수행할 적절한 작업을 구현할 수 있습니다. 자동 트리거 및 알림은 인프라 팀이 문제를 조사하고 잠재적으로 환경, 컴퓨팅 및 네트워크 리소스를 다시 구성할 수 있는 설정 및 관리 단계로 루프백을 트리거할 수 있습니다.

Machine Learning 자연어 처리 아키텍처

자연어 처리 아키텍처에 대한 다이어그램

이 아키텍처의 Visio 파일을 다운로드합니다.

자연어 처리 아키텍처에 대한 워크플로

Machine Learning 자연어 처리 아키텍처는 클래식 기계 학습 아키텍처를 기반으로 하지만 NLP 시나리오와 관련된 몇 가지 수정 사항이 있습니다.

  1. 데이터 자산

    이 구성 요소는 데이터 과학 프로젝트의 조직 데이터 자산 및 잠재적인 데이터 원본 및 대상을 보여 줍니다. 데이터 엔지니어는 MLOps v2 수명 주기에서 이 구성 요소의 기본 소유자입니다. 이 다이어그램의 Azure 데이터 플랫폼은 완전하거나 규범적이지 않습니다. 녹색 확인 표시는 고객 사용 사례를 기반으로 하는 권장 모범 사례를 나타내는 원본 및 대상을 나타냅니다.

  2. 관리 및 설치

    이 구성 요소는 MLOps v2 가속기 배포의 첫 번째 단계입니다. 프로젝트와 연결된 리소스 및 역할의 생성 및 관리와 관련된 모든 작업으로 구성됩니다. 자연어 처리 시나리오의 경우 MLOps v2 환경의 관리 및 설정은 클래식 기계 학습과 거의 동일하지만 추가 단계를 통해 Machine Learning 또는 다른 도구의 레이블 지정 기능을 사용하여 이미지 레이블 지정 및 주석 프로젝트를 만듭니다.

  3. 모델 개발(내부 루프 단계)

    내부 루프 단계는 전용 및 보안 Machine Learning 작업 영역 내에서 수행되는 반복적인 데이터 과학 워크플로로 구성됩니다. 일반적인 NLP 모델 개발 루프는 이 시나리오의 일반적인 개발 단계에 문장 및 토큰화, 정규화 및 텍스트 데이터의 포함에 대한 주석이 포함되어 있다는 점에서 기존 기계 학습 시나리오와 다릅니다.

  4. Machine Learning 레지스트리

    데이터 과학 팀이 프로덕션에 배포할 수 있는 모델을 개발한 후 Machine Learning 작업 영역 레지스트리에 모델을 등록합니다. 모델 등록 또는 제어된 휴먼 인 더 루프 승인에 의해 자동으로 트리거되는 CI 파이프라인은 모델 및 기타 모델 종속성을 모델 배포 단계로 승격합니다.

  5. 모델 배포(외부 루프 단계)

    모델 배포 또는 외부 루프 단계는 모델, 데이터 및 인프라의 사전 프로덕션 준비 및 테스트, 프로덕션 배포 및 모니터링으로 구성됩니다. 모델이 조직의 기준과 사용 사례를 충족하는 경우 CD 파이프라인은 프로덕션, 모니터링 및 잠재적 재학습을 통해 모델 및 관련 자산을 승격합니다.

  6. 준비 및 테스트

    스테이징 및 테스트 단계는 고객 사례에 따라 다릅니다. 이 단계에는 일반적으로 프로덕션 데이터에 대한 모델 후보 재학습 및 테스트, 엔드포인트 성능에 대한 테스트 배포, 데이터 품질 검사, 단위 테스트 및 모델 및 데이터 바이어스에 대한 책임 있는 AI 검사와 같은 작업이 포함됩니다. 이 단계는 하나 이상의 전용 및 보안 Machine Learning 작업 영역에서 수행됩니다.

  7. 프로덕션 배포

    모델이 스테이징 및 테스트 단계를 통과한 후 기계 학습 엔지니어는 휴먼 인 더 루프 제어 승인을 사용하여 프로덕션으로 승격할 수 있습니다. 모델 배포 옵션에는 일괄 처리 시나리오에 대한 관리되는 일괄 처리 엔드포인트 또는 거의 실시간에 가까운 온라인 시나리오에 Azure Arc를 사용하는 관리형 온라인 엔드포인트 또는 Kubernetes 배포가 포함됩니다. 프로덕션은 일반적으로 하나 이상의 전용 및 보안 Machine Learning 작업 영역에서 수행됩니다.

  8. 모니터링

    기계 학습 엔지니어는 스테이징, 테스트 및 프로덕션의 구성 요소를 모니터링하여 모델, 데이터 및 인프라의 성능 변경과 관련된 메트릭을 수집합니다. 이러한 메트릭을 사용하여 작업을 수행할 수 있습니다. 모델 및 데이터 모니터링에는 모델 및 데이터 드리프트 확인, 새 텍스트 데이터에 대한 모델 성능 및 책임 있는 AI 문제가 포함될 수 있습니다. 인프라 모니터링은 느린 엔드포인트 응답, 부적절한 컴퓨팅 용량 및 네트워크 문제와 같은 문제를 식별할 수 있습니다.

  9. 데이터 및 모델 모니터링: 이벤트 및 작업

    CV 아키텍처와 마찬가지로 자연어 처리를 위한 MLOps의 데이터 및 모델 모니터링 및 이벤트 및 작업 단계는 클래식 기계 학습과 주요 차이점입니다. 자동화된 재학습은 일반적으로 새 텍스트에 대한 모델 성능 저하가 감지될 때 자연어 처리 시나리오에서 수행되지 않습니다. 이 경우 성능이 좋지 않은 모델의 새 텍스트 데이터를 검토하고 주석을 달려면 휴먼 인 더 루프 프로세스가 필요합니다. 종종 다음 작업은 모델 개발 루프로 돌아가서 모델을 새 텍스트 데이터로 업데이트하는 것입니다.

  10. 인프라 모니터링: 이벤트 및 작업

    자동화된 트리거 및 알림은 엔드포인트 응답 지연 또는 배포에 대한 컴퓨팅 부족과 같은 인프라 기준에 따라 수행할 적절한 작업을 구현할 수 있습니다. 자동 트리거 및 알림은 인프라 팀이 문제를 조사하고 컴퓨팅 및 네트워크 리소스를 다시 구성할 수 있는 설정 및 관리 단계로 루프백을 트리거할 수 있습니다.

구성 요소

  • Machine Learning 은 대규모 기계 학습 모델을 학습, 점수 매기기, 배포 및 관리하는 데 사용할 수 있는 클라우드 서비스입니다.

  • Azure Pipelines 는 Azure DevOps를 기반으로 하며 빌드 및 릴리스 파이프라인에 사용되는 빌드 및 테스트 시스템입니다. Azure Pipelines는 이러한 파이프라인을 작업이라는 논리적 단계로 분할합니다.

  • GitHub 는 버전 제어, 협업 및 CI/CD 워크플로를 위한 코드 호스팅 플랫폼입니다.

  • Azure Arc 는 Azure Resource Manager를 사용하여 Azure 리소스 및 온-프레미스 리소스를 관리하는 플랫폼입니다. 리소스에는 가상 머신, Kubernetes 클러스터 및 데이터베이스가 포함될 수 있습니다.

  • Kubernetes 는 컨테이너화된 애플리케이션의 배포, 크기 조정 및 관리를 자동화하는 데 사용할 수 있는 오픈 소스 시스템입니다.

  • Azure Data Lake Storage 는 Hadoop 호환 파일 시스템입니다. 통합된 계층 구조 네임스페이스와 Blob Storage의 대규모 스케일링 성능과 경제성이 있습니다.

  • Azure Synapse Analytics는 데이터 통합, 엔터프라이즈 데이터 웨어하우징 및 빅 데이터 분석을 모두 결합하는 무제한 분석 서비스입니다.

  • Azure Event Hubs 는 클라이언트 애플리케이션이 생성하는 데이터 스트림을 수집하는 서비스입니다. 그런 다음 스트리밍 데이터를 수집하고 저장하여 수신된 이벤트 시퀀스를 유지합니다. 고객은 허브 엔드포인트에 연결하여 처리를 위한 메시지를 검색할 수 있습니다. 이 아키텍처는 Data Lake Storage 통합을 사용합니다.

기타 고려 사항

이전 MLOps v2 아키텍처 패턴에는 비즈니스 관련자와 일치하는 RBAC(역할 기반 액세스 제어), 효율적인 패키지 관리 및 강력한 모니터링 메커니즘을 비롯한 몇 가지 중요한 구성 요소가 있습니다. 이러한 구성 요소는 기계 학습 워크플로의 성공적인 구현 및 관리에 전체적으로 기여합니다.

페르소나 기반 RBAC

기계 학습 데이터 및 리소스에 대한 액세스를 관리하는 것이 중요합니다. RBAC는 특정 작업을 수행하고 솔루션 내의 특정 영역에 액세스할 수 있는 사용자를 관리하는 데 도움이 되는 강력한 프레임워크를 제공합니다. Machine Learning에서 기계 학습 모델의 수명 주기 및 프로세스에 포함된 가상 사용자에 맞게 ID 구분 전략을 디자인합니다. 각 페르소나에는 RBAC 역할 및 그룹 멤버 자격에 반영되는 특정 책임 집합이 있습니다.

예제 페르소나

기계 학습 워크로드에서 적절한 구분을 지원하려면 ID 기반 RBAC 그룹 디자인을 알리는 다음과 같은 일반적인 가상 사용자를 고려합니다.

데이터 과학자 및 기계 학습 엔지니어

데이터 과학자와 기계 학습 엔지니어는 프로젝트의 소프트웨어 개발 수명 주기 동안 다양한 기계 학습 및 데이터 과학 활동을 수행합니다. 해당 업무에는 예비 데이터 분석 및 데이터 전처리가 포함됩니다. 데이터 과학자와 기계 학습 엔지니어는 모델 학습, 평가 및 배포를 담당합니다. 이러한 역할의 책임에는 기계 학습 모델, 패키지 및 데이터에 대한 중단 수정 작업도 포함됩니다. 이러한 의무는 플랫폼의 기술 지원 팀의 범위를 벗어났습니다.

형식: 사람
프로젝트별:

데이터 분석가

데이터 분석가는 비즈니스 인텔리전스에 대한 SQL 쿼리 실행과 같은 데이터 과학 활동에 필요한 입력을 제공합니다. 이 역할의 책임에는 데이터 작업, 데이터 분석 수행, 모델 개발 및 모델 배포 지원 등이 포함됩니다.

형식: 사람
프로젝트별:

모델 테스터

모델 테스터는 테스트 및 스테이징 환경에서 테스트를 수행합니다. 이 역할은 CI/CD 프로세스에서 기능 분리를 제공합니다.

형식: 사람
프로젝트별:

비즈니스 관련자

비즈니스 관련자는 마케팅 관리자와 같은 프로젝트와 연결됩니다.

형식: 사람
프로젝트별:

프로젝트 리더 또는 데이터 과학 리더

데이터 과학 책임자는 Machine Learning 작업 영역에 대한 프로젝트 관리 역할입니다. 이 역할은 기계 학습 모델 및 패키지에 대한 중단 수정 작업도 수행합니다.

형식: 사람
프로젝트별:

프로젝트 또는 제품 소유자(비즈니스 소유자)

비즈니스 관련자는 데이터 소유권에 따라 Machine Learning 작업 영역을 담당합니다.

형식: 사람
프로젝트별:

플랫폼 기술 지원

플랫폼 기술 지원은 플랫폼 전체에서 중단 수정 작업을 담당하는 기술 지원 직원입니다. 이 역할은 인프라 또는 서비스를 다루지만 기계 학습 모델, 패키지 또는 데이터는 다루지 않습니다. 이러한 구성 요소는 데이터 과학자 또는 기계 학습 엔지니어 역할로 유지되며 프로젝트 리더의 책임입니다.

형식: 사람
프로젝트별: 아니요

모델 최종 사용자

모델 최종 사용자는 기계 학습 모델의 최종 소비자입니다.

형식: 사람 또는 프로세스
프로젝트별:

CI/CD 프로세스

CI/CD는 플랫폼 환경에서 변경 내용을 릴리스하거나 롤백합니다.

형식: 프로세스
프로젝트별: 아니요

Machine Learning 작업 영역

Machine Learning 작업 영역은 관리 ID를 사용하여 Azure의 다른 부분과 상호 작용합니다. 이 가상 사용자는 Machine Learning 구현을 구성하는 다양한 서비스를 나타냅니다. 이러한 서비스는 개발 데이터 저장소와 연결하는 개발 작업 영역과 같은 플랫폼의 다른 부분과 상호 작용합니다.

형식: 프로세스
프로젝트별: 아니요

프로세스 모니터링

모니터링 프로세스는 플랫폼 활동을 기반으로 모니터링하고 경고하는 컴퓨팅 프로세스입니다.

형식: 프로세스
프로젝트별: 아니요

데이터 거버넌스 프로세스

데이터 거버넌스 프로세스는 기계 학습 프로젝트 및 데이터 저장소에서 데이터 거버넌스를 검사합니다.

형식: 프로세스
프로젝트별: 아니요

Microsoft Entra 그룹 멤버 자격

RBAC 를 구현할 때 Microsoft Entra 그룹은 다양한 가상 사용자에 대한 액세스 권한을 관리하는 유연하고 확장 가능한 방법을 제공합니다. Microsoft Entra 그룹을 사용하여 잠재적으로 제한된 앱 및 서비스와 같은 리소스에 대한 동일한 액세스 및 권한이 필요한 사용자를 관리할 수 있습니다. 개별 사용자에게 특별한 권한을 추가하는 대신 해당 그룹의 모든 멤버에게 특별한 권한을 적용하는 그룹을 만듭니다.

이 아키텍처 패턴에서는 프로젝트, 팀 또는 부서와 같은 Machine Learning 작업 영역 설정이러한 그룹을 결합할 수 있습니다. 사용자를 특정 그룹과 연결하여 세분화된 액세스 정책을 정의할 수 있습니다. 정책은 작업 기능, 프로젝트 요구 사항 또는 기타 기준에 따라 다양한 Machine Learning 작업 영역에 권한을 부여하거나 제한합니다. 예를 들어 모든 데이터 과학자에게 특정 사용 사례에 대한 개발 작업 영역에 대한 액세스 권한을 부여하는 그룹을 가질 수 있습니다.

ID RBAC

다음 기본 제공 Azure RBAC 역할을 사용하여 프로덕션 및 사전 프로덕션 환경에 RBAC를 적용하는 방법을 고려합니다. 이 문서의 아키텍처의 경우 프로덕션 환경에는 스테이징, 테스트 및 프로덕션 환경이 포함됩니다. 사전 프로덕션 환경에는 개발 환경이 포함됩니다. 다음 RBAC 역할은 이 문서의 앞부분에서 설명한 가상 사용자를 기반으로 합니다.

표준 역할

구성 요소별 역할

이러한 Azure RBAC 역할 약어는 다음 표에 해당합니다.

프로덕션 환경
사용자 Machine Learning 작업 영역 Azure Key Vault Container Registry Azure Storage 계정 Azure DevOps Azure Artifacts Log Analytics 작업 영역 Azure Monitor
데이터 과학자 R LAR MR
데이터 분석가
모델 테스터
비즈니스 관련자 MR
프로젝트 리더(데이터 과학 리드) R R, KVR R LAR MR
프로젝트/제품 소유자 MR
플랫폼 기술 지원 O O, KVA DOPCA O O O
모델 최종 사용자
CI/CD 프로세스 O O, KVA AcrPush DOPCA O O O
Machine Learning 작업 영역 R C C
프로세스 모니터링 R LAR MR
데이터 거버넌스 프로세스 R R R R R
사전 프로덕션 환경
사용자 Machine Learning 작업 영역 Key Vault Container Registry 스토리지 계정 Azure DevOps Azure Artifacts Log Analytics 작업 영역 Azure Monitor
데이터 과학자 ADS R, KVA C C C C LAC MC
데이터 분석가 R C LAR MC
모델 테스터 R R, KVR R R R R LAR MR
비즈니스 관련자 R R R R R
프로젝트 리더(데이터 과학 리드) C C, KVA C C C C LAC MC
프로젝트/제품 소유자 R R MR
플랫폼 기술 지원 O O, KVA O O DOPCA O O O
모델 최종 사용자
CI/CD 프로세스 O O, KVA AcrPush O DOPCA O O O
Machine Learning 작업 영역 R, KVR C C
프로세스 모니터링 R R R R R R LAC
데이터 거버넌스 프로세스 R R R

참고 항목

모든 페르소나는 임시 또는 Just-In-Time Microsoft Entra PIM(Privileged Identity Management) 액세스 권한이 있는 플랫폼 기술 지원을 제외하고 프로젝트의 기간 동안 액세스를 유지합니다.

RBAC는 MLOps 워크플로를 보안 및 간소화하는 데 중요한 역할을 합니다. RBAC는 할당된 역할에 따라 액세스를 제한하고 권한이 없는 사용자가 중요한 데이터에 액세스하지 못하도록 방지하여 보안 위험을 완화합니다. 중요한 데이터에는 학습 데이터 또는 모델 및 프로덕션 파이프라인과 같은 중요한 인프라가 포함됩니다. RBAC를 사용하여 데이터 개인 정보 보호 규정을 준수할 수 있습니다. 또한 RBAC는 액세스 및 권한에 대한 명확한 레코드를 제공하여 감사를 간소화하고, 보안 격차를 쉽게 식별하고, 사용자 활동을 추적합니다.

패키지 관리

다양한 패키지, 라이브러리 및 이진 파일에 대한 종속성은 MLOps 수명 주기 전반에 걸쳐 일반적입니다. 종종 커뮤니티에서 개발되고 빠르게 진화하는 이러한 종속성은 적절한 사용과 이해를 위해 주제 전문가 지식이 필요합니다. 적절한 사용자가 패키지 및 라이브러리와 같은 다양한 자산에 안전하게 액세스할 수 있도록 해야 하지만 취약성도 방지해야 합니다. 데이터 과학자는 기계 학습 솔루션을 위한 특수한 구성 요소를 어셈블할 때 이 문제가 발생합니다. 기존의 소프트웨어 관리 접근 방식은 비용이 많이 들고 비효율적입니다. 다른 방법은 더 많은 가치를 제공합니다.

이러한 종속성을 관리하려면 격리 패턴따라 안전한 셀프 서비스 패키지 관리 프로세스를 사용할 수 있습니다. 이 프로세스를 설계하여 데이터 과학자가 큐레이팅된 패키지 목록에서 셀프 서비스하고 패키지가 안전하고 조직 표준을 준수하는지 확인할 수 있습니다.

이 방법에는 Microsoft 아티팩트 레지스트리, PyPI(Python 패키지 인덱스) 및 Conda라는 세 가지 업계 표준 기계 학습 패키지 리포지토리를 안전하게 나열하는 것이 포함됩니다. 안전 목록을 사용하면 개별 Machine Learning 작업 영역에서 셀프 서비스를 사용할 수 있습니다. 그런 다음 배포 중에 자동화된 테스트 프로세스를 사용하여 결과 솔루션 컨테이너를 검사합니다. 실패는 배포 프로세스를 정상적으로 종료하고 컨테이너를 제거합니다. 다음 다이어그램 및 프로세스 흐름은 이 프로세스를 보여 줍니다.

보안 Machine Learning 패키지 접근 방식을 보여 주는 다이어그램.

프로세스 흐름

  1. 네트워크 구성이 있는 Machine Learning 작업 영역에서 작업하는 데이터 과학자는 기계 학습 패키지 리포지토리에서 주문형 기계 학습 패키지를 셀프 서비스할 수 있습니다. 중앙 집중식 함수를 사용하여 시드되고 유지 관리되는 프라이빗 스토리지 패턴을 사용하여 다른 모든 항목에 예외 프로세스가 필요합니다.

  2. Machine Learning은 Docker 컨테이너로 기계 학습 솔루션을 제공합니다. 이러한 솔루션이 개발되면 Container Registry에 업로드됩니다. 컨테이너용 Microsoft Defender는 컨테이너 이미지에 대한 취약성 평가를 생성합니다.

  3. 솔루션 배포는 CI/CD 프로세스를 통해 수행됩니다. Microsoft Defender for DevOps 는 스택 전체에서 보안 상태 관리 및 위협 방지를 제공하는 데 사용됩니다.

  4. 솔루션 컨테이너는 각 보안 프로세스를 통과하는 경우에만 배포됩니다. 솔루션 컨테이너가 보안 프로세스에 실패하면 오류 알림 및 전체 감사 추적으로 배포가 실패합니다. 솔루션 컨테이너가 삭제됩니다.

이전 프로세스 흐름은 데이터 과학자를 위한 안전하고 셀프 서비스적인 패키지 관리 프로세스를 제공하고 패키지가 안전하고 조직 표준을 준수하도록 합니다. 혁신과 보안의 균형을 맞추기 위해 데이터 과학자에게 사전 프로덕션 환경에서 일반적인 기계 학습 패키지, 라이브러리 및 이진 파일에 대한 셀프 서비스 액세스 권한을 부여할 수 있습니다. 덜 일반적인 패키지에 대한 예외가 필요합니다. 이 전략은 데이터 과학자가 개발 중에 생산성을 유지할 수 있도록 하여 전달 중에 큰 병목 현상을 방지합니다.

릴리스 프로세스를 간소화하려면 프로덕션 환경에서 사용할 환경을 컨테이너화합니다. 컨테이너화된 환경은 취약성 검사를 통해 수고를 줄이고 지속적인 보안을 보장합니다. 이 프로세스 흐름은 사용 사례 간에 배달 시간에 사용할 수 있는 반복 가능한 접근 방식을 제공합니다. 기업 내에서 기계 학습 솔루션을 빌드하고 배포하는 데 드는 전체 비용이 줄어듭니다.

모니터링

MLOps에서 모니터링은 기계 학습 시스템의 상태 및 성능을 유지하고 모델이 효과적이고 비즈니스 목표에 부합하도록 하는 데 매우 중요합니다. 모니터링은 내부 루프 단계 동안 거버넌스, 보안 및 비용 제어를 지원합니다. 또한 외부 루프 단계 동안 솔루션을 배포할 때 성능, 모델 성능 저하 및 사용량에 대한 가시성을 제공합니다. 모니터링 활동은 데이터 과학자, 비즈니스 이해 관계자, 프로젝트 리드, 프로젝트 소유자, 플랫폼 기술 지원, CI/CD 프로세스 및 모니터링 프로세스와 같은 가상 사용자와 관련이 있습니다.

Machine Learning 작업 영역 설정(예: 프로젝트, 팀 또는 부서)에 따라 모니터링 및 확인 플랫폼을 선택합니다.

모델 성능

모델 성능을 모니터링하여 모델 문제 및 성능 저하를 조기에 검색합니다. 성능을 추적하여 모델이 정확하고 안정적이며 비즈니스 목표에 맞게 유지되도록 합니다.

데이터 드리프트

데이터 드리프트 는 모델의 학습 데이터 또는 최근 프로덕션 데이터와 비교하여 모델의 입력 데이터 분포 변화를 추적합니다. 이러한 변화는 시장 역학의 변화, 기능 변환 변경 또는 업스트림 데이터 변경의 결과입니다. 이러한 변경은 모델 성능을 저하시킬 수 있으므로 드리프트를 모니터링하여 적시에 수정하는 것이 중요합니다. 비교를 수행하려면 데이터 드리프트 리팩터링에 최근 프로덕션 데이터 세트 및 출력이 필요합니다.

환경: 프로덕션
Azure 촉진: Machine Learning – 모델 모니터링

예측 드리프트

예측 드리프트는 모델의 예측 출력 분포 변화를 유효성 검사, 테스트 레이블 또는 최근 프로덕션 데이터와 비교하여 추적합니다. 비교를 수행하려면 데이터 드리프트 리팩터링에 최근 프로덕션 데이터 세트 및 출력이 필요합니다.

환경: 프로덕션
Azure 촉진: Machine Learning – 모델 모니터링

리소스

엔드포인트 메트릭을 제공하는 여러 모델을 사용하여 CPU 또는 메모리 사용량과 같은 품질 및 성능을 나타냅니다. 이 접근 방식은 향후 투자 또는 변화를 촉진하는 데 도움이 되도록 프로덕션에서 학습하는 데 도움이 됩니다.

환경: 모두
Azure 촉진: 모니터링 - 온라인 엔드포인트 메트릭

사용량 메트릭

엔드포인트의 사용을 모니터링하여 조직별 또는 워크로드별 주요 성과 지표를 충족하고, 사용 패턴을 추적하고, 사용자가 경험하는 문제를 진단하고 수정합니다.

클라이언트 요청

모델 엔드포인트에 대한 클라이언트 요청 수를 추적하여 확장 또는 비용 최적화 노력에 영향을 줄 수 있는 엔드포인트의 활성 사용 프로필을 파악합니다.

환경: 프로덕션
Azure 촉진: Monitor - RequestsPerMinute와 같은 온라인 엔드포인트 메트릭 참고:

  • 허용 가능한 임계값을 티셔츠 크기 조정 또는 워크로드 요구 사항에 맞게 조정된 변칙에 맞출 수 있습니다.
  • 프로덕션 환경에서 더 이상 사용되지 않는 모델을 사용 중지합니다.
제한 지연

제한 지연 은 데이터 전송 요청 및 응답에서 느려집니다. 제한은 Resource Manager 수준 및 서비스 수준에서 발생합니다. 두 수준에서 메트릭을 추적합니다.

환경: 프로덕션
Azure 촉진:

  • 모니터 - Resource Manager, RequestThrottlingDelayMs의 합계, ResponseThrottlingDelayMs.
  • Machine Learning - 엔드포인트의 요청에 대한 정보를 확인하려면 온라인 엔드포인트 트래픽 로그를 사용하도록 설정할 수 있습니다. Log Analytics 작업 영역을 사용하여 로그를 처리할 수 있습니다.

참고: 허용되는 임계값을 워크로드의 SLO(서비스 수준 목표) 또는 SLA(서비스 수준 계약) 및 솔루션의 NFR(비기능적 요구 사항)에 맞춥니다.

생성된 오류

응답 코드 오류를 추적하여 서비스 안정성을 측정하고 서비스 문제를 조기에 검색할 수 있습니다. 예를 들어 서버 오류 응답이 갑자기 500개 증가하면 즉각적인 주의가 필요한 중요한 문제가 발생할 수 있습니다.

환경: 프로덕션
Azure 촉진: Machine Learning - 온라인 엔드포인트 트래픽 로그를 사용하도록 설정하여 요청에 대한 정보를 확인합니다. 예를 들어 ModelStatusCode 또는 ModelStatusReason을 사용하여 XRequestId의 수를 확인할 수 있습니다. Log Analytics 작업 영역을 사용하여 로그를 처리할 수 있습니다.
참고:

  • 400 및 500 범위의 모든 HTTP 응답 코드는 오류로 분류됩니다.

비용 최적화

클라우드 환경에서 비용 관리 및 최적화는 워크로드가 비용을 제어하고, 리소스를 효율적으로 할당하고, 클라우드 서비스에서 가치를 최대화하는 데 도움이 되므로 매우 중요합니다.

작업 영역 컴퓨팅

월별 운영 비용이 미리 정의된 금액에 도달하거나 초과하면 작업 영역 설정 경계에 따라 프로젝트 리드 또는 프로젝트 소유자와 같은 관련 이해 관계자에게 알리는 경고를 생성합니다. 프로젝트, 팀 또는 부서 관련 경계에 따라 작업 영역 설정을 결정할 수 있습니다.

환경: 모두
Azure 촉진: Microsoft Cost Management - 예산 경고
참고:

  • 초기 NFR 및 비용 예측에 따라 예산 임계값을 설정합니다.
  • 여러 임계값 계층을 사용합니다. 여러 임계값 계층은 예산을 초과하기 전에 관련자가 적절한 경고를 받도록 합니다. 이러한 관련자는 조직 또는 워크로드에 따라 비즈니스 잠재 고객, 프로젝트 소유자 또는 프로젝트 잠재 고객을 포함할 수 있습니다.
  • 일관된 예산 경고는 더 큰 수요를 지원하기 위한 리팩터링 트리거가 될 수도 있습니다.
작업 영역 부실

Machine Learning 작업 영역에 의도된 사용 사례에 대한 연결된 컴퓨팅 사용량에 따라 활성 사용 징후가 표시되지 않는 경우 프로젝트 소유자는 지정된 프로젝트에 더 이상 필요하지 않은 경우 작업 영역을 해제할 수 있습니다.

환경: 사전 프로덕션
Azure 촉진:

참고:

  • 활성 코어는 개수 집계와 0이어야 합니다.
  • 날짜 임계값을 프로젝트 일정에 맞춥니다.

보안

모니터링하여 적절한 보안 제어 및 기준에서 편차를 감지하여 Machine Learning 작업 영역이 조직의 보안 정책을 준수하는지 확인합니다. 미리 정의된 정책과 사용자 지정 정의 정책의 조합을 사용할 수 있습니다.

환경: 모두
Azure 촉진: Machine Learning용 Azure Policy

엔드포인트 보안

중요 비즈니스용 API에 대한 가시성을 얻으려면 모든 Machine Learning 엔드포인트의 대상 보안 모니터링을 구현합니다. API 보안 태세를 조사 및 개선하고, 취약성 수정의 우선 순위를 지정하고, 활성 실시간 위협을 신속하게 탐지할 수 있습니다.

환경: 프로덕션
Azure 촉진: API 용 Microsoft Defender는 API에 대한 광범위한 수명 주기 보호, 검색 및 응답 범위를 제공합니다. 참고: Defender for API는 Azure API Management에 게시된 API에 대한 보안을 제공합니다. 클라우드용 Microsoft Defender Portal 또는 Azure Portal의 API Management 인스턴스 내에서 Defender for API를 온보딩할 수 있습니다. Machine Learning 온라인 엔드포인트를 API Management와 통합해야 합니다.

배포 모니터링

배포 모니터링을 사용하면 만드는 모든 엔드포인트가 워크로드 또는 조직 정책을 준수하고 취약성으로부터 자유로워집니다. 이 프로세스를 수행하려면 배포 전후에 Azure 리소스에 규정 준수 정책을 적용하고, 취약성 검사를 통해 지속적인 보안을 제공하고, 서비스가 작동하는 동안 SLO를 충족하는지 확인해야 합니다.

표준 및 거버넌스

모니터링하여 적절한 표준의 편차를 감지하고 워크로드가 가드레일을 준수하는지 확인합니다.

환경: 모두
Azure 촉진:

  • 정책을 코드로 처리하기 위해 Azure Pipelines를 통한 관리되는 정책 할당 및 수명 주기입니다.
  • Azure용 PSRule은 Azure 인프라에 대한 테스트 프레임워크를 코드로 제공합니다.
  • CI/CD 기반 시스템 배포 정책, 정책 집합, 할당, 정책 예외 및 역할 할당에서 엔터프라이즈 Azure 정책을 코드로 사용할 수 있습니다.

참고: 자세한 내용은 Machine Learning 규정 준수에 대한 Azure 지침을 참조하세요.

보안 검색

자동화된 통합 및 배포 프로세스의 일부로 자동화된 보안 검사를 구현합니다.

환경: 모두
Azure 촉진: DevOps용 Defender
참고: Azure Marketplace앱을 사용하여 비 Microsoft 보안 테스트 모듈에 대해 이 프로세스를 확장할 수 있습니다.

진행 중인 서비스

성능 최적화, 보안 및 리소스 사용을 위해 API의 지속적인 서비스를 모니터링합니다. 적시에 오류 검색, 효율적인 문제 해결 및 표준 준수를 보장합니다.

환경: 프로덕션
Azure 촉진:

참가자

Microsoft에서 이 문서를 유지 관리합니다. 원래 다음 기여자가 작성했습니다.

주요 작성자:

기타 기여자:

비공개 LinkedIn 프로필을 보려면 LinkedIn에 로그인합니다.

다음 단계