T
TechInsights
목록으로
BackEnd•2022. 12. 08.

[if kakao 2022] ML 모델 학습 파이프라인 설계 (feat. MLOps 플랫폼)

카카오 페이
카카오 페이 Engineering Team
[if kakao 2022] ML 모델 학습 파이프라인 설계 (feat. MLOps 플랫폼)

핵심요약

원문 보기

카카오페이는 AWS 기반 MLOps 플랫폼을 구축하여 ML 모델 개발 및 배포의 복잡성을 해결하고 효율성을 높였습니다. 특히 AWS Step Functions를 활용한 모델 학습 파이프라인과 SageMaker Model Registry를 통한 모델 관리에 중점을 두어, 모델의 지속적인 재학습과 배포 프로세스를 자동화했습니다.

카카오페이 MLOps: AWS 기반 모델 학습 파이프라인 구축

MLOps 플랫폼 도입 배경 및 핵심 컴포넌트

  • 기존 ML 모델 서빙은 서빙 서버 및 피처 테이블의 중복 개발과 운영 복잡성을 야기하여 개발자와 데이터 사이언티스트의 리소스 소모가 컸습니다.
  • 카카오페이는 모델 학습부터 관리, 서빙까지 표준화된 MLOps 플랫폼을 구축하여 개발 효율성을 증대하고 개발 부채를 해소하는 것을 목표로 합니다.
  • 주요 컴포넌트는 피처 스토어, 모델 학습 파이프라인, 모델 서빙으로 구성되며, 본 문서에서는 모델 학습 파이프라인에 초점을 맞춥니다.
  • 모델 학습 파이프라인은 Data Drift 및 Concept Drift에 대응하여 모델의 지속적인 재학습과 업데이트를 자동화하는 역할을 수행합니다.

모델 학습 Workflow 및 레지스트리 플랫폼 선정

  • Workflow 플랫폼 비교: Airflow, AWS SageMaker Pipelines, AWS Step Functions를 비교 후, ML Workflow에 최적화된 유연성과 템플릿화 용이성을 제공하는 AWS Step Functions를 채택했습니다.
  • 모델 레지스트리 비교: MLFlow와 AWS SageMaker Model Registry를 비교 후, 서비스 형태로 Metric 저장, 버전 관리, 아티팩트 관리가 용이한 AWS SageMaker Model Registry를 선택했습니다.
  • 구성: 모델 학습 Workflow는 데이터 전처리 -> 모델 학습 -> 모델 평가 -> 모델 저장 과정을 거치며, 학습된 모델은 모델 레지스트리에 등록되어 모델 산출물 관리 및 버전 관리가 이루어집니다.

AWS Step Functions 기반 모델 학습 파이프라인 구현

  • Workflow 템플릿: Python SDK를 사용하여 AWS Step Functions Workflow를 템플릿화함으로써, 데이터 사이언티스트는 모델 코드와 설정 파라미터만으로 Workflow를 구축할 수 있습니다.
  • 주요 Step: Data Preprocessing, Model Training, Model Evaluation (평가 결과를 S3에 저장), Save Model (모델 성능이 일정 수준 이상일 경우 SageMaker Model Registry에 등록)으로 구성됩니다.
  • 실행 로그 관리: AWS CloudWatch Logs에 Step Functions 실행 로그를 저장하고 CloudWatch Logs Insight로 조회 가능하며, 비용 절감을 위해 AWS S3로 로그를 통합 저장 및 관리합니다.
  • 모델/평가 기록 확인: AWS SageMaker Training jobs 및 Processing jobs에서 각 Step의 실행 로그를 확인하며, AWS SageMaker Model Registry에서 모델 아티팩트 경로와 성능 Metric을 검증합니다.

모델 학습 파이프라인 배포 프로세스

  • 코드 푸시: 데이터 사이언티스트가 train.py, preprocessing.py, evaluation.py 및 config.yaml을 Git 저장소에 push합니다.
  • S3 배포: Jenkins가 Git 저장소의 파일을 AWS S3로 배포합니다.
  • Workflow 트리거: AWS S3 PUT 이벤트를 AWS Lambda가 감지하여 트리거되며, config.yaml에 정의된 값으로 AWS Step Functions Workflow를 생성하고 실행합니다.
  • 모델 승인 및 배포 준비: Step Functions 실행 후 SageMaker Model Registry에 모델이 저장되면, 데이터 사이언티스트와 승인권자가 평가 Metric을 확인하고 Approve하여 모델 상태를 "Approved"로 변경합니다.
  • 모델 서빙 연동: 최종적으로 Approved된 모델은 AWS SageMaker Model Registry에서 다운로드되어 모델 서빙 시스템으로 배포됩니다.
#BackEnd#Architecture#AI#Infra
카카오 페이
카카오 페이

카카오 페이 Engineering Team

기술 인사이트를 전달하는 공식 채널

You might also like

View all
토스 피플 : 새로운 길을 만들 땐 내 선택을 믿는다

토스 피플 : 새로운 길을 만들 땐 내 선택을 믿는다

"이 버튼 왜 안 눌려요?" 물류 현장의 목소리로 PDA 시스템 완성하기

"이 버튼 왜 안 눌려요?" 물류 현장의 목소리로 PDA 시스템 완성하기