AWS 기술 블로그

Amazon SageMaker와 통합된 Amazon DataZone으로 머신러닝 거버넌스를 간소화하기

Amazon SageMaker는 머신러닝(ML) 모델을 구축, 학습 및 배포하기 위한 다양한 도구와 기능을 제공하는 완전 관리형 ML 서비스입니다. Amazon DataZone은 고객이 AWS, 온프레미스 및 타사 소스에 저장된 데이터를 더 빠르고 쉽게 카탈로그화, 검색, 공유 및 관리할 수 있도록 지원하는 데이터 관리 서비스입니다.

저희는 오늘 보안 제어 기능을 갖춘 인프라를 설정하고, 머신러닝 (ML) 프로젝트에서 협업하고, 데이터 및 ML 자산에 대한 액세스를 관리할 수 있도록 SageMaker와 Amazon DataZone 간의 통합을 발표하게 되어 기쁘게 생각합니다.

ML으로 비즈니스 문제를 해결할 때, 학습 데이터로 ML 모델을 생성하고 해당 모델을 비즈니스 애플리케이션과 통합하여 예측 가능한 의사 결정을 내릴 수 있습니다. 예를 들어 대출 신청 절차에 ML 모델을 사용하여 대출 승인 또는 거절과 같은 결정을 내릴 수 있습니다. 이러한 ML 모델을 배포할 때 효과적인 ML 거버넌스는 ML 기반 애플리케이션에 대한 신뢰도를 확보하고, 위험을 최소화하며, 책임감 있는 AI 사용을 촉진하는 데 도움이 됩니다.

포괄적인 거버넌스 전략은 인프라, 데이터, 머신러닝 전반에 걸쳐 적용됩니다. ML 거버넌스는 ML 사용 사례와 관련된 다양한 위험을 파악하고 완화하기 위한 정책, 절차 및 도구를 구현해야 합니다. ML 라이프사이클의 모든 단계에 거버넌스 관행을 적용하는 것은 기업의 가치를 극대화하는 데 필수적입니다. 예를 들어 대출 신청 절차 사용 사례에 대한 ML 모델을 구축할 때, 모델 개발 및 배포를 기업의 전반적인 거버넌스 정책 및 제어 기능과 연계하여 효과적인 대출 승인 워크플로우를 만들 수 있습니다.

그러나 일반적으로 기업이 보유한 워크플로우와 여러 도구의 통합이 필요하기 때문에 ML 라이프사이클 전반에 걸쳐 거버넌스를 적용하는 것은 어렵고 시간이 많이 소요될 수 있습니다. SageMaker와 Amazon DataZone의 새로운 내장 통합 기능을 사용하면 몇 번의 클릭만으로 인프라 전반에서 머신러닝 거버넌스 설정을 간소화하고, 비즈니스 이니셔티브에 대해 협업하고, 데이터 및 머신러닝 자산을 관리할 수 있습니다.

ML 사용 사례를 관리하기 위해, 이 새로운 통합 기능은 다음과 같은 기능을 제공합니다:

  • 비즈니스 프로젝트 관리 – 프로젝트를 만들고, 편집하고, 볼 수 있을 뿐만 아니라 사용자를 추가하여 공통의 비즈니스 목표에 대한 협업을 시작할 수 있습니다.
  • 인프라 관리 – 여러 프로젝트 환경을 생성하고 보안 제어 기능이 내장된 인프라 리소스를 배포하여 기업의 요구 사항을 충족할 수 있습니다.
  • 자산 거버넌스 – 사용자는 엔터프라이즈 비즈니스 카탈로그에 비즈니스 메타데이터와 함께 데이터 및 ML 자산을 검색, 발견, 액세스 요청 및 게시할 수 있습니다.

이번 블로그에서는 ML 사용 사례를 설정하고 관리하는 방법에 대해 자세히 살펴보겠습니다. 또한 SageMaker와 Amazon DataZone 통합의 설정 및 구성을 위한 엔드투엔드(end-to-end) 과정에 대해 알아보겠습니다. 또한 셀프 서비스 기능을 사용하여 ML 라이프사이클을 진행하면서 데이터 및 ML 자산을 검색, 구독, 사용 및 게시하는 방법에 대해서도 알려드리겠습니다.

솔루션 개요

