Amazon SageMaker Studio 노트북을 예약된 노트북 작업 PlatoBlockchain Data Intelligence로 운영합니다. 수직 검색. 일체 포함.

예약된 노트북 작업으로 Amazon SageMaker Studio 노트북 운영

아마존 세이지 메이커 스튜디오 데이터 과학자가 기계 학습(ML) 모델을 대화형으로 구축, 교육 및 배포할 수 있는 완전 관리형 솔루션을 제공합니다. 대화형 ML 경험 외에도 데이터 작업자는 코드를 Python 모듈로 리팩터링하거나 배포 인프라를 자동화하기 위한 DevOps 도구 및 모범 사례를 배울 필요 없이 노트북을 임시 작업으로 실행하는 솔루션을 찾고 있습니다. 이를 위한 몇 가지 일반적인 사용 사례는 다음과 같습니다.

  • 정기적으로 모델 추론을 실행하여 보고서 생성
  • 소규모 인스턴스의 데이터 하위 집합에 대해 Studio에서 테스트한 후 기능 엔지니어링 단계 확장
  • 일부 케이던스에서 모델 재교육 및 배포
  • 팀 분석 아마존 세이지 메이커 규칙적인 주기로 사용

이전에는 데이터 과학자가 노트북에서 대화형으로 작성한 코드를 가져와 배치 작업으로 실행하려고 할 때 다음을 사용하여 가파른 학습 곡선에 직면했습니다. Amazon SageMaker 파이프 라인, AWS 람다, 아마존 이벤트 브리지다른 솔루션 설정, 사용 및 관리가 어렵습니다.

SageMaker 노트북 작업, 이제 SageMaker Studio에서 몇 번의 클릭만으로 노트북을 있는 그대로 또는 매개변수화된 방식으로 실행할 수 있습니다 SageMaker 스튜디오 랩 상호 작용. 일정에 따라 또는 즉시 이러한 노트북을 실행할 수 있습니다. 최종 사용자가 기존 노트북 코드를 수정할 필요가 없습니다. 작업이 완료되면 시각화를 포함하여 채워진 노트북 셀을 볼 수 있습니다!

이 게시물에서는 SageMaker Studio 노트북을 예약된 노트북 작업으로 운영하는 방법을 공유합니다.

솔루션 개요

다음 다이어그램은 솔루션 아키텍처를 보여줍니다. 사전 설치된 SageMaker 확장을 활용하여 노트북을 즉시 또는 일정에 따라 작업으로 실행합니다.

다음 섹션에서는 노트북을 만들고, 셀을 매개 변수화하고, 추가 옵션을 사용자 지정하고, 작업을 예약하는 단계를 안내합니다. 샘플 사용 사례도 포함되어 있습니다.

사전 조건

SageMaker 노트북 작업을 사용하려면 Studio 내에서 JupyterLab 3 JupyterServer 앱을 실행해야 합니다. JupyterLab 3으로 업그레이드하는 방법에 대한 자세한 내용은 다음을 참조하십시오. 콘솔에서 앱의 JupyterLab 버전 보기 및 업데이트. 꼭 SageMaker Studio 종료 및 업데이트 최신 업데이트를 선택하기 위해.

일정에 따라 노트북을 실행하는 작업 정의를 정의하려면 SageMaker 실행 역할에 추가 권한을 추가해야 할 수 있습니다.

먼저 SageMaker 실행 역할에 신뢰 관계를 추가합니다. events.amazonaws.com 귀하의 역할을 맡으려면:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "sagemaker.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        },
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "events.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

또한 실행 역할에 인라인 정책을 생성하고 연결해야 할 수도 있습니다. 아래 정책은 매우 허용적인 정책을 보완합니다. AmazonSageMakerFullAccess 정책. 완전하고 최소한의 권한 세트는 다음을 참조하십시오. 정책 및 권한 설치.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "events:TagResource",
                "events:DeleteRule",
                "events:PutTargets",
                "events:DescribeRule",
                "events:PutRule",
                "events:RemoveTargets",
                "events:DisableRule",
                "events:EnableRule"
            ],
            "Resource": "*",
            "Condition": {
              "StringEquals": {
                "aws:ResourceTag/sagemaker:is-scheduling-notebook-job": "true"
              }
            }
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::*:role/*",
            "Condition": {
                "StringLike": {
                    "iam:PassedToService": "events.amazonaws.com"
                }
            }
        },
        {
            "Sid": "VisualEditor2",
            "Effect": "Allow",
            "Action": "sagemaker:ListTags",
            "Resource": "arn:aws:sagemaker:*:*:user-profile/*/*"
        }
    ]
}

노트북 작업 만들기

