머신러닝 파이프라인 (Machine Learning Pipeline)

I. 머신러닝 파이프라인(ML Pipeline)의 개요

가. 머신러닝 파이프라인의 개념

  • 데이터 수집부터 전처리, 학습 모델 배포, 예측까지 전과정을 순차적으로 처리하도록 설계된 머신러닝 아키텍처

나. 머신러닝 파이프라인의 필요성

머신러닝 자동화머신러닝 모델 전 과정 지속 수행 위한 파이프라인 기반 자동화
예측 정확성 향상내부 구조 이해를 통한 머신러닝 성능(예측의 정확성) 향상

 

II. 머신러닝 파이프라인의 데이터 처리 흐름과 활동

가. 머신러닝 파이프라인의 데이터 처리 흐름

나. 머신러닝 파이프라인의 처리 단계 별 주요 처리 활동

처리 단계처리 활동세부 처리 방안
데이터 수집ETL 적용– 기존 데이터 소스에서 데이터 수집
– 다운로드 데이터, 데이터 소스 추출
데이터 레이크
(Data Lake)
– 다양한 Raw 데이터 실시간 수집, 전처리, 변환, 저장
– Real-time/Batch Data, FTP, SQL/NoSQL, HDFS
데이터 준비데이터 정규화
(Normalization)
– 사용할 데이터에서 일관성 확보
K-means 클러스터링의 경우 필수
편향 분석
(Bias Analysis)
– 모델에 포함된 편향성을 찾아 제거
– 정리된 데이터의 편향성 제거 추측 금지
모델 교육하이퍼파라미터
(Hyperparameter)
적용
– 최적 딥러닝 모델 구현 위해 학습률 등 변수 설정
– 학습률, 손실함수, 정규화, 미니배치, 훈련횟수
병렬처리 (Parallelism)– 처리 성능 향상 위해 모델 분산 컴퓨팅 처리
GPGPU, MXNet, TensorFlow, Torch 프레임웍
예측 제공
(머신러닝
모델 배치)
클라우드 호스팅
머신러닝 모델 배치
– 데이터센터에 수신되는 데이터 대상 예측 생성
– RESTful API 기반 클라우드 인스턴스에서 예측 제공
클라이언트 기반
머신러닝 모델 배치
– 클라이언트에 교육된 모델 배치 후 주기적 갱신
– 낮은 대역폭, 네트워크 연결 불가 클라이언트 대상
  • 이상적인 머신러닝 파이프라인 구현을 위해 파이프라인의 모든 단계를 포괄하고 CI/CD 등 끊임 없이 완전한 오픈소스 설계 패턴 필요

 

III. 머신러닝 파이프라인의 실무 적용 방안

가. 머신러닝 파이프라인 유형에 따른 적용 방안

유형적용 방안구현 사례
머신러닝 파이프라인
기본 모델
배포, 캐싱, 코드 우선,
재사용 강조
– Kubeflow Pipeline
데이터
오케스트레이션
데이터 중심활동
강력한 데이터 이동
– Apache Airflow
지속 통합/배포
(CI/CD)
유용한 활동 지원
승인, 제어 사용, DevOps
– Jenkins

나. 효과적 머신러닝 파이프라인 적용 방안

구분적용 방안구현 사례
개발 용이성 측면프로세스 내 협업 추진– 머신러닝 디자인 프로세스의 모든 영역에서 공동작업 수행
유지관리 측면SDK 기반 버전관리, 디버깅– RESTful API 기반 파이프라인 트리거 사용, 재사용성, 추적성 확보
성과 향상 측면머신러닝 성능 품질 향상– 중요 영역 분리, 변경 내용 격리 (ISO23053 등)
  • 다양한 상용 및 오픈소스 머신러닝 파이프라인 오케스트레이션 기계 학습 플랫폼 활용
  • MS Azure Machine Learning 파이프라인, Amazon SageMaker Pipelines, Kubeflow 등

[참고]

  • InfoWorld, “Data in, intelligence out: Machine learning pipelines demystified”, 2018. 8
2 Comments

콘텐츠 사용 시 출처 표기 부탁 드리고, 댓글은 큰 힘이 됩니다^^