본문 바로가기

ML/MLops

2. MLops 아키텍처

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

 

Machine Learning Lifecycle Maturity — EQengineered

For organizations to advance their ML capabilities and enable agility, reproducibility, auditability, and maintainability of their ML models, it is becoming increasingly necessary to incorporate MLOps practices. Thinking in terms of MLOps maturity levels c

www.eqengineered.com

https://school.programmers.co.kr/learn/courses/18086/18086-%EB%A7%88%ED%82%A4%EB%82%98%EB%9D%BD%EC%8A%A4-%EA%B0%9C%EB%B0%9C%EC%9E%90%EA%B0%80-%EC%95%8C%EB%A0%A4%EC%A3%BC%EB%8A%94-mlops-%EA%B0%9C%EB%85%90%EB%B6%80%ED%84%B0-%EC%82%AC%EB%A1%80%EA%B9%8C%EC%A7%80

 

마키나락스 개발자가 알려주는 MLOps : 01 개념부터 사례까지

마키나락스 개발자가 알려주는 MLOps : 01 개념부터 사례까지 코스 난이도 초급 사용 언어 # python 강의 소개 Point 1. 풍부한 실무 경험에 교육 경험까지 겸비한 강사 • 현업 개발자 경험과 교직 경

school.programmers.co.kr

 

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

 

LINE의 엔드 투 엔드 MLOps 플랫폼, MLU

Tech-Verse 2022에서 홍선형 님이 발표한 LINE의 End-To-End MLOps 플랫폼 세션 내용을 옮긴 글입니다. 안녕하세요. MLU 프로덕트 매니저를 맡고 있는 홍선형입니다. 이번 글에서는 LINE의 MLOps 플랫폼, MLU를

engineering.linecorp.com

 

'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