머신러닝이 본격적으로 많은 기업에서 활용되기 시작하면서 최근 몇 년 간 MLOps의 수요도 덩달아 높아지고 있다. 머신러닝쪽은 현재 업무와 큰 연관성이 없어 MLOps를 배워야 할 절실한 이유가 있는 것은 아니지만, 올 해 초 쿠버네티스 페이스북 그룹에 조훈님이 올려주신 “2022년 쿠버네티스 표준 아키텍처(아키텍처에 대한 설명은 여기)” 에 한 꼭지로 MLOps도구인 Kubeflow가 올라와 있어 관심을 갖고 있던 분야라 신청해보았다.
MLOps란?
MLOps란 머신러닝과 운영(Machine Learning Operations)의 합성어로, ModelOps와 혼용되는 개념이기도 하다(ModelOps는 머신러닝 뿐만 아니라 다른 종류의 모델도 포함하는 MLOps보다 포괄적 개념이다). MLOps의 핵심은 머신러닝 모델의 생애주기 관리를 표준화하고 간소화하는 것이다. 이 MLOps는 AIOPs와 혼동될 수 있으나 AIOps는 인공지능을 이용하여 운영상의 과제들을 해결하는 데에 초점을 맞추고 있다. 즉, AIOps는 머신러닝을 포함한 인공지능을 ‘수단’으로서 활용하며, MLOps는 ‘머신러닝의 운영 효율화' 자체가 그 목적으로, MLOps 도입 가이드 책에서는 다루지 않는다.
‘MLOps 도입 가이드’ 리뷰
MLOps 도입 가이드는 총 세 개 파트로 나뉘어있다. 가장 먼저 MLOps의 개념과 필요성을 다룬 다음, MLOps를 어떻게 적용하는지에 대해 다루게 된다. 그리고 마지막으로는 마케팅 추천 엔진이나 소비 예측 들 MLOps가 활용되는 실제 사례를 다루고있다.
MLOps 도입 가이드를 읽으며 느낀 점은 MLOps가 단어 뿐만 아니라 업무 내용도 DevOps와 꽤나 유사하다는 점이다. 책의 도입 부분에서 머신러닝의 생애 주기를 다루고 있는데, “비즈니스 목표 정의 → 데이터에 대한 접근, 이해, 정리 → 머신러닝 모델 생성 → 머신러닝 모델 배포 (반복)”이라고 적혀있는 다이어그램을 보고 데이터를 다루고 있다는 점은 상이하지만 머신러닝 모델을 애플리케이션으로 치환하면 목표 정의와 배포, 평가를 반복하는 것이 DevOps와 꽤나 유사하다고 느꼈는데, 바로 다음페이지에서 MLOps 개념의 많은 부분은 DevOps에서 차용한 것이라고 해서 바로 납득했다 ㅎㅎ 다만, 책에 의하면 머신러닝 모델은 일반적인 애플리케이션보다 동적이기 때문에 DevOps 엔지니어를 바로 MLOps에 투입할 수 없다고 설명하고 있다.
이러한 동적이고 복잡도가 높은 MLOps의 업무를 어떻게 적용하는지에 대한 부분은 파트2에서 주로 나오게 되는데, 아직 주니어 데브옵스 엔지니어로서 DevOps업무와 가장 큰 차이가 있는 부분을 고르자면 데이터 거버넌스 파트이다. GDPR이나 GxP 등 개인정보 보호를 포함해 데이터를 다룰 때 각국의 규칙을 파악해 적용해야 한다는 부분이 인상 깊었다.
마지막 파트에서는 MLOps의 실제 사례를 다루고 있는데, 각 사례별로 전체적인 흐름을 제시하고 있다. 이 책의 제목이 “MLOps 도입 가이드"인 만큼, 특정 MLOps 툴이나 스텝별 프로세스를 상세히 알려주는 튜토리얼을 원하는 사람보다는, MLOps 업무의 전체적인 흐름과 MLOps 업무에서 중요한 부분을 파악하고싶은 머신러닝(혹은 MLOps) 엔지니어 직무를 희망하는 사람이나, 사내에서 MLOps 도입 검토를 맡게 된 사람에게 권하고 싶은 책이다.
“한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.