노트북을 SageMaker 노트북 작업으로 운영하려면 다음을 선택합니다. 노트북 작업 만들기 아이콘.

Amazon SageMaker Studio 노트북을 예약된 노트북 작업 PlatoBlockchain Data Intelligence로 운영합니다. 수직 검색. 일체 포함.

또는 파일 시스템에서 노트북을 선택(마우스 오른쪽 버튼으로 클릭)하고 노트북 작업 생성.

Amazon SageMaker Studio 노트북을 예약된 노트북 작업 PlatoBlockchain Data Intelligence로 운영합니다. 수직 검색. 일체 포함.

. 직업 만들기 섹션에서 워크로드에 따라 예약된 작업에 적합한 인스턴스 유형(표준 인스턴스, 컴퓨팅 최적화 인스턴스 또는 GPU가 포함된 가속 컴퓨팅 인스턴스)을 선택하기만 하면 됩니다. SageMaker 교육 작업에 사용 가능한 모든 인스턴스를 선택할 수 있습니다. 사용 가능한 전체 인스턴스 목록은 다음을 참조하십시오. Amazon SageMaker 요금.

Amazon SageMaker Studio 노트북을 예약된 노트북 작업 PlatoBlockchain Data Intelligence로 운영합니다. 수직 검색. 일체 포함.

작업이 완료되면 채워진 셀이 있는 출력 노트북 파일과 작업 실행의 기본 로그를 볼 수 있습니다.

Amazon SageMaker Studio 노트북을 예약된 노트북 작업 PlatoBlockchain Data Intelligence로 운영합니다. 수직 검색. 일체 포함.

셀 매개변수화

노트북을 프로덕션 워크플로로 옮길 때 모듈화를 위해 다른 매개 변수 세트와 함께 동일한 노트북을 재사용할 수 있는 것이 중요합니다. 예를 들어 데이터세트 위치 또는 모델의 하이퍼파라미터를 매개변수화하여 여러 개별 모델 교육에 동일한 노트북을 재사용할 수 있습니다. SageMaker 노트북 작업은 셀 태그를 통해 이를 지원합니다. 오른쪽 창에서 이중 기어 아이콘을 선택하고 태그 추가. 그런 다음 태그에 매개변수로 레이블을 지정합니다.

Amazon SageMaker Studio 노트북을 예약된 노트북 작업 PlatoBlockchain Data Intelligence로 운영합니다. 수직 검색. 일체 포함.

기본적으로 노트북 작업 실행은 노트북에 지정된 매개 변수 값을 사용하지만 노트북 작업에 대한 구성으로 이를 수정할 수도 있습니다.

Amazon SageMaker Studio 노트북을 예약된 노트북 작업 PlatoBlockchain Data Intelligence로 운영합니다. 수직 검색. 일체 포함.

추가 옵션 구성

노트북 작업을 생성할 때 다음을 확장할 수 있습니다. 추가 옵션 작업 정의를 사용자 정의하기 위한 섹션. Studio는 노트북에서 사용 중인 이미지나 커널을 자동으로 감지하고 미리 선택합니다. 이 선택을 확인했는지 확인하십시오.

환경 변수 또는 시작 스크립트를 지정하여 노트북 실행 환경을 사용자 지정할 수도 있습니다. 전체 구성 목록은 다음을 참조하십시오. 추가 옵션.

작업 일정 잡기

작업을 예약하려면 다음을 선택하십시오. 일정에 따라 실행 적절한 간격과 시간을 설정하십시오. 그런 다음 다음을 선택할 수 있습니다. 노트북 작업 홈 아이콘을 선택한 후 표시되는 탭입니다. 노트북이 로드된 후 다음을 선택합니다. 노트북 작업 정의 일정을 일시 중지하거나 제거하려면 탭하십시오.

Amazon SageMaker Studio 노트북을 예약된 노트북 작업 PlatoBlockchain Data Intelligence로 운영합니다. 수직 검색. 일체 포함.

사용 사례 예시

예를 들어 우리는 Ground Truth 소스에서 데이터를 준비하고 해당 기간에서 새로 고친 모델을 교육한 다음 가장 최근 데이터에 대한 추론을 실행하여 실행 가능한 통찰력을 생성하는 엔드 투 엔드 ML 워크플로를 보여줍니다. 실제로는 전체 종단 간 워크플로를 실행하거나 워크플로의 한 단계만 운영할 수 있습니다. 예약할 수 있습니다 AWS 접착제 대화식 세션 일일 데이터 준비를 위해 또는 출력 노트북에서 직접 그래픽 결과를 생성하는 일괄 추론 작업을 실행합니다.

