Azure Machine Learning 환경 구성 및 설정

엔터프라이즈 환경에 대한 Azure Machine Learning 배포를 계획할 때 작업 영역을 만드는 방법에 영향을 주는 몇 가지 일반적인 의사 결정 지점이 있습니다.

  • 팀 구조: 사용 사례 및 데이터 분리 또는 비용 관리 요구 사항이 지정된 경우 데이터 과학 팀을 구성하고 프로젝트에 대해 공동 작업하는 방법
  • 환경: 개발 및 릴리스 워크플로의 일부로 사용하여 개발과 프로덕션을 분리하는 환경
  • 지역: 데이터의 위치 및 기계 학습 솔루션을 제공하는 데 필요한 대상 그룹

팀 구성 및 작업 영역 설정

작업 영역은 Azure Machine Learning의 최상위 리소스입니다. 기계 학습을 사용할 때 생성되는 아티팩트와 연결된 리소스 및 연결된 리소스에 대한 관리형 컴퓨팅 및 포인터를 저장합니다. 관리 효율성 관점에서 Azure Resource Manager 리소스로서의 작업 영역은 Azure RBAC(Azure 역할 기반 액세스 제어), 정책별 관리를 지원하며 비용 보고를 위한 단위로 사용할 수 있습니다.

조직은 일반적으로 관리 용이성에 대한 요구 사항을 따르기 위해 다음 솔루션 패턴 중 하나 또는 조합을 선택합니다.

당 작업 영역: 팀의 모든 구성원이 데이터 및 실험 자산에 대해 동일한 수준의 액세스 권한이 필요한 경우 각 팀에 대해 하나의 작업 영역을 사용합니다. 예를 들어 3개의 기계 학습 팀이 있는 조직은 각 팀에 하나씩 3개의 작업 영역을 만들 수 있습니다.

팀당 하나의 작업 영역을 사용하면 팀 프로젝트에 대한 모든 기계 학습 아티팩트가 한 곳에 저장된다는 이점이 있습니다. 팀 구성원이 실험 결과에 쉽게 액세스, 탐색 및 재사용할 수 있으므로 생산성이 향상되는 것을 볼 수 있습니다. 팀별로 작업 영역을 구성하면 Azure 설치 공간이 줄어들고 팀별 비용 관리가 간소화됩니다. 실험 자산의 수가 빠르게 증가할 수 있으므로 명명 및 태그 지정 규칙에 따라 아티팩트를 구성할 수 있습니다. 리소스 이름 지정 방법에 대한 권장 사항은 Azure 리소스에 대한 이름 지정 및 태그 지정 전략 개발을 참조하세요.

이 방법을 사용하면 각 팀 구성원에게 비슷한 데이터 액세스 수준 권한이 있어야 합니다. 데이터 원본 및 실험 자산에 대한 RBAC(세분화된 역할 기반 액세스 제어) 및 ACL(액세스 제어 목록)은 작업 영역 내에서 제한됩니다. 사용 사례 데이터 분리 요구 사항이 있을 수 없습니다.

프로젝트당 작업 영역: 프로젝트별로 데이터 및 실험 자산을 분리해야 하거나 프로젝트 수준에서 비용 보고 및 예산 요구 사항이 있는 경우 각 프로젝트에 대해 하나의 작업 영역을 사용합니다. 예를 들어 총 12개의 작업 영역 인스턴스에 대해 각각 3개의 프로젝트를 실행하는 4개의 기계 학습 팀이 있는 조직이 있을 수 있습니다.

프로젝트당 하나의 작업 영역을 사용할 경우의 이점은 프로젝트 수준에서 비용을 관리한다는 것입니다. 팀은 일반적으로 비슷한 이유로 Azure Machine Learning 및 관련 리소스에 대한 전용 리소스 그룹을 만듭니다. 예를 들어 외부 기여자와 함께 작업할 때 프로젝트 중심 작업 영역은 외부 사용자에게 팀 리소스가 아닌 프로젝트 리소스에 대한 액세스 권한만 부여하면 되므로 프로젝트에 대한 협업을 단순화합니다.

이 방법을 사용하여 고려해야 할 사항은 실험 결과 및 자산의 격리입니다. 자산이 여러 작업 영역 인스턴스에 분산되어 있기 때문에 자산 검색 및 재사용이 더 어려울 수 있습니다.

단일 작업 영역: 비팀 또는 비프로젝트 관련 작업에 하나의 작업 영역을 사용하거나 비용이 R&D와 같은 특정 청구 단위에 직접 연결될 수 없는 경우를 사용합니다.