기업의 데이터 자산을 관리하는 관리자와 데이터 담당자(Data steward)는 Amazon DataZone을 통해 데이터에 대한 액세스를 관리하고 제어할 수 있습니다. 이러한 제어는 적절한 수준의 권한과 상황에 맞는 액세스를 적용하도록 설계되었습니다. 엔지니어, 데이터 사이언티스트, 프로덕트 매니저, 애널리스트, 비즈니스 유저들은 Amazon DataZone을 통해 조직 전체의 데이터에 손쉽게 액세스할 수 있습니다. 또한, 데이터 기반 인사이트를 발견, 사용, 협업하여 데이터 기반 인사이트를 도출할 수 있습니다. 아래 다이어그램은 Amazon DataZone과 SageMaker 통합의 샘플 아키텍처를 보여줍니다.

이 통합을 통해 블루프린트를 사용하여 SageMaker 인프라를 배포할 수 있습니다. 새로운 SageMaker 블루프린트는 체계적으로 설계된 인프라 템플릿을 제공합니다. 이 템플릿을 사용하면 ML 관리자는 Amazon Virtual Private Cloud(VPC), Amazon Key Management Service(KMS), AWS Identity and Access Management(IAM)와 같은 서비스로 적절한 제어를 통 SageMaker 환경 프로필을 구축할 수 있습니다. ML 빌더는 이 환경 프로필을 사용하여 몇 분 안에 SageMaker 도메인을 배포할 수 있습니다. 사용자 SageMaker 환경 프로필을 사용하 SageMaker 환경을 생성할 때, Amazon DataZone은 데이터 및 ML 자산 카탈로그, SageMaker Studio, 그리고 Amazon DataZone 프로젝트 권한을 관리하기 위한 (IAM) 역할을 프로비저닝합니다. 다음 다이어그램은 SageMaker 환경이 Amazon DataZone 프로젝트의 기존 환경에 어떻게 적용되는지 보여줍니다.

SageMaker Studio에서 데이터 및 ML 자산 거버넌스를 용이하게 하기 위해 저희는 다음 구성 요소를 통합하도록 SageMaker Studio를 확장했습니다:

  • 자산(Asset) – 카탈로그 또는 프로젝트 인벤토리에 게시하고, 검색하고, 공유할 수 있는 데이터 또는 ML 리소스입니다. Amazon Redshift 테이블과 AWS Glue 테이블은 기존의 Amazon DataZone 자산입니다. 이번 통합을 통해 두 가지 자산 유형이 더 추가되었습니다. 바로 SageMaker Feature Group과 Model Package Group입니다.
  • 소유 자산(Owned assets) – 프로젝트 멤버만 검색할 수 있는 프로젝트 인벤토리 내 자산 모음입니다. 이는 스테이징 자산(Staging asset)으로, Amazon DataZone 비즈니스 카탈로그에 명시적으로 게시되기 전까지는 Amazon DataZone 도메인 내 다른 사용자가 사용할 수 없습니다.
  • 자산 카탈로그(Asset catalog) – 조직 전체에서 비즈니스 컨텍스트에 따라 검색할 수 있는 Amazon DataZone 비즈니스 카탈로그에 게시된 자산의 모음으로, 조직의 모든 사용자가 사용 사례에 맞는 자산을 빠르게 찾을 수 있습니다.
  • 구독한 자산(Subscribed assets) – 구독자가 Amazon DataZone 비즈니스 카탈로그에서 승인을 받은 자산의 모음입니다. 해당 자산의 소유자가 액세스 요청을 승인해야만 구독자가 해당 자산을 사용할 수 있습니다.

다음 다이어그램은 위에서 설명한 구성 요소와 함께 고객 이탈 모델(Customer-Churn-Model) 라이프 사이클과 같은 ML 자산의 예를 보여줍니다.

다음 섹션에서는 Amazon DataZone과 SageMaker 통합의 사용자 경험 예시를 통해 보여드립니다. 도메인, 프로젝트, SageMaker 환경을 비롯해 Amazon DataZone을 설정하는 방법과 SageMaker Studio를 사용하여 자산 관리를 수행하는 방법을 보여드립니다. 다음 다이어그램은 저희의 워크플로우 입니다.

Amazon DataZone 도메인, 프로젝트 및 Amazon SageMaker 환경 설정하기

관리자는 Amazon DataZone 콘솔에서 도메인을 만들고, 데이터 포털에 액세스하고, 특정 데이터 및 사용자에 대한 액세스 권한이 있는 새 프로젝트를 프로비저닝합니다.

