기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
SageMaker Kubeflow 파이프라인 구성 요소
Kubeflow 파이프라인용 SageMaker 구성 요소를 사용하면 Kubeflow 파이프라인에서 네이티브 SageMaker 훈련, 튜닝, 엔드포인트 배포 및 배치 변환 작업을 생성하고 모니터링할 수 있습니다. 에서 Kubeflow Pipeline 작업을 실행하면 데이터 처리 및 훈련 작업을 Kubernetes 클러스터에서 SageMaker의 기계 학습 최적화 관리형 서비스로 SageMaker이동합니다. 이 설명서에서는 Kubernetes와 Kubeflow에 대한 사전 지식이 있다고 가정합니다.
내용
Kubeflow 파이프라인이란 무엇인가요?
Kubeflow Pipelines(KFP)는 Docker 컨테이너를 기반으로 휴대용, 확장 가능한 기계 학습(ML) 워크플로를 구축하고 배포하기 위한 플랫폼입니다. Kubeflow 파이프라인 플랫폼은 다음과 같은 요소로 구성됩니다.
-
실험, 작업, 실행을 관리하고 추적하기 위한 사용자 인터페이스(UI).
-
다단계 ML 워크플로를 스케줄링하기 위한 엔진(Argo).
-
파이프라인 및 구성 요소를 정의하고 조작하기 SDK 위한 입니다.
-
를 사용하여 시스템과 상호 작용하기 위한 노트북입니다SDK.
파이프라인은 방향성 비순환 그래프
Kubeflow 파이프라인에 대한 자세한 내용은 Kubeflow 파이프라인 설명서
Kubeflow 파이프라인 구성 요소란 무엇인가요?
Kubeflow 파이프라인 구성 요소는 Kubeflow 파이프라인의 한 단계를 실행하는 데 사용되는 코드 세트입니다. 구성 요소는 도커 이미지에 내장된 Python 모듈로 표시됩니다. 파이프라인이 실행되면 Kubeflow를 실행하는 Kubernetes 클러스터의 작업자 노드 중 하나에서 구성 요소의 컨테이너가 인스턴스화되고 로직이 실행됩니다. 파이프라인 구성 요소는 이전 구성 요소의 출력을 읽고 파이프라인의 다음 구성 요소가 사용할 수 있는 출력을 생성할 수 있습니다. 이러한 구성 요소를 사용하면 기본 Kubernetes 인프라와 상호 작용할 필요 없이 실험 및 프로덕션 환경을 위한 파이프라인을 빠르고 쉽게 작성할 수 있습니다.
Kubeflow 파이프라인에서 SageMaker 구성 요소를 사용할 수 있습니다. 사용자 지정 컨테이너에 로직을 캡슐화하는 대신 구성 요소를 로드하고 Kubeflow 파이프라인을 사용하여 파이프라인을 설명하면 됩니다SDK. 파이프라인이 실행되면 지침이 SageMaker 작업 또는 배포로 변환됩니다. 그런 다음 워크로드는 의 완전 관리형 인프라에서 실행됩니다 SageMaker.
Kubeflow 파이프라인에 구성 SageMaker 요소를 사용하는 이유는 무엇입니까?
SageMaker Kubeflow 파이프라인용 구성 요소는 에서 컴퓨팅 집약적 작업을 시작하는 대안을 제공합니다 SageMaker. 구성 요소는 Kubeflow 파이프라인의 이식성 및 오케스트레이션 SageMaker 과 통합됩니다. Kubeflow 파이프라인용 SageMaker 구성 요소를 사용하면 Kubeflow 파이프라인 워크플로의 일부로 SageMaker 리소스를 생성하고 모니터링할 수 있습니다. 파이프라인의 각 작업은 로컬 Kubernetes 클러스터 SageMaker 대신 에서 실행되므로 데이터 레이블 지정, 대규모 하이퍼파라미터 튜닝 및 분산 훈련 작업, 원클릭 안전하고 확장 가능한 모델 배포와 같은 주요 SageMaker 기능을 활용할 수 있습니다. 의 작업 파라미터, 상태, 로그 및 출력 SageMaker 은 Kubeflow 파이프라인 UI에서 계속 액세스할 수 있습니다.
구성 SageMaker 요소는 데이터 준비부터 ML 모델 구축, 훈련 및 배포에 이르기까지 주요 SageMaker 기능을 ML 워크플로에 통합합니다. 이러한 구성 요소를 사용하여 완전히 빌드된 Kubeflow 파이프라인을 만들거나 필요에 따라 개별 구성 요소를 워크플로에 통합할 수 있습니다. 구성 요소는 하나 또는 두 가지 버전으로 제공됩니다. 구성 요소의 각 버전은 서로 다른 백엔드를 활용합니다. 이러한 버전에 대한 자세한 내용은 SageMaker Kubeflow 파이프라인 버전 구성 요소섹션을 참조하세요.
Kubeflow 파이프라인용 SageMaker 구성 요소를 사용하는 경우 추가 요금이 부과되지 않습니다. 이러한 구성 요소를 통해 사용하는 모든 SageMaker 리소스에 대해 요금이 부과됩니다.
SageMaker Kubeflow 파이프라인 버전 구성 요소
SageMaker Kubeflow 파이프라인의 구성 요소는 두 가지 버전으로 제공됩니다. 각 버전은 서로 다른 백엔드를 활용하여 에서 리소스를 생성하고 관리합니다 SageMaker.
-
Kubeflow 파이프라인용 SageMaker 구성 요소 버전 1(v1.x 이하)은 Boto3
(AWS SDK for Python (Boto3))를 백엔드로 사용합니다. -
Kubeflow 파이프라인용 SageMaker 구성 요소의 버전 2(v2.0.0-alpha2 이상)는 SageMaker Kubernetes용 연산자(ACK)
를 사용합니다. AWS 는 AWS 클라우드 리소스를 관리하는 Kubernetes 네이티브 방식을 용이하게 ACK
하기 위해 도입되었습니다. ACK 에는 AWS 서비스별 컨트롤러 세트가 포함되어 있으며, 그 중 하나는 컨트롤러입니다 SageMaker. SageMaker 컨트롤러는 Kubernetes를 제어 영역으로 사용하여 기계 학습 개발자와 데이터 과학자가 에서 기계 학습(ML) 모델을 훈련, 조정 및 배포하는 것을 더 쉽게 만듭니다 SageMaker. 자세한 내용은 SageMaker Kubernetes용 연산자를 참조하세요.
Kubeflow 파이프라인용 SageMaker 구성 요소의 두 버전이 모두 지원됩니다. 하지만 버전 2는 몇 가지 추가 이점을 제공합니다. 특히 다음을 제공합니다.
-
Kubeflow 파이프라인, KubernetesCLI(
kubectl
) 또는 Notebooks와 같은 기타 Kubeflow 애플리케이션을 사용하든 관계없이 모든 애플리케이션에서 SageMaker 리소스를 관리하기 위한 일관된 경험입니다. -
Kubeflow 파이프라인 워크플로 외부에서 SageMaker 리소스를 관리하고 모니터링할 수 있는 유연성.
-
SageMaker 운영자가 배포의 일부이므로 릴리스 시 전체 Kubeflow AWS
를 배포한 경우 SageMaker 구성 요소를 사용할 설정 시간이 없습니다.
Kubeflow 파이프라인의 SageMaker 구성 요소 목록
다음은 Kubeflow 파이프라인의 모든 SageMaker 구성 요소와 사용 가능한 버전 목록입니다. 또는 SageMaker 에서 Kubeflow 파이프라인의 모든 구성 요소를 GitHub
참고
사용 가능한 경우 언제든지 SageMaker 구성 요소의 버전 2를 사용하는 것이 좋습니다.
-
실측 정보
Ground Truth 구성 요소를 사용하면 Kubeflow 파이프라인 워크플로에서 직접 SageMaker Ground Truth 레이블 지정 작업을 제출할 수 있습니다.
구성 요소 버전 1 구성 요소 버전 2 X
-
작업 팀
Workteam 구성 요소를 사용하면 Kubeflow 파이프라인 워크플로에서 직접 SageMaker 프라이빗 작업팀 작업을 생성할 수 있습니다.
구성 요소 버전 1 구성 요소 버전 2 X
-
처리
처리 구성 요소를 사용하면 Kubeflow 파이프라인 워크플로에서 SageMaker 직접 에 처리 작업을 제출할 수 있습니다.
구성 요소 버전 1 구성 요소 버전 2 X
-
훈련
훈련 구성 요소를 사용하면 Kubeflow 파이프라인 워크플로에서 직접 SageMaker 훈련 작업을 제출할 수 있습니다.
구성 요소 버전 1 구성 요소 버전 2 -
하이퍼파라미터 최적화
하이퍼파라미터 최적화 구성 요소를 사용하면 Kubeflow 파이프라인 워크플로에서 SageMaker 직접 하이퍼파라미터 튜닝 작업을 제출할 수 있습니다.
구성 요소 버전 1 구성 요소 버전 2 X
-
호스팅 배포
호스팅 구성 요소를 사용하면 Kubeflow 파이프라인 워크플로의 SageMaker 호스팅 서비스를 사용하여 모델을 배포할 수 있습니다.
구성 요소 버전 1 구성 요소 버전 2 호스팅 구성 요소의 버전 2는 에서 호스팅 배포를 생성하는 데 필요한 세 가지 하위 구성 요소로 구성됩니다 SageMaker.
-
모델 아티팩트와 추론 코드가 포함된 모델 이미지 레지스트리 경로를 담당하는 모델 SageMaker Kubeflow 파이프라인 구성 요소 버전 2
입니다. -
인스턴스 유형, 모델, 인스턴스 수, 서버리스 추론 옵션과 같은 엔드포인트의 구성을 정의하는 역할을 하는 SageMaker 엔드포인트 구성 Kubeflow 파이프라인 구성 요소 버전 2
입니다. -
SageMaker 엔드포인트 구성에 지정된 대로 에서 엔드포인트를 생성하거나 업데이트할 책임이 있는 엔드포인트 Kubeflow 파이프라인 구성 요소 버전 2
입니다. SageMaker
-
-
배치 변환
배치 변환 구성 요소를 사용하면 Kubeflow 파이프라인 워크플로 SageMaker 에서 의 전체 데이터 세트에 대한 추론 작업을 실행할 수 있습니다.
구성 요소 버전 1 구성 요소 버전 2 X
-
모델 모니터
모델 모니터 구성 요소를 사용하면 Kubeflow 파이프라인 워크플로에서 프로덕션 중인 SageMaker 기계 학습 모델의 품질을 모니터링할 수 있습니다.
구성 요소 버전 1 구성 요소 버전 2 X
Model Monitor 구성 요소는 모델의 드리프트를 모니터링하기 위한 네 개의 하위 구성 요소로 구성됩니다.
-
SageMaker 데이터 품질의 드리프트 모니터링을 담당하는 데이터 품질 작업 정의 Kubeflow 파이프라인 구성 요소 버전 2
입니다. -
SageMaker 모델 품질 지표의 드리프트를 모니터링하는 모델 품질 작업 정의 Kubeflow 파이프라인 구성 요소 버전 2
입니다. -
SageMaker 모델 예측에서 편향을 모니터링하는 역할을 하는 모델 편향 작업 정의 Kubeflow 파이프라인 구성 요소 버전 2
입니다. -
특성 속성의 드리프트를 모니터링하는 SageMaker 모델 설명 가능성 작업 정의 Kubeflow 파이프라인 구성 요소 버전 2
입니다.
또한 지정된 빈도로 일정에 따라 모니터링하는 경우 다섯 번째 구성 요소인 SageMaker 모니터링 일정 Kubeflow 파이프라인 구성 요소 버전 2
는 일정에 따라 실시간 엔드포인트에서 수집된 데이터를 모니터링할 책임이 있습니다. Amazon SageMaker 모델 모니터에 대한 자세한 내용은 섹션을 참조하세요Amazon Model Monitor를 사용한 데이터 및 SageMaker 모델 품질 모니터링.
-
IAM 권한
SageMaker 구성 요소와 함께 Kubeflow 파이프라인을 배포하려면 다음과 같은 세 가지 인증 계층이 필요합니다.
-
Amazon Elastic Kubernetes Service(Amazon) 클러스터에 대한 게이트웨이 노드(로컬 시스템 또는 원격 인스턴스일 수 있음EKS) 액세스 권한을 부여하는 IAM 역할입니다.
게이트웨이 노드에 액세스하는 사용자는 다음 역할을 맡게 됩니다.
-
Amazon EKS 클러스터 생성 및 설치 KFP
-
IAM 역할 생성
-
샘플 입력 데이터를 위한 Amazon S3 버킷 생성
역할에는 다음 권한이 필요합니다.
-
CloudWatchLogsFullAccess
-
IAMFullAccess
-
AmazonS3FullAccess
-
AmazonEC2FullAccess
-
mazonEKSAdmin정책(Amazon EKS Identity-Based Policy 예제의 스키마를 사용하여 이 정책 생성)
-
-
Kubernetes 파이프라인 포드(kfp-example-pod-role) 또는 Kubernetes 컨트롤러 포드가 에 액세스하기 SageMaker 위해 맡는 Kubernetes IAM 실행 역할입니다 SageMaker. 이 역할은 Kubernetes에서 SageMaker 작업을 생성하고 모니터링하는 데 사용됩니다.
역할에는 다음 권한이 필요합니다.
-
AmazonSageMakerFullAccess
사용자 지정 정책을 생성하고 연결하여 KFP 및 컨트롤러 포드에 대한 권한을 제한할 수 있습니다.
-
-
Amazon S3 또는 AmazonECR(kfp-example-sagemaker-execution-role )과 같은 AWS 리소스에 액세스하기 위해 SageMaker 작업이 맡는 SageMaker IAM 실행 역할입니다.
SageMaker 작업은 이 역할을 사용하여 다음을 수행합니다.
-
SageMaker 리소스 액세스
-
Amazon S3에서 데이터 입력
-
출력 모델을 Amazon S3에 저장
역할에는 다음 권한이 필요합니다.
-
AmazonSageMakerFullAccess
-
AmazonS3FullAccess
-
파이프라인을 사용하도록 변환 SageMaker
일반 Python 처리 컨테이너 및 훈련 컨테이너 를 이식 SageMaker 하여 기존 파이프라인을 사용하도록 변환할 수 있습니다. 추론 SageMaker 에 를 사용하는 경우 클러스터에 IAM 권한을 연결하고 아티팩트를 모델로 변환해야 합니다.