이 설정의 이점은 프로젝트와 관련되지 않은 개별 작업의 비용을 프로젝트 관련 비용과 분리할 수 있다는 것입니다. 모든 사용자가 개별 작업을 수행할 수 있도록 단일 작업 영역을 설정하면 Azure 공간이 줄어듭니다.

이 방법을 사용하면 많은 기계 학습 실무자가 동일한 인스턴스를 공유할 때 작업 영역이 빠르게 복잡해질 수 있습니다. 사용자가 리소스를 효과적으로 찾기 위해서는 UI 기반 자산 필터링이 필요할 수 있습니다. 각 사업부에 대한 공유 기계 학습 작업 영역을 만들어 규모 문제를 완화하거나 예산을 분할할 수 있습니다.

환경 및 작업 영역 설정

환경은 애플리케이션 수명 주기의 단계에 따라 배포 대상이 되는 리소스 컬렉션입니다. 환경 이름의 일반적인 예는 Dev, Test, QA, Staging 및 Production입니다.

조직의 개발 프로세스는 환경 사용 요구 사항에 영향을 줍니다. 사용자 환경은 Azure Machine Learning 및 연결된 컴퓨팅과 같은 관련 리소스의 설정에 영향을 줍니다. 예를 들어 데이터 가용성은 각 환경에 사용할 수 있는 기계 학습 인스턴스를 갖는 관리 효율성을 제한할 수 있습니다. 다음 솔루션 패턴이 일반적입니다.

단일 환경 작업 영역 배포: 단일 환경 작업 영역 배포를 선택하면 Azure Machine Learning이 하나의 환경에 배포됩니다. 이 설정은 여러 환경에서 수명 주기 단계에 따라 기계 학습 아티팩트 릴리스할 필요가 없는 연구 중심 시나리오에 일반적입니다. 이 설정이 적합한 또 다른 시나리오는 기계 학습 파이프라인이 아닌 추론 서비스만 환경 간에 배포되는 경우입니다.

연구 중심 설정의 이점은 Azure 설치 공간이 더 작고 관리 오버헤드가 최소화된다는 것입니다. 이 작업 방식은 Azure Machine Learning 작업 영역을 각 환경에 배포할 필요가 없음을 의미합니다.

이 방법을 사용하면 단일 환경 배포에 데이터 가용성이 적용됩니다. 따라서 데이터 저장소를 설정할 때는 주의해야 합니다. 예를 들어 프로덕션 데이터 원본에 대한 작성자 액세스와 같은 광범위한 액세스를 설정하면 의도하지 않게 데이터 품질이 저하될 수 있습니다. 개발이 발생하는 동일한 환경에서 작업을 프로덕션으로 가져오는 경우 개발 작업과 프로덕션 작업 모두에 동일한 RBAC 제한이 적용됩니다. 이 설정은 두 환경을 너무 경직되거나 너무 유연하게 만들 수 있습니다.

Diagram of a single environment workspace deployment in Azure Machine Learning.

여러 환경 작업 영역 배포: 여러 환경 작업 영역 배포를 선택하면 작업 영역 인스턴스가 각 환경에 대해 배포됩니다. 이 설정에 대한 일반적인 시나리오는 환경과 해당 환경에 대한 리소스 액세스 권한이 있는 사용자의 업무가 명확하게 구분되어 있는 규제된 작업장이 있는 것입니다.

이 설정의 이점은 다음과 같습니다.

  • 기계 학습 워크플로 및 아티팩트 단계별 롤아웃 예를 들어 민첩성을 향상시키고 배포 시간을 줄일 수 있는 환경 전반의 모델입니다.
  • 다운스트림 환경에서 더 많은 액세스 제한을 할당할 수 있으므로 리소스의 보안 및 제어가 향상되었습니다.
  • 선택한 사용자 그룹에 액세스 권한을 부여할 수 있으므로 비개발 환경의 프로덕션 데이터에 대한 학습 시나리오.

이 방법을 사용하면 더 많은 관리 및 프로세스 오버헤드가 발생할 위험이 있습니다. 이 설정을 사용하려면 작업 영역 인스턴스에서 기계 학습 아티팩트를 위한 세분화된 개발 및 롤아웃 프로세스가 필요합니다. 또한 개발 환경에서 프로덕션 데이터를 학습에 사용할 수 있도록 하려면 데이터 관리 및 엔지니어링 작업이 필요할 수 있습니다. 액세스 관리를 위해서는 프로덕션에서 인시던트를 해결하고 조사할 수 있는 액세스 권한을 팀에게 제공해야 합니다. 마지막으로 팀은 자동화 워크플로를 구현하기 위해 Azure DevOps 및 기계 학습 엔지니어링 전문 지식이 필요합니다.

