콘텐츠 도메인 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 파이프라인에서 자동화된 테스트 만들기(예: 통합 테스트, 단위 테스트, 엔드투엔드 테스트)
모델 재훈련을 위한 메커니즘 구축 및 통합