관리자는 엔터프라이즈 수준의 보안 제어 기능이 있는 SageMaker 블루프린트를 사용하여 SageMaker 환경 프로필을 설정합니다. 그리고 나서 적절한 조직만 접근할 수 있는 SageMaker 인프라를 몇 분 안에 배포하여 ML 빌더가 머신러닝 사용 사례에 사용할 수 있도록 합니다.

Amazon DataZone 데이터 포털에서 ML 빌더는 프로젝트를 생성하거나 참여하여, 해결 중인 비즈니스 문제에 대해 협업할 수 있습니다. SageMaker에서 ML 사용 사례를 시작하려면 관리자가 만든 SageMaker 환경 프로필을 사용하여 SageMaker 환경을 만들거나 기존 환경을 사용합니다.

ML 빌더는 몇 번의 클릭만으로 Amazon DataZone 데이터 포털에서 SageMaker Studio로 원활하게 페더레이션할 수 있습니다. SageMaker Studio에서 다음 작업을 수행할 수 있습니다:

  • 구독(Subscribe) – SageMaker를 사용하면 Amazon DataZone 비즈니스 카탈로그에서 자산을 찾고, 액세스하고, 사용할 수 있습니다. 카탈로그에서 액세스하려는 자산을 찾으면 해당 자산을 구독해야 하며, 자산 소유자에게 구독 요청이 생성됩니다.
  • 게시(Publish) – SageMaker를 사용하면 자산 소유자로서 자산과 해당 메타데이터를 Amazon DataZone 비즈니스 카탈로그에 게시하고 조직내 다른 사람들이 머신러닝 사용 사례에서 구독하고 사용할 수 있도록 할 수 있습니다.

SageMaker Studio를 사용하여 자산 관리 수행

SageMaker Studio에서 ML 빌더는 비즈니스 카탈로그에서 데이터 및 ML 자산을 검색, 발견 및 구독할 수 있습니다. 이러한 자산을 SageMaker Studio 및 SageMaker Canvas에서 데이터 준비, 모델 훈련 및 피처 엔지니어링과 같은 ML 워크플로우에 사용할 수 있습니다. ML 작업을 완료하면 ML 빌더는 데이터, 모델 및 피처 그룹을 비즈니스 카탈로그에 게시함으로써 거버넌스를 확보하고 검색되게 할 수 있습니다.

자산 검색 및 발견

ML 빌더가 DataZone을 통해 SageMaker Studio에 들어간 후에는 좌측 메뉴에서 자산(Assets) 옵션을 볼 수 있습니다.

자산 페이지에서 ML 빌더는 추가적인 관리자의 개입없이 데이터 자산과 ML 자산을 검색하고 발견할 수 있습니다.

검색 결과에는 이름과 설명을 포함하여 검색 기준에 해당하는 모든 자산이 표시됩니다. ML 빌더는 자산 유형별로 필터링하여 결과 범위를 좁힐 수 있습니다. 다음 스크린샷은 검색 결과에서 사용 가능한 자산의 예시입니다.

자산 구독

ML 빌더가 검색 결과에서 자산을 발견한 후에는 해당 자산을 선택하여 스키마 또는 메타데이터와 같은 세부 정보를 보고 해당 자산이 자신의 사용 사례에 유용한지 파악할 수 있습니다.

특정 자산에 액세스하려면 구독을 선택하여 자산 소유자로부터 액세스 요청을 시작합니다. 이 요청은 자산 소유자가 조직의 어떤 구성원이 자신의 자산에 액세스할 수 있는지 결정할수 있도록 거버넌스를 수행할 수 있게 합니다.

자산 소유자는 자산 페이지의 수신 구독 요청(Incoming subscription requests) 섹션에서 요청을 확인할 수 있습니다. 자산 소유자는 타당한 사유를 제시하여 요청을 승인하거나 거부할 수 있습니다. ML 빌더도 자산 페이지의 발신 구독 요청(Outgoing subscription requests) 섹션에서 해당 조치를 확인할 수 있습니다. 다음 스크린샷은 자산 요청과 구독한 자산(Subscribed assets) 탭을 관리하는 예시를 보여줍니다. 다음 단계에서는 mkt_sls_table과 같은 구독 데이터 자산과 Customer-Churn-Model과 같은 ML 자산이 SageMaker 내에서 어떻게 사용되는지 보여드리겠습니다.

구독한 자산 사용

ML 빌더가 구독한 자산에 액세스할 수 있도록 승인된 후에는 SageMaker Studio 내에서 SageMaker Canvas 또는 JupyterLab을 사용할 수 있습니다. 이 섹션에서는 ML 빌더가 구독한 자산을 사용할 수 있는 시나리오를 살펴봅니다.