Diagram of a multiple environment workspace deployment in Azure Machine Learning.

데이터 액세스가 제한된 환경 하나, 프로덕션 데이터 액세스 권한이 있는 환경 1개: 이 설정을 선택하면 Azure Machine Learning은 데이터 액세스가 제한된 환경과 프로덕션 데이터 액세스 권한이 있는 환경의 두 환경에 배포합니다. 이 설정은 개발 환경과 프로덕션 환경을 분리해야 하는 경우에 일반적입니다. 예를 들어 어떤 환경에서든 프로덕션 데이터를 사용할 수 있도록 조직적 제약 조건에서 작업하고 있거나 높은 유지 관리 비용으로 인해 필요한 것보다 더 많은 데이터를 복제하지 않고 프로덕션 작업에서 개발 작업을 분리하고자 할 수 있습니다.

이 설정의 이점은 개발 환경과 프로덕션 환경 간의 명확한 업무 분리와 액세스입니다. 또 다른 이점은 다중 환경 배포 시나리오와 비교할 때 리소스 관리 오버헤드가 낮다는 것입니다.

이 방법을 사용하려면 작업 영역 전체에서 기계 학습 아티팩트를 위한 정의된 개발 및 롤아웃 프로세스가 필요합니다. 또한 개발 환경에서 프로덕션 데이터를 학습에 사용할 수 있도록 데이터 관리 및 엔지니어링 노력이 필요할 수 있습니다. 그러나 이 방법은 다중 환경 작업 영역 배포보다 상대적으로 적은 노력이 필요할 수 있습니다.

Diagram of an environment with limited data access, and an environment with production data access.

지역 및 리소스 설정

리소스, 데이터 또는 사용자의 위치에 따라 여러 Azure 지역에서 Azure Machine Learning 작업 영역 인스턴스 및 연결된 리소스를 만들어야 할 수 있습니다. 예를 들어 한 프로젝트는 성능, 비용 및 규정 준수를 위해 서유럽 및 미국 동부 Azure 지역에 걸쳐 리소스를 확장할 수 있습니다. 일반적인 시나리오는 다음과 같습니다.

지역 학습: 기계 학습을 학습하는 작업은 데이터가 있는 동일한 Azure 지역에서 실행됩니다. 이 설정에서 기계 학습 작업 영역은 데이터가 있는 각 Azure 지역에 배포됩니다. 이 시나리오는 규정 준수를 충족해야 하거나 지역 간에 데이터 이동 제약 조건이 있는 경우에 일반적입니다.

이 설정의 이점은 데이터가 네트워크 대기 시간이 가장 적은 데이터 센터에서 실험을 수행할 수 있다는 것입니다. 이 방법을 사용하면 기계 학습 파이프라인이 여러 작업 영역 인스턴스에서 실행되면 관리 복잡성이 더해집니다. 인스턴스 간에 실험 결과를 비교하는 것이 어려워지고 할당량 및 컴퓨팅 관리에 오버헤드가 추가됩니다.

여러 지역에 스토리지를 연결하지만 한 지역의 컴퓨팅을 사용하려는 경우 Azure Machine Learning은 작업 영역이 아닌 지역에 스토리지 계정을 연결하는 시나리오를 지원합니다. 메타데이터(예: 메트릭)는 작업 영역 지역에 저장됩니다.

Diagram of training jobs operating in the same Azure region as the data.

지역 서비스: Machine Learning Services는 대상 대상 그룹의 위치에 가깝게 배포됩니다. 예를 들어 대상 사용자가 오스트레일리아에 있고 기본 스토리지 및 실험 지역이 서유럽인 경우 서유럽에서 실험을 위한 기계 학습 작업 영역을 배포합니다. 그런 다음, 호주에서 유추 엔드포인트 배포를 위해 AKS 클러스터를 배포합니다.

이 설정의 이점은 새로운 데이터가 수집되는 데이터 센터에서 유추할 수 있는 기회, 대기 시간 및 데이터 이동 최소화, 현지 규정 준수입니다.

이 방법을 사용하면 다중 지역 설정은 몇 가지 이점을 제공하지만 할당량 및 컴퓨팅 관리에 더 많은 오버헤드를 추가합니다. 일괄 처리 추론에 대한 요구 사항이 있는 경우 지역 서비스 제공에는 다중 작업 영역 배포가 필요할 수 있습니다. 유추 엔드포인트를 통해 수집된 데이터는 재학습 시나리오를 위해 지역 간에 전송되어야 할 수 있습니다.

