daehy***
2022-05-29

기업이 데이터 사이언스와 AI를 더 성공적으로 도입•운영할 수 있도록 MLOps에 대한 기본 지식과 다양한 실제 사례를 담은 실용 가이드 북입니다.
별점 4/5
(서두가 깁니다. 책에 대한 리뷰는 바로 3번 문단으로 가시면 됩니다.)
최근 몇년간 인공지능에 대한 관심이 분야와 관계없이 폭발적으로 증가하며, 많은 사람들의 관심은 그 개념과 방법을 빠르게 익혀서 가지고있는 데이터에 적용하는 것이었다. 일반인들은 주로 본인이 가진 데이터가 없기 때문에 Kaggle 등과 같은 경진대회를 통해 이론으로 공부한 머신러닝 모델을 적용하기 위한 현상금 사냥꾼이 된다. 대학 및 연구소 등의 학계에서는 자체적으로 보유한 자료에 최신 딥러닝 기법을 적용하기 위한 경향이 최근 몇년간 주류가 되어왔다. 마지막으로 기업의 경우 현업에 투입할 수 있는 인공지능 프레임워크를 디자인하며, 이를 통해 어떻게 수익을 증대시키고 공정의 자동화를 할 수 있을지를 고민한다. 앞서 말한 세 가지 경우 중 일반인->학계->기업으로 갈수록 인공지능을 바라보는 시각이 다를 것이다. 일반인의 경우 주로 미션을 받기 때문에 전체적인 계획 수립 및 목적 설정에 대한 과정이 생략된다. 그래서 데이터 생성 및 정제에 대한 과정을 생략한 채 온전히 데이터 분석 및 모델 자체에만 집중하게 되며, Kaggle을 비롯한 많은 경진대회에서는 소위 ‘수단과 방법을 가리지 않고’ 성능을 높이는 것이 곧 목표이자 능력이다. 학계에서는 주로 연구 계획 수립 및 자료 수집 과정을 통해 독자적인 프로젝트를 수행하며, 논문 출판이 최종 목표이다. 연구 디자인 및 자료 수집을 직접 하게 되므로 경진대회에 비해 처음부터 끝까지 독자적인 단계가 이뤄진다. 하지만 여전히 전체 파이프라인의 효율성 및 피드백 등에 대해서는 거의 고려하지 않은 채, 현업용 프로젝트가 아니라면 대개는 논문이 출판되면 연구도 종료된다. 따라서 위 둘의 경우에는 머신러닝 모델 개발 자체에 초점이 맞춰져있는 반면, 기업의 경우는 완전히 접근이 다르다. 기업의 목적은 이윤 추구이며, 이를 위해서 모델 자체보다는 전체적인 파이프라인을 더욱 중요시하게 된다. 즉 일반인과 학계처럼 ‘모델링 자체를 위한 모델링’이 아닌, 효율적인 개발 및 유지 비용을 중시하게 된다. 자료 수집, 모델 학습, 결과 예측, 분석 및 개선으로 이루어진 머신러닝 프레임워크 전체에 대한 고민이 필요하며, 이를 나타내는 것이 바로 MLOps (operation)이다.
위에서 서술했듯이 MLOps는 주로 현업 서비스를 하는 기업 및 기관에서 관심을 가질 주제이다. 기관도 아니고 나처럼 대학원에서 공부하는 사람들은 전체 프레임워크에 대한 효율성 등을 고려할 필요성이 적으며, 현실적으로 그 시간에 논문 출판에 집중하는 것이 더욱 좋은 선택일 것이다. 하지만 내가 MLOps에 관심을 가지게 된 이유는, 학계에서 연구 차원에서 수행하는 프로젝트들이 매번 단발성으로 끝나는데에 아쉬움이 남기 때문이었다. 졸업 후에는 연구 차원이 아닌 실제 쓸모 있게 사용될 제품 및 서비스를 만들고 싶다는 생각이 강하게 들곤 했는데, 이를 위해서 MLOps에 대한 고민을 자연스레 하게 되었다. 대학원에서 연구를 할때마다 “내가 만약 독자적으로 활동할 수 있다면, 이 결과를 어떻게 배포하여 많은 사람들이 사용하게 할 수 있을까?”라는 생각이 들었다. 이 질문에는 사람마다 여러가지 세부 질문을 포함할 수 있으며, 나의 경우는 아래와 같은 질문을 던졌다.
1) 이 결과가 사람들에게 왜 필요한지, 기대 효과는 무엇인지 (제품 계획)
2) 개발된 모델은 적정 수준 이상의 성능을 가지는지 (머신러닝 모델 개발)
3) 사용자의 요청에 따라 원하는 정보만을 빠르게 처리하여 제공할 수 있는지 (데이터 쿼리)
4) 시간이 지남에 따라 자동 또는 수동으로 최신 자료를 반영할 수 있는지 (자료 수집)
5) 자동화된 서비스에 장애가 될만한 요소가 있는지 (장애 처리)
6) 자체적인 피드백을 통해 성능 개선을 할 수 있는지 (모델 개선)
7) 사용자의 피드백을 어떻게 효과적으로 수집할 것인지 (사용자 경험 개선)
8) 서비스를 지속함에 따라 전체적인 유지 비용, 컴퓨팅 파워, 처리 시간 등은 어떤 형태로 증가할 것인지 (효율화)
9) 추후 다른 모델을 개발한다면 이 모델과 연계하여 시너지를 낼 수 있는지 (확장성)
10) 마지막으로 이를 통해 어떻게 수익을 낼 수 있으며 그것은 선형적인지 비선형적인지 (수익성)
졸업 후에 학계에 남을 수도 있지만 다른 분야에서 일하는 것도 흥미로워 보이기 때문에 위와 같이 학계에서 필요한 범위를 벗어난 고민을 하는 것을 즐겨왔다. 그리고 최근 들어서 이에 대한 분야가 MLOps라는 것을 알게 되었고, 마침 한빛미디어를 통해 감사하게도 이 책을 접하게 되었다.
이 책은 제목 그대로 MLOps에 대한 전체적인 소개를 다루고있다. 대학 과목으로 치면 MLOps 개론정도라 하는 것이 적당해보인다. 나는 머신러닝 모델 개발에는 어느정도 경험이 있지만, MLOps에 대한 사전 지식은 전혀 없었다. 책의 1부는 MLOps의 개념과 필요성, 2부는 적용 방법, 3부에서는 실제 사례를 간단히 소개한다. MLOps의 필요성, 이해관계자, 보안, 거버넌스, 책임, 배포, 모니터링 등 MLOps에 관련된 내용들을 포괄적으로 다룬다. 개인적으로 특별히 흥미롭게 읽었던 챕터들은 다음과 같다.
챕터 2) MLOps 이해관계자들 - 이는 MLOps를 위해 투입되는 여러 분야의 인력들이 각자의 관점에서 어떻게 전체적인 틀을 바라보는지를 서술한다. 조직원들 모두가 다른 사람들의 입장을 이해한다면 보다 완성도 있는 프레임워크를 구축하는데 큰 도움이 될 것이다.
챕터 5-6) 상용화 준비, 상용 배포: 여기서는 연구 단계에서 수행한 모델을 어떻게 상용화할지에 대한 고민을 다룬다. 연구 차원에서는 고려하지 않았던 보안, 오작동에 대한 리스크 고려, 배포 전략 등에 대한 고민을 독자 스스로가 하게 돕는다.
챕터 8) 모델 거버넌스
이미 여러 기업에서는 MLOps에 대한 지식이나 경험이 있는 사람들을 매우 공격적으로 채용하고 있다. 아직은 MLOps라는 개념이 점차 자리를 잡아가는 시기로 보이며, 따라서 이에 대한 지식을 습득하고 많은 고찰을 해본 사람은 단순히 모델 개발 경험만 한 사람에 비해 큰 우위를 가질 것으로 보인다. 따라서 구직자들에게는 현재 머신러닝의 트렌드를 따라가기 위한 필수 항목으로 보인다. 전체적인 설계를 하는 책임급 사람들은 말할 것도 없이 이에 대한 심도있는 개념 탑재 및 경험이 훨씬 중요하다고 생각한다. 따라서 머신러닝 관련 기업에서 일하고자 하는, 그리고 지금 일하고 있는 모든 이들에게 이 책을 추천한다.
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."