업무상 혹은 개인적인 관심사로 인해 인터넷 검색을 하다 보면 동종 업계에 종사하시는 분들의 블로그에서 도움이 되는 글을 발견할 때가 많습니다. 그런 글을 볼 때마다 새삼 고마움을 느끼면서도 저 자신의 경험과 노하우들도 글로서 정리하여 공유하면 좋겠다는 생각이 들었습니다. 최근에 이런 생각으로만 머물러 있던 ‘꾸준한 글쓰기’를 드디어 실천에 옮기게 된 계기가 생겼습니다.
글쓰는 개발자 모임, 글또 7기 모임에 참가하였습니다.
원본 기사> MLOps Architecture Guide
성공적인 머신러닝 프로젝트는 작동하는 앱을 배포하는 것만이 아닙니다. 긍정적인 비즈니스 가치를 제공하고 이를 지속적으로 유지하는 것입니다.
많은 머신 러닝 프로젝트를 수행하다 보면, 일부는 개발 중에는 잘 작동하지만 프로덕션에는 도달하지 못하는 것을 발견합니다. 다른 프로젝트는 프로덕션 단계에 있긴 하지만 사용자 요구에 맞게 확장이 안됩니다. 또 다른 프로젝트는 규모가 커진 후에는 너무 많은 비용이 들어서 수익을 창출하지 못합니다.
MLOps 정의
MLOps (Machine Learning + Operation) 를 한마디로 정의하면 머신러닝 어플리케이션에 DevOps 원칙을 적용 한 것이라고 할 수 있습니다. (by MLOps Sig) MLOps에서는 머신러닝 모델을 학습하고 추론하기 위한 워크플로우 및 시스템을 개발하고 운영합니다. 다른 의미로 MLOps는 프로덕션 환경에서 머신러닝 모델을 안정적이고 효율적으로 배포 및 유지 관리하는 것을 목표로 한 일종의 관행으로 볼 수 있습니다. (by Breuel)
DevOps가 개발/QA/운영의 교차점이라면, MLOps는 머신러닝/데이터 엔지니어링/DevOps의 교차점 입니다. 이러한 관점에서 MLOps는 머신러닝, DevOps 및 데이터 엔지니어링을 결합한 일련의 방식으로 프로덕션 환경에서 ML 시스템을 안정적이고 효율적으로 배포 및 유지 관리하는 것이라고 할 수 있습니다.