Diagram of Azure Machine Learning services deployed near where the target audience lives.

지역 미세 조정: 기본 모델은 초기 데이터 세트(예: 모든 지역의 공용 데이터 또는 데이터)를 학습하고 나중에 지역 데이터 세트로 미세 조정됩니다. 지역 데이터 세트는 규정 준수 또는 데이터 이동 제약 조건으로 인해 특정 지역에만 존재할 수 있습니다. 예를 들어 지역 A의 작업 영역에서 기본 모델 학습을 수행해야 하는 반면 지역 B의 작업 영역에서 미세 조정이 수행되어야 할 수 있습니다.

이 설정의 이점은 데이터가 있는 데이터 센터에서 규격으로 실험할 수 있다는 것입니다. 이전 파이프라인 단계에서 더 큰 데이터 세트에서 기본 모델 학습을 계속 활용할 수도 있습니다.

이 방법은 복잡한 실험 파이프라인을 지원하지만 더 많은 문제를 일으킬 수 있습니다. 예를 들어 지역 간 실험 결과를 비교하면 할당량 및 컴퓨팅 관리에 오버헤드가 더 늘어나게 될 수 있습니다.

Diagram of an initial dataset deployed using public data or data from all regions, and fine-tuned later with a regional dataset.

참조 구현

더 큰 설정에서 Azure Machine Learning의 배포를 설명하기 위해 이 섹션에서는 조직 제약 조건, 보고 및 예산 요구 사항을 고려하여 조직 'Contoso'가 Azure Machine Learning을 설정하는 방법을 보여 줍니다.

  • Contoso는 비용 관리 및 보고를 위해 솔루션 기반으로 리소스 그룹을 만듭니다.
  • IT 관리자는 예산 요구 사항을 충족하기 위해 자금 지원 솔루션에 대한 리소스 그룹 및 리소스만 만듭니다.
  • 데이터 과학의 탐색적이고 불확실한 특성 때문에 사용자는 사용 사례 및 데이터 탐색을 위해 실험하고 작업할 장소가 필요합니다. 종종 예비 작업은 특정 사용 사례에 직접 연결할 수 없으며 R&D 예산에만 연결할 수 있습니다. Contoso는 누구나 탐색 목적으로 사용할 수 있는 일부 기계 학습 리소스에 중앙 집중식으로 자금을 지원하려고 합니다.
  • 예비 환경에서 기계 학습 사용 사례가 성공적으로 입증되면 팀은 리소스 그룹을 요청할 수 있습니다. 예를 들어 회사는 반복적인 실험 프로젝트 작업을 위해 개발, QA 및 프로덕션을 설정하고 프로덕션 데이터 원본에 액세스할 수 있습니다.
  • 데이터 분리 및 규정 준수 요구 사항은 라이브 프로덕션 데이터가 개발 환경에 존재하는 것을 허용하지 않습니다.
  • 환경별 IT 정책에 따라 다양한 사용자 그룹에 대해 서로 다른 RBAC 요구 사항이 있습니다. 예를 들어 프로덕션 환경에서는 액세스가 더 제한적입니다.
  • 모든 데이터, 실험 및 추론은 단일 Azure 지역에서 발생합니다.

위의 요구 사항을 준수하기 위해 Contoso는 다음과 같은 방식으로 리소스를 설정합니다.

  • 예산 및 사용 사례 분리 요구 사항을 따르도록 프로젝트별로 범위가 지정된 Azure Machine Learning 작업 영역 및 리소스 그룹입니다.
  • 비용 관리, RBAC 및 데이터 액세스 요구 사항을 해결하기 위한 Azure Machine Learning 및 관련 리소스에 대한 다중 환경 설정입니다.
  • 탐색 전용인 단일 리소스 그룹 및 기계 학습 작업 영역입니다.
  • 사용자 역할 및 환경별로 다른 Microsoft Entra 그룹입니다. 예를 들어 데이터 과학자가 프로덕션 환경에서 수행할 수 있는 작업은 개발 환경과 다르며 솔루션마다 액세스 수준이 다를 수 있습니다.
  • 단일 Azure 지역에서 만든 모든 리소스입니다.

Diagram of a sample Azure Machine Learning multiple-environment setup for the Contoso organization.

다음 단계

Azure Machine Learning을 사용한 기계 학습 DevOps의 모범 사례에 대해 알아봅니다.

Azure Machine Learning을 사용하여 예산, 할당량 및 비용을 관리할 때 고려해야 할 사항에 대해 알아봅니다.