이 예제의 전체 노트북은 다음에서 찾을 수 있습니다. SageMaker 예제 GitHub 리포지토리. 사용 사례는 우리가 사용 가능한 가장 최근 데이터로 훈련된 모델을 기반으로 가능한 고객 이탈을 예측하는 노트북을 예약하려는 통신 회사라고 가정합니다.

시작하려면 가장 최근에 사용 가능한 고객 데이터를 수집하고 일부 전처리를 수행합니다.

import pandas as pd
from synthetic_data import generate_data

previous_two_weeks_data = generate_data(5000, label_known=True)
todays_data = generate_data(300, label_known=False)

processed_prior_data = process_data(previous_two_weeks_data, label_known=True)
processed_todays_data = process_data(todays_data, label_known=False)

정확한 예측을 위해 이 업데이트된 학습 데이터에 대해 새로 고친 모델을 학습합니다. todays_data:

import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import f1_score, confusion_matrix, ConfusionMatrixDisplay

y = np.ravel(processed_prior_data[["Churn"]])
x = processed_prior_data.drop(["Churn"], axis=1)

x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.25)

clf = RandomForestClassifier(n_estimators=int(number_rf_estimators), criterion="gini")
clf.fit(x_train, y_train)

이 노트북을 일일 보고서로 예약할 것이기 때문에 새로 고친 모델이 유효성 검사 세트에서 얼마나 좋은 성능을 보였는지 캡처하여 향후 예측에 확신을 가질 수 있기를 원합니다. 다음 스크린샷의 결과는 예정된 추론 보고서에서 가져온 것입니다.

Amazon SageMaker Studio 노트북을 예약된 노트북 작업 PlatoBlockchain Data Intelligence로 운영합니다. 수직 검색. 일체 포함.

마지막으로, 이 모델의 결과에 따라 조치를 취할 수 있도록 오늘 데이터의 예측 결과를 데이터베이스에 캡처하려고 합니다.

Amazon SageMaker Studio 노트북을 예약된 노트북 작업 PlatoBlockchain Data Intelligence로 운영합니다. 수직 검색. 일체 포함.

노트북을 이해한 후에는 지금 실행 앞에서 설명한 옵션을 사용하거나 일정 기능을 테스트합니다.

정리

우리의 예를 따랐다면 지속적인 비용이 발생하지 않도록 노트북 작업 일정을 일시 중지하거나 삭제해야 합니다.

결론

SageMaker 노트북 작업을 통해 노트북을 프로덕션으로 가져오면 데이터 작업자가 요구하는 획일적이고 힘든 작업을 크게 단순화할 수 있습니다. 종단 간 ML 워크플로를 예약하든 퍼즐 조각을 예약하든 SageMaker Studio 또는 SageMaker Studio Lab을 사용하여 일부 노트북을 프로덕션에 배치하는 것이 좋습니다! 자세한 내용은 다음을 참조하십시오. 노트북 기반 워크플로.


저자 소개

션 모건션 모건 AWS의 선임 ML 솔루션 아키텍트입니다. 그는 반도체 및 학술 연구 분야에서 경험이 있으며 자신의 경험을 사용하여 고객이 AWS에서 목표를 달성할 수 있도록 돕습니다. 여가 시간에 Sean은 활성화된 오픈 소스 기고자/관리자이며 TensorFlow Addons의 특별 이익 그룹 리더입니다.

Amazon SageMaker Studio 노트북을 예약된 노트북 작업 PlatoBlockchain Data Intelligence로 운영합니다. 수직 검색. 일체 포함.수메다 스와미 Amazon Web Services의 수석 제품 관리자입니다. 그는 SageMaker Studio 팀을 이끌고 대화형 데이터 과학 및 데이터 엔지니어링 워크플로를 위해 선택한 IDE에 IDE를 구축합니다. 그는 지난 15년 동안 기계 학습을 사용하여 고객 중심의 소비자 및 기업 제품을 구축했습니다. 여가 시간에는 미국 남서부의 놀라운 지질학 사진을 찍는 것을 좋아합니다.

Amazon SageMaker Studio 노트북을 예약된 노트북 작업 PlatoBlockchain Data Intelligence로 운영합니다. 수직 검색. 일체 포함.에드워드 선 Amazon Web Services의 SageMaker Studio에서 근무하는 선임 SDE입니다. 그는 SageMaker Studio를 데이터 엔지니어링 및 ML 에코시스템의 인기 있는 기술과 통합하기 위해 대화형 ML 솔루션을 구축하고 고객 경험을 단순화하는 데 주력하고 있습니다. 여가 시간에 Edward는 캠핑, 하이킹, 낚시를 좋아하며 가족과 함께 보내는 시간을 즐깁니다.

타임 스탬프 :

더보기 AWS 기계 학습