구독한 모델 패키지 그룹(Model Package Group)을 SageMaker Studio에서 사용

ML 빌더는 자산 세부 정보 페이지에서 모델 레지스트리에서 열기(Open in Model Registry)를 선택하여 SageMaker Studio에서 구독한 모든 모델 패키지 그룹을 확인할 수 있습니다. 또한 ML 빌더는 예측을 위해 엔드포인트에 모델을 배포하여 구독한 모델을 사용할 수 있습니다. 다음 스크린샷은 구독한 모델 자산을 여는 예시를 보여줍니다.

구독한 데이터 자산을 SageMaker Canvas에서 사용

ML 빌더가 SageMaker Studio에서 SageMaker Canvas 앱을 열 때 SageMaker Data Wrangler와 데이터 세트를 사용할 수 있습니다. ML 빌더는 구독한 데이터 자산을 확인하여 실험을 수행하고 모델을 빌드할 수 있습니다. 이 통합의 일환으로 ML 빌더는 sub_db에서 구독한 자산을 확인하고 pub_db를 통해 자산을 게시할 수 있으며, 생성된 모델은 SageMaker Canvas에서 SageMaker Model Registry에 등록할 수 있습니다. 다음 스크린샷은 SageMaker Canvas에서 데이터 준비를 위해 구독한 자산인 mkt_sls_table의 예시입니다.

구독한 데이터 자산을 JupyterLab 노트북에서 사용

ML 빌더는 SageMaker Studio에서 JupyterLab으로 이동하여 노트북을 열고 데이터 실험을 시작할 수 있습니다. ML 빌더는 구독한 데이터 자산을 자신의 노트북에서 조회하고 실험 및 모델 구축에 사용할 수 있습니다. 다음 스크린샷은 SageMaker Studio에서 데이터 준비를 위해 구독한 mkt_sls_table 자산의 예시입니다.

자산 게시

실험과 분석이 끝나면 ML 빌더는 자산을 Amazon DataZone 비즈니스 카탈로그에 게시하여 조직의 다른 팀원들과 공유할 수 있습니다. 또한 프로젝트 인벤토리에 게시하여 프로젝트 구성원만 자산을 사용할 수 있도록 할 수도 있습니다. ML 빌더는 SageMaker SDK를 사용하거나 SageMaker Studio에서 직접 게시하여 이러한 작업을 수행할 수 있습니다.

특정 자산 탭으로 이동하여 자산 카탈로그에 게시(Publish to asset catalog) 또는 인벤토리에 게시(Publish to inventory)를 선택하여 ML 자산을 게시할 수 있습니다. 다음 스크린샷은 자산 카탈로그에 피처 그룹을 게시하는 방법을 보여줍니다.

다음 스크린샷은 모델 그룹을 자산 카탈로그 또는 프로젝트 인벤토리에 게시하는 방법을 보여줍니다.

자산 페이지에서 데이터 소스 기능을 사용하여 AWS Glue 테이블 또는 Amazon Redshift 테이블에 데이터 자산을 게시할 수 있습니다.

결론

거버넌스는 인프라 관리, 데이터 관리, 모델 관리, 액세스 관리, 정책 관리 등 여러 측면의 제어를 포괄하는 다각적인 원칙입니다. ML 거버넌스는 조직이 다양한 사용 사례에 걸쳐 ML 사용을 성공적으로 확장하고 기술 및 운영 위험을 완화하는 데 핵심적인 역할을 합니다.

새로운 SageMaker와 Amazon DataZone 통합을 통해 조직은 ML 프로젝트에서 데이터 및 ML 자산 거버넌스뿐만 아니라 인프라 제어 및 권한을 간소화할 수 있습니다. 프로비저닝된 ML 환경은 여러분의 팀원들이 보안적으로 안전하고 확장 가능하며 안정적으로 데이터와 ML 자산에 액세스하고 ML 모델을 트레이닝하고 빌드할 수 있도록 지원합니다.

앞으로 더 많은 데이터 및 머신러닝 거버넌스 블로그 포스팅을 기대해 주세요.

Sung-il Kim

Sung-il Kim

김성일 Sr Analytics Specialist SA는 데이터 엔지니어와 소프트웨어 엔지니어로 다양한 서비스를 설계하고 개발을 경험하였습니다. 현재는 아마존 웹서비스(AWS)에서 분석 서비스를 잘 활용할 수 있도록 엔터프라이즈 고객을 대상으로 기술적인 도움을 드리고 있습니다.