ML pipeline project (v2.0.2)

이 모듈에서는 Airflow를 사용하여 기계 학습(ML) 워크플로우 또는 파이프라인을 개발하는 방법을 배웁니다. ML 워크플로우는 데이터 수집, 변환, 학습, 테스트 및 ML 모델 평가와 같은 일련의 작업을 수행하여 비즈니스 결과를 달성합니다.

비즈니스 요구 사항: 뉴욕시에서 택시 이용 요금을 예측하는 모델을 구축합니다.

이 실습에서는 “NYC taxi ride” 데이터를 사용하며 워크샵 초기에 구축 한 Airflow v2.0.2 환경을 사용할 것입니다. 만약 Airflow 환경이 준비되어 있지 않다면 워크샵 2번3번을 먼저 완료하고 진행 하십시오.

Solution

ML 워크플로우는 먼저 데이터를 탐색하고 데이터를 변환하여 모델 학습의 사용 할 데이터 세트를 준비합니다. 모델 학습은 Amazon SageMaker 학습 클러스터를 사용하여 모델을 피팅합니다. 그런 다음 테스트 데이터 세트에 대한 일괄 예측을 수행하기 위해 Sagemaker 엔드포인트에 배포합니다. 이러한 모든 작업은 Amazon SageMaker와 Managed Airflow 서비스와 통합을 통해 오케스트레이션 및 자동화할 수 있는 워크플로우로 구축됩니다.

아래 다이어그램은 본 실습에서 구현할 ML 워크플로우를 보여줍니다. mlworkflow

워크플로우는 다음 작업을 수행합니다.

  1. 데이터 전처리: Amazon S3에서 데이터를 추출 및 사전 처리하여 학습 데이터를 준비합니다.
  2. 모델 학습: 학습 데이터로 Amazon SageMaker에 내장 된 XG-Boost ML 모델을 학습시키고 모델 아티팩트를 생성합니다. 학습 작업은 Airflow 운영자에 의해 시작됩니다.
  3. 하이퍼파라미터 튜닝: XGBoost의 하이퍼파라미터를 조정하여 최상의 모델을 찾는 선택적 작업입니다. HPO(하이퍼파라미터 최적화) 작업은 Airflow 운영자에 의해 시작됩니다.
  4. 배치 추론: 학습 된 모델을 사용하여 Amazon S3에 저장된 테스트 데이터 세트에 대한 추론을 생성합니다.

Airflow Amazon SageMaker operators

Amazon SageMaker Operators는 Airflow에서 사용 가능하고 SageMaker와 통신하여 다음 ML 작업을 수행할 수 있습니다.

  • SageMakerTrainingOperator: Amazon SageMaker 알고리즘 학습 작업을 생성합니다.
  • SageMakerTuningOperator: AmazonSageMaker 하이퍼파라미터 튜닝 작업을 생성합니다.
  • SageMakerTransformOperator: Amazon SageMaker 배치 추론 작업을 생성합니다.
  • SageMakerModelOperator: Amazon SageMaker 모델을 생성합니다.
  • SageMakerEndpointConfigOperator: Amazon SageMaker 엔드포인트 구성을 생성합니다.
  • SageMakerEndpointOperator: 추론 API 호출을 수행하기 위해 Amazon SageMaker 엔드포인트를 생성합니다.

이 배경 지식을 바탕으로 Airflow에서 ML 워크플로우를 개발 해 볼텐데 실습은 다음 모듈 순서대로 진행 해야 합니다: