CI/CD는 소프트웨어 개발의 효율성과 안정성을 향상시키는 데 중요한 역할을 합니다. CI를 통해 개발자는 코드를 작성하자마자 즉시 통합하여, 버그를 조기에 발견하고, 품질을 높이는 데 도움이 됩니다. CD를 통해 개발자는 통합된 코드를 테스트 및 배포하여, 소프트웨어를 안정적으로 제공할 수 있습니다.
MLOps와 DevOps는 모두 소프트웨어 개발과 운영의 효율성과 안정성을 향상시키는 것을 목표로 하지만, 그 초점은 다릅니다. DevOps는 소프트웨어의 개발, 배포, 운영 전반에 걸쳐 협업과 자동화를 강조한다면, MLOps는 머신러닝 모델의 데이터, 개발, 배포, 운영에 초점을 맞춥니다.
데이터 관리: 머신러닝 모델을 학습시키기 위해서는 고품질의 데이터가 필요합니다. MLOps는 데이터 관리를 통해 데이터의 품질을 확보하고, 데이터의 수집, 전처리, 저장을 효율적으로 관리합니다.
모델 관리: 머신러닝 모델은 시간이 지남에 따라 성능이 저하되거나, 새로운 데이터에 따라 성능이 향상될 수 있습니다. MLOps에서는 모델의 성능을 모니터링하고, 필요에 따라 모델을 업데이트합니다.
devops와 MLops를 간단하게 비교하면, 학습에 필요한 데이터 / 모델을 유지하기 위한 재학습이 추가된다고 보면 됩니다.
Google MLops
- 구글은 무려 2015년부터 MLOps의 필요성을 느끼고, 프로젝트 시작했습니다.
- 구글 MLops 논문 발표 ( Hidden Technical Debt in Machine Learning Systems )
- 논문의 핵심은 머신러닝을 이용한 제품을 만드는데 있어서 머신러닝 코드는 전체 시스템을 구성하는데 있어서 아주 일부이라는것을 보여줍니다. 오히려 머신러닝 코드를 만들고 유지하는게 더 중요하다고 강조합니다.
구글에서는 MLOps를 구현하는 조직의 성숙도를 3단계로 구분합니다.
level 0 : 수동 프로세스
MLOps가 전혀 구현되지 않은 상태입니다. ML 모델은 수동으로 개발, 배포, 운영됩니다. 이 단계에서는 ML 모델의 품질, 효율성, 안정성이 낮습니다.
- 완전히 수동으로 동작
- ML / ops가 단절되어 CI/CD가 없음
- 성능 모니터링이 없음
- 모델 배포가 간헐적으로 이루어지기 때문에 이러한 형태로 유지 가능
level 1 : ML 파이프라인 자동화
단계 1에서는 ML 모델의 개발, 배포, 운영 프로세스의 일부가 자동화됩니다. 일반적으로 모델 훈련과 배포가 자동화됩니다. 이 단계에서는 ML 모델의 품질과 효율성이 향상됩니다.
- 자동으로 학습하고 배포
- ML+ops로 인해 자동 배포 가능
- 성능 모니터링으로 데이터를 쌓고 다시 학습으로 이루어짐
level 2 : CI/CD 파이프라인 자동화
2단계에서는 ML 모델의 개발, 배포, 운영 프로세스의 모든 단계가 자동화됩니다. 이 단계에서는 ML 모델의 품질, 효율성, 안정성이 크게 향상됩니다. 2단계에서의 주요 목표는 다음과 같습니다.
- 효율성 향상: ML 모델의 개발, 배포, 운영 프로세스를 자동화하여 효율성을 크게 향상시킵니다.
- 품질 향상: 자동화된 프로세스를 통해 모델의 품질을 일관되게 유지할 수 있습니다.
- 신뢰성 향상: 자동화된 프로세스를 통해 모델의 안정성을 높일 수 있습니다.
번외
MS mlops
https://arxiv.org/ftp/arxiv/papers/2305/2305.19298.pdf
다음 글에서는 테크 블로그에 있는 글을 토대로 MLops가 어떻게 구성되어 있는지 확인해보는 글을 써보도록 하겠습니다.
참조 문서 및 영상들
https://www.eqengineered.com/insights/mlops-maturity-levels
https://www.youtube.com/watch?v=MA5A7Xqb-7U
https://www.youtube.com/watch?v=AZNTqytOhXk&t=12771s
https://engineering.linecorp.com/ko/blog/line-end-to-end-mlops-platform-mlu
'ML > MLops' 카테고리의 다른 글
onnx model Quantization (0) | 2024.03.11 |
---|---|
ONNX (1) | 2024.01.08 |
파이프라인 구축 (with NES / notebook exceute system) (0) | 2024.01.01 |
3. 각 회사별 MLops (0) | 2023.12.25 |
1. MLops 이란? (0) | 2023.12.20 |