6단계. 파이프라인 확장 - AWS 규범적 지침

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

6단계. 파이프라인 확장

이 가이드에서는 구체적인 아키텍처를 사용하여 AWS에 ML 파이프라인 구축을 빠르게 시작하는 방법을 설명합니다. 파이프라인 성숙을 위한 추가 고려 사항(예: 메타데이터 관리, 실험 추적, 모니터링) 이 있습니다. 이러한 주제는 이 설명서에서는 다루지 않습니다. 다음 섹션에서는 파이프라인 관리의 또 다른 측면인 파이프라인 자동화에 대해 설명합니다.

다양한 수준의 자동화

SageMaker 콘솔에서 교육 파이프라인을 수동으로 설정할 수 있지만, 실제로는 ML 모델이 일관되고 반복적으로 배포되도록 하기 위해 ML 교육 파이프라인 배포 시 수동 접점을 최소화하는 것이 좋습니다. 요구 사항과 해결하려는 비즈니스 문제에 따라 반자동, 완전 자동화, 완전 관리형의 세 가지 수준에서 배포 전략을 결정하고 구현할 수 있습니다.

  • 반자동 — 이전 섹션에서 설명한 단계는 AWS CloudFormation 템플릿을 사용하여 교육 및 추론 파이프라인을 배포하므로 기본적으로 반자동 접근 방식을 따릅니다. 이렇게 하면 파이프라인의 재현성을 보장하고 쉽게 변경하고 업데이트할 수 있습니다.

  • 완전 자동화 — 고급 옵션은 개발, 스테이징 및 프로덕션 환경에 지속적 통합 및 지속적 배포(CI/CD)를 사용하는 것입니다. 교육 파이프라인 배포에 CI/CD 관행을 통합하면 자동화에 품질 게이트뿐 아니라 추적성도 포함되도록 할 수 있습니다.

  • 완전 관리형 — 궁극적으로는 간단한 매니페스트 세트를 사용하여 ML 교육 파이프라인을 배포하고 시스템에서 필요한 AWS 서비스를 자체 구성 및 조정할 수 있는 완전 관리형 시스템을 개발할 수 있습니다.

이 가이드에서는 구체적인 아키텍처를 제시하기로 했습니다. 하지만 몇 가지 대체 기술을 고려합니다. 다음 두 섹션에서는 플랫폼 및 오케스트레이션 엔진을 위한 몇 가지 대체 옵션에 대해 설명합니다.

ML 워크로드를 위한 다양한 플랫폼

Amazon SageMaker는 ML 모델 교육 및 서비스를 위한 AWS 관리형 서비스입니다. 많은 사용자가 다양한 내장 기능과 ML 워크로드 실행을 위해 제공하는 다양한 옵션을 높이 평가합니다. SageMaker는 클라우드에서 ML을 구현하기 시작한 지 얼마 되지 않은 경우 특히 유용합니다. SageMaker의 주요 기능은 다음과 같습니다.

  • 내장된 추적 기능(라벨링, 교육, 모델 추적, 최적화 및 추론 포함).

  • 최소한의 Python 및 ML 경험으로 학습 및 추론을 위한 원클릭 옵션이 내장되어 있습니다.

  • 고급 하이퍼파라미터 조정.

  • 모든 주요 인공 지능 및 기계 학습 (ML/AI) 프레임워크와 사용자 지정 Docker 컨테이너를 지원합니다.

  • 기본 설정 모니터링

  • 교육 작업, 처리 작업, 일괄 변환 작업, 모델, 엔드포인트, 검색 기능을 포함한 기록 추적 기능이 내장되어 있습니다. 학습, 처리, 배치 변환과 같은 일부 기록은 변경할 수 없으며 추가만 가능합니다.

SageMaker를 사용할 수 있는 대안 중 하나는 AWS Batch입니다. AWS Batch은(는) 사용자 환경의 컴퓨팅 및 오케스트레이션에 대한 더 낮은 수준의 제어를 제공하지만 기계 학습용으로 맞춤 구축되지는 않습니다. 주요 기능 중 일부는 다음과 같습니다.

  • 워크로드에 따라 컴퓨팅 리소스를 즉시 자동으로 확장할 수 있습니다.

  • 작업 우선 순위, 재시도 및 작업 종속성에 대한 기본 지원.

  • 반복 작업 및 온디맨드 작업 생성을 지원하는 대기열 기반 접근 방식.

  • CPU 및 GPU 워크로드 지원 ML 모델 구축에 GPU를 사용하는 기능은 매우 중요합니다. 특히 딥 러닝 모델의 경우 GPU를 사용하면 학습 프로세스의 속도를 크게 높일 수 있기 때문입니다.

  • 컴퓨팅 환경을 위한 사용자 지정 Amazon Machine Image(AMI)를 정의할 수 있습니다.

파이프라인 오케스트레이션을 위한 다양한 엔진

두 번째 주요 구성 요소는 파이프라인 오케스트레이션 레이어입니다. AWS은(는) 완전 관리형 오케스트레이션 환경을 위한 Step Functions를 제공합니다. Step Functions의 인기 있는 대안은 아파치 에어플로우입니다. 둘 사이에서 결정을 내릴 때 다음 사항을 고려합니다.

  • 필수 인프라 ㅡ AWS Step Functions은(는) 완전 관리형 서비스이며 서버리스인 반면, Airflow는 자체 인프라 관리가 필요하며 오픈 소스 소프트웨어를 기반으로 합니다. 따라서 Step Functions는 기본적으로 고가용성을 제공하는 반면 Apache Airflow를 관리하려면 추가 단계가 필요합니다.

  • 스케줄링 기능 — Step Functions와 Airflow는 모두 비슷한 기능을 제공합니다.

  • 시각화 기능 및 UI — Step Functions와 Airflow는 모두 비슷한 기능을 제공합니다.

  • 계산 그래프 내에서 변수 전달 — Step Functions는 AWS Lambda 함수 사용을 위한 제한된 기능을 제공하는 반면 Airflow는 XCom 인터페이스를 제공합니다.

  • 사용법 — Step Functions는 AWS 고객들 사이에서 매우 인기가 있으며 Airflow는 데이터 엔지니어링 커뮤니티에서 널리 채택되었습니다.