오늘날 머신러닝(ML) 워크플로와 배포를 자동화하고 간소화하는 관행인 MLOps(Machine Learning Operations)의 중요성이 날로 커지고 있습니다. 이제 AI가 널리 쓰이면서 ML 프로세스를 효과적으로 관리하는 구조가 필요한데요. MLOps는 DevOps 원칙을 ML 프로세스에 적용해 이러한 구조를 확립하는 데 도움이 되죠. MLOps를 사용하면 ML 프로젝트 협업을 개선하고, ML 모델 개발과 프로덕션 배포 속도를 높일 수 있고요. 모델 성능도 향상할 수 있습니다.
종합 DevSecOps 플랫폼인 GitLab은 이러한 흐름에 발맞춰 최근 MLOps 기능을 강화했는데요. 얼마 전 GA(Generally Available) 기능이 된 Model registry가 대표적입니다. Model registry는 모델과 메타데이터를 저장하고 관리하는 데이터베이스인데요. 이는 모델을 공유하고 협업하며, 프로덕션 환경에서 여러 모델을 관리하고 배포하도록 돕죠. 아울러 GitLab은 모델 후보 모음인 Machine learning model experiments도 지원하는데요. 이 기능은 여러 모델 후보와 각 메트릭, 파라미터, 메타데이터, 로그 아티팩트를 확인하는 데 유용합니다.
이 글에서는 MLOps 개념과 구성 요소, MLOps 필요성과 플랫폼 역할을 살펴 보고요. GitLab의 MLOps 기능인 Model registry와 Machine learning model experiments를 알아보겠습니다.
MLOps 개념과 구성 요소
” 참고해 제작) | 인포그랩 GitLab](https://cdn.infograb.io/insight_prod/image/blog/2024-12/2024-12-18-gitlab-mlops-0.png)
MLOps(Machine Learning Operations)는 개발부터 배포, 유지관리까지 ML 모델의 라이프사이클을 관리하고 자동화하는 관행입니다. 이는 데이터 관리, 모델 개발, 학습, 테스트, 배포, 모니터링 작업을 포함하죠. DevOps가 소프트웨어 개발과 IT 운영을 통합했듯, MLOps는 ML 시스템의 개발과 운영을 통합합니다.
MLOps는 다음 핵심 단계로 구성되는데요. Google Cloud에 따르면, 세부 내용은 아래와 같습니다.
- 탐색적 데이터 분석(EDA, Exploratory Data Analysis): 데이터를 시각화해 패턴과 문제를 확인합니다. 중복되거나 잘못된 데이터는 정리합니다.
- 데이터 준비, 특성 추출: 원시 데이터를 모델 학습에 적합하도록 정리하고 변환하며 형식을 지정합니다. 아울러 원시 데이터에서 모델 학습과 관련 있고, 유용한 새로운 특성을 만듭니다.
- 모델 학습, 미세 조정: 특정 문제와 데이터셋에 적절한 ML 알고리즘을 선택합니다. 또 학습 데이터로 모델을 학습시키며, 모델의 하이퍼파라미터를 조정해 성능을 높입니다. 테스트 데이터를 사용해 모델 성능을 평가합니다.
- 모델 검토, 거버넌스: 모델 성능, 품질 표준 충족 여부를 확인합니다. 아울러 모델 편향과 차별 표현 여부, 설명 가능성을 검토합니다. 모델 보안도 확인합니다.
- 모델 추론, 서빙: 모델을 프로덕션 환경에 배포합니다. 애플리케이션과 최종 사용자가 실제 사용하도록 모델을 제공합니다.
- 모델 모니터링: 모델 성능을 평가하고, 데이터나 환경 변화에 따른 모델 성능 저하 시점을 탐지합니다. 모델 성능에 영향을 미치는 문제를 확인합니다.
- 자동화된 모델 재학습: 모델 성능이 떨어지거나, 새 데이터가 유입되면 모델을 재학습시킵니다.
MLOps 필요성과 플랫폼 역할
MLOps는 ML 모델 배포 프로세스를 간소화하고, 시장 출시 시간을 단축하는 데 도움이 됩니다. 이는 ML 애플리케이션의 안정성과 성능을 향상하는 데도 기여하죠.
클라우드/DevOps 소프트웨어 엔지니어인 Gufran Yeşilyurt와 GitLab의 솔루션 아키텍 트인 Péter Bozsó는 MLOps의 필요성을 크게 두 가지로 설명하는데요.
- MLOps는 데이터 전처리, 모델 학습, 배포 등 여러 단계에 자동화를 도입하죠. 이로써 수동 오류를 줄이고, 효율성을 높입니다.
- MLOps는 기초 데이터 변경에 따른 모델 성능 저하 문제를 모니터링하고 관리하는 구조화된 접근 방식을 제공하는데요. 그 결과, 모델이 정확하고 효과적으로 유지되는 데 도움이 됩니다.
MLOps 플랫폼을 사용하면 MLOps를 더 원활히 수행할 수 있습니다. MLOps 플랫폼은 반복 데이터 탐색, 실시간 공동 작업 기능 등을 지원하고요. 이로써 데이터 준비, 모델 관리, 배포, 모니터링 등 MLOps 작업을 편리하게 수행하도록 돕습니다. 데이터 사이언티스트나 ML 엔지니어, 소프트웨어 엔지니어 등은 MLOps 플랫폼으로 원만하게 협업할 수 있고요.
글로벌 AI 기업 Katonic AI의 기술팀 책임자인 Subhrajit Mohanty는 MLOps 플랫폼의 장점을 이렇게 설명하는데요.
- 사용자는 기본 인프라 걱정 없이 모델을 빠르고 쉽게 배포할 수 있고요. 이로써 더 나은 모델을 구축하고, 비즈니스를 개선하는 등 중요한 일에 집중할 수 있습니다.
- MLOps 플랫폼 내 자동화된 워크플로와 협업 도구로 더 짧은 시간 동안 더 많이 일할 수 있고요.
- MLOps 플랫폼은 비즈니스가 성장해 데이터와 요구 사항이 증가할 때, MLOps를 유연하게 확장하도록 지원하죠. 사용자는 MLOps 플랫폼으로 더 많은 리소스를 쉽게 추가해 늘어나는 부하를 효과적으로 처리할 수 있습니다.