본문 바로가기
TIL

[TIL] MLOps / ML Pipeline

by thegreatjy 2023. 9. 9.
728x90

MLOps :

ML 시스템 개발(Dev)과 ML 시스템 운영(Ops)을 통합하는 것을 목표로 하는 ML 엔지니어링 문화 및 방식

기계 학습 모델을 빌드하고 모델을 프로덕션으로 가져오는 프로세스를 자동화

MLOps을 수행하면 통합, 테스트, 출시, 배포, 인프라 관리를 비롯하여 ML 시스템 구성의 모든 단계에서 자동화 및 모니터링을 지원할 수 있다.

ML Pipeline :

전체 기계 학습 작업을 다단계 워크플로로 분할하는 것

각 단계는 개별적으로 개발, 최적화, 구성 및 자동화할 수 있는 관리 가능한 구성 요소

ML 파이프라인은 다음과 같은 단계로 구성된다.

 

1. 데이터 추출 

2. 데이터 분석

3. 데이터 준비 : 데이터를 학습, 검증, 테스트 세트로 분할

4. 모델 학습

5. 모델 평가

6. 모델 검증

7. 모델 서빙

8. 모델 모니터링

 

Pipeline 구현 장점 :

1. MLOps 사례 표준화 및 확장 가능한 팀 협업 지원

기계 학습 파이프라인은 데이터 수집, 데이터 준비, 모델 학습, 모델 평가 및 모델 배포와 같은 프로세스를 다단계 워크플로로 추상화하여 각 팀에서 독립적으로 작업할 수 있도록 각 단계를 특정 작업에 매핑할 수 있다.

 

2. 학습 효율성 및 비용 절감

기계 학습 파이프라인을 사용하면 변경되지 않은 단계 결과를 자동으로 계산하고 이전 학습의 출력을 다시 사용할 수 있다.

또한 기계 학습 파이프라인은 서로 다른 계산 리소스에서 각 단계를 실행하도록 지원한다. 

 

 

 

CI/CD

CI 지속적 통합 (Continuous Integration) :

자동화된 빌드 및 테스트가 수행된 후, 개발자가 코드 변경 사항을 중앙 리포지토리에 정기적으로 병합하는 데브옵스 소프트웨어 개발 방식

CI

CI 이점 :

버그를 신속하게 찾아 해결 : 테스트를 좀 더 빈번하게 수행하기 때문이다.

소프트웨어 품질을 개선

새로운 소프트웨어 업데이트를 검증 및 릴리스하는 데 걸리는 시간을 단축

CD 지속적 제공 (Continuous Delivery) :

개발자들이 애플리케이션에 적용한 변경 사항이 버그 테스트를 거쳐 리포지토리(예: GitHub 또는 컨테이너 레지스트리)에 자동으로 업로드되는 것

CD 지속적 배포 (Continuous Deployment) :

개발자의 변경 사항을 리포지토리에서 고객이 사용 가능한 프로덕션 환경까지 자동으로 릴리스하는 것

 

 


References 

https://learn.microsoft.com/en-us/azure/machine-learning/concept-ml-pipelines?view=azureml-api-2 

https://cloud.google.com/architecture/mlops-continuous-delivery-and-automation-pipelines-in-machine-learning

https://www.jetbrains.com/ko-kr/teamcity/ci-cd-guide/continuous-integration/

https://www.redhat.com/ko/topics/devops/what-is-ci-cd

728x90