콘텐츠 도메인 3: ML 워크플로의 배포 및 오케스트레이션 - AWS Certified Machine Learning Engineer

콘텐츠 도메인 3: ML 워크플로의 배포 및 오케스트레이션

작업 3.1: 기존 아키텍처 및 요구 사항에 따라 배포 인프라를 선택합니다.

관련 지식:

  • 배포 모범 사례(예: 버전 관리, 롤백 전략)

  • AWS 배포 서비스(예: Amazon SageMaker AI)

  • ML 모델을 실시간 및 배치로 처리하는 방법

  • 프로덕션 환경 및 테스트 환경(예: CPU, GPU)에서 컴퓨팅 리소스를 프로비저닝하는 방법

  • 배포 엔드포인트에 대한 모델 및 엔드포인트 요구 사항(예: 서버리스 엔드포인트, 실시간 엔드포인트, 비동기 엔드포인트, 배치 추론)

  • 적절한 컨테이너를 선택하는 방법(예: 제공 또는 사용자 지정)

  • 엣지 디바이스에서 모델을 최적화하는 방법(예: SageMaker Neo)

관련 기술:

  • 성능, 비용, 지연 시간 절충점 평가

  • 요구 사항(예: GPU 또는 CPU 사양, 프로세서 제품군, 네트워킹 대역폭)에 따라 훈련 및 추론에 적합한 컴퓨팅 환경 선택

  • 올바른 배포 오케스트레이터 선택(예: Apache Airflow, SageMaker Pipelines)

  • 다중 모델 또는 다중 컨테이너 배포 선택

  • 올바른 배포 대상 선택(예: SageMaker AI 엔드포인트, Kubernetes, Amazon Elastic Container Service(Amazon ECS), Amazon Elastic Kubernetes Service(Amazon EKS), AWS Lambda)

  • 모델 배포 전략 선택(예: 실시간, 배치 처리)

작업 3.2: 기존 아키텍처 및 요구 사항을 기반으로 인프라 만들기 및 스크립팅

관련 지식:

  • 온디맨드 리소스와 프로비저닝된 리소스의 차이점

  • 스케일링 정책을 비교하는 방법

  • 코드형 인프라(IaC) 옵션의 절충점 및 사용 사례(예: AWS CloudFormation, AWS Cloud Development Kit(AWS CDK))

  • 컨테이너화 개념과 AWS 컨테이너 서비스

  • 확장성 요구 사항(예: 수요, 시간 기준)을 충족하기 위해 SageMaker AI 엔드포인트 오토 스케일링 정책을 사용하는 방법

관련 기술:

  • 모범 사례를 적용하여 유지 관리 가능하고 확장 가능하며 비용 효율적인 ML 솔루션 지원(예: SageMaker AI 엔드포인트에서 오토 스케일링, Amazon EC2 인스턴스 사용, 엔드포인트 뒤에서 Lambda 사용으로 스팟 인스턴스 동적 추가)

  • 스택 간 통신을 포함한 컴퓨팅 리소스 프로비저닝 자동화(예: CloudFormation, AWS CDK 사용)

  • 컨테이너 구축 및 유지 관리(예: Amazon Elastic Container Registry(Amazon ECR), Amazon EKS, Amazon ECS, SageMaker AI와 함께 BYOC(Bring Your Own Container) 사용)

  • VPC 네트워크 내에서 SageMaker AI 엔드포인트 구성

  • SageMaker AI SDK를 사용하여 모델 배포 및 호스팅

  • 오토 스케일링을 위한 특정 지표 선택(예: 모델 지연 시간, CPU 사용률, 인스턴스당 호출 수)

작업 3.3: 자동화된 오케스트레이션 도구를 사용하여 지속적 통합 및 지속적 전달(CI/CD) 파이프라인 설정

관련 지식:

  • AWS CodePipeline, AWS CodeBuild 및 AWS CodeDeploy의 기능 및 할당량

  • 데이터 수집 자동화 및 오케스트레이션 서비스와의 통합

  • 버전 관리 시스템 및 기본 사용법(예: Git)

  • CI/CD 원칙과 이를 ML 워크플로에 적용하는 방법

  • 배포 전략 및 롤백 작업(예: 블루/그린 배포, canary, 선형)

  • 코드 리포지토리와 파이프라인이 함께 작동하는 방식

관련 기술:

  • 단계를 포함한 CodeBuild, CodeDeploy 및 CodePipeline 구성 및 문제 해결

  • 지속적 배포 흐름 구조를 적용하여 파이프라인 호출(예: Gitflow, GitHub Flow)

  • AWS 서비스를 사용하여 오케스트레이션 자동화(예: ML 모델 배포, 모델 구축 자동화)

  • 훈련 및 추론 작업 구성(예: Amazon EventBridge 규칙, SageMaker Pipelines, CodePipeline 사용)

  • CI/CD 파이프라인에서 자동화된 테스트 만들기(예: 통합 테스트, 단위 테스트, 엔드투엔드 테스트)

  • 모델 재훈련을 위한 메커니즘 구축 및 통합