[SSAFYcial] MLOps란 무엇인가?

이승환·2023년 7월 31일
0

SSAFYcial

목록 보기
5/6

MLOps란?

MLOps는 DevOps에서 파생된 말로, 개발의 생산성과 운영의 안정성을 최적화 하기 위한 문화이자 방법론인 DevOps를 ML 시스템에 적용한 것이 MLOps입니다.

DevOps와의 차이점

DevOps는 대규모 SW 시스템을 개발하고 운영하는데 널리 사용됩니다. CI/CD라는 지속적 통합 - 지속적 배포라는 개념을 통해 개발 주기 단축, 배포 속도 증가, 안정적인 출시 등의 장점을 가지게 됩니다.

MLOps또한 이와 비슷하지만, 더욱 복잡한 차이점을 가지게 됩니다.

일반적인 테스트 이외에도 학습된 모델의 평가와 검증이 이루어져야하고, ML 모델을 재학습하고 배포하는 과정의 자동화도 이루어져야합니다.
또한 CI/CD 환경을 구축하며, 코드 뿐만 아니라 모델의 테스트와 배포까지 이루어지는 파이프라인을 구축해야합니다.

정리하자면 다음과 같습니다.

  • 테스트
    데이터 검증, 모델 평가 및 검증
  • 배포
    모델 재학습 및 배포 과정 자동화
  • 프로덕션
    데이터로 인해서 발생할 수 있는 성능 저하에 대해 대처
  • CI
    데이터, 데이터 스키마, 모델에 대한 테스트 및 검증
  • CD
    ML 학습 파이프라인 전체를 배포
  • CT
    ML 만의 속성으로, 모델을 자동으로 학습시키고 평가하는 단계

MLOps Life Cycle

MLOps 에서는 단순히 ML 모델을 개발하는 것에 끝나지 않습니다. 데이터 수집, 데이터 분석, ML 모델 개발, 학습, 배포의 모든 단계가 MLOps의 Life Cycle 안에 들어가게 됩니다.

ML을 위한 단계

MLOps는 다음 단계가 얼마나 자동화 되었느냐에 따라서 그 수준이 나뉘게 됩니다.

  1. 데이터 추출
    ML 태스크를 위해 다양한 소스에서 데이터를 수집합니다.
  2. 데이터 분석
    데이터를 이해하기 위해 EDA를 실시합니다. 모델에서 예상하는 데이터 스키마 및 특성을 이해하고, 모델에 필요한 데이터 준비 및 특성 추출 식별이 가능해집니다.
  3. 데이터 준비
    ML 태스크를 위해 데이터를 준비합니다. 데이터를 정리하고 학습, 검증, 테스트 셋으로 분리합니다.
  4. 모델 학습
    다양한 ML 모델을 학습시키기 위해 준비된 데이터로 다양한 알고리즘을 구현합니다. 높은 성능을 위해서 구현된 알고리즘의 하이퍼 파라미터를 조정합니다.
  5. 모델 평가
    모델의 성능을 평가하고 측정된 항목을 출력합니다.
  6. 모델 검증
    예측 성능이 특정 기준보다 우수하다면 모델이 배포에 적합하다고 판단합니다.
  7. 모델 서빙
    검증된 모델은 예측을 제공하기 위해 대상 환경에 배포됩니다.
  8. 모델 모니터링
    모델 예측 성능이 모니터링 되어 새로운 ML 프로세스를 반복할 수 있습니다.

위 단계를 자동화하는 수준에 따라서 세 가지 Level로 나누어서 설명할 수 있습니다.

MLOps Level 0 : 수동 프로세스

ML 모델을 빌드하고 배포하는 과정이 수동으로 이루어질 경우 MLOps 수준 0으로 간주할 수 있습니다.

위 그림에서는 데이터 분석, 데이터 준비, 모델 학습, 모델 검증등 모든 단계가 수동으로 이루어집니다.
CI/CD는 고려되지 않은 상태라고 볼 수 있습니다.

Level 0의 MLOps는 ML을 처음 적용하는 비즈니스에서 일반적으로 사용됩니다. 혹은 모델이 거의 변경되지 않거나 학습되지 않는 경우에도 충분할 수 있습니다.

하지만 실제 환경에서는 모델을 배포할 시에 손상되는 경우가 많고, 모델의 정확성을 유지하기 위해서는 모델 품질에 대한 적극적인 모니터링과 재학습 그리고 새로운 모델의 구현을 수행해야 합니다.

MLOps Level 1 : ML 파이프라인 자동화

Level 1에서는 ML 파이프라인을 자동화하여 모델을 지속적으로 학습시킵니다.

실험을 빠르게 반복하여 전체 파이프라인을 프로덕션으로 빠르게 배포합니다. 개발 환경에서 사용된 파이프라인이 운영 환경에서도 그대로 활용되어 DevOps 통합을 위한 MLOps 방식에 있어서 핵심적인 역할을 합니다.

CT(Continuous Training)개념의 도입으로 새로운 데이터를 사용하여 프로덕션 모델이 자동으로 학습합니다. 또한 새로운 데이터로 학습되고 검증된 모델이 지속적으로 배포됩니다.

MLOps Level 2 : CI/CD 파이프라인 자동화

프로덕션 단계에서 파이프라인을 빠르고 안정적이게 업데이트 하기 위해 강력하게 자동화된 CI/CD 시스템을 사용합니다. 이 시스템을 통해 데이터 사이언티스트는 특성 추출, 모델 아키텍처, 하이퍼 파라미터에 대한 아이디어를 빠르게 살펴보고, 구현하고, 자동으로 빌드-테스트-배포 할 수 있습니다.

이는 MLOps Level 1에서 CI/CD 가 집중적으로 강화된 시스템이라 할 수 있습니다.

마치며...

MLOps 는 머신러닝 프로젝트를 안정적으로 구현하기 위한, 그리고 대규모 ML 시스템을 구축하기 위한 필수 요소가 되어가고 있습니다.

MLOps의 기본적인 개념을 이해하고 실제 ML 프로젝트를 성공적으로 구현할 수 있게 된다면 좋을 것 같습니다.




이미지 출처 :
DevOps - https://en.wiktionary.org/wiki/DevOps
MLOps Life Cycle - https://www.ml4devs.com/articles/mlops-machine-learning-life-cycle/
MLOps Level - https://cloud.google.com/architecture/mlops-continuous-delivery-and-automation-pipelines-in-machine-learning?hl=ko

참고 문헌 :
https://cloud.google.com/architecture/mlops-continuous-delivery-and-automation-pipelines-in-machine-learning?hl=ko
https://jaemunbro.medium.com/mlops%EA%B0%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B3%A0-84f68e4690be




profile
인천 라이노스 no.56

0개의 댓글