220420_유명조달기업
[기고] ML(Machine Learning)Ops의 부상
상태바
[기고] ML(Machine Learning)Ops의 부상
  • 석주원 기자
  • 승인 2022.02.14 15:59
  • 댓글 0
이 기사를 공유합니다

MLOps 적용과 활용을 위한 선제 조건

[글=노규남 | 위블 CTO]
bardroh@weable.ai

 

AI(인공지능) 확산 일로

AI 서비스에 대한 관심은 여전히 계속 증가하고 있으며 이제는 막연한 기대를 벗어나 구체적으로 실무에 이 기술을 어떻게 사용할 것인가를 고민하는 조직들이 꽤 늘어난 걸로 보인다.

글로벌하게 조사된 내용이라 한국 상황과는 좀 다를 수 있지만 O’REILLY의 ‘AI Adoption in the Enterprise 2021’라는 리포트를 보면 응답자의 35%가 AI를 테스트하고 있으며 26%는 이미 AI를 적용하여 매출을 발생시키고 있다. 말하자면 절반 이상의 기업들이 단순히 AI에 대해 관심을 갖고 검토하는 단계를 지나 무언가 구체적인 행동을 취하고 있다는 것이다.

이렇듯 AI의 적용은 확산 일로에 있지만, 그와 동시에 AI를 적용하는데 많은 기업들이 어려움을 겪고 있는 것도 사실이다. 동일한 리포트에서 19%의 사용자들은 숙련된 기술자들을 채용하기가 어렵다고 답했으며 18%는 데이터의 양이나 질이 충분하지 않다, 17%는 적절한 비즈니스 사례를 찾기가 어렵다, 14%는 회사 문화가 AI의 필요성을 인식하지 못한다 등의 애로사항을 토로했다.

이처럼 AI를 실무에 적용하려고 시도해보면 생각보다 어려운 점이 많아서 기대한 효과를 얻기가 쉽지 않다는 사실을 알 수 있는데, 필자는 지금의 AI 교육이나 관심이 모델링에만 주로 집중된 것도 이런 어려움의 한 가지 이유라고 보고 있다. AI 서비스를 하기 위해서는 모델 외에도 많은 요소들이 필요한데, 이런 부분이 현장에서 간과되고 있다는 것이다.

 

기업 내 AI 활용도 설문 조사에 참여한 산업군 (출처: O’REILLY ‘AI Adoption in the Enterprise 2021’ 보고서)
기업 내 AI 활용도 설문 조사에 참여한 산업군 (출처: O’REILLY ‘AI Adoption in the Enterprise 2021’ 보고서)

 

기업 내 AI 활용 정도
기업 내 AI 활용 정도 (출처: O’REILLY ‘AI Adoption in the Enterprise 2021’ 보고서)

 

 

MLOps가 필요한 이유

사실을 말하자면, AI를 활용한 서비스나 제품에서 모델과 알고리즘이 차지하는 비율은 그다지 높지 않다. 물론 훌륭한 모델이나 알고리즘이 중요한 건 당연하다. 하지만 좋은 모델을 가지고 있다고 해서 바로 서비스를 시작할 수 있는 건 아니다.

AI 서비스를 시작하려면 모델도 필요하겠지만 학습시킬 데이터도 필요하다. 특히 Few-Shot이나 One-Shot, ZeroꠓShot을 사용하는 초대형 자연어 모델이나 강화 학습 같은 비지도 방식이 아닌 이상 학습시킬 데이터의 양과 질은 결과물의 품질에 결정적인 영향을 미친다. 이 데이터들도 한번 모으고 학습하면 끝이 아니라 서비스가 운영됨에 따라 계속해서 업데이트하고 재학습을 해야 한다.

방대한 데이터를 저장할 백엔드의 스토리지도 필수이며 이를 적절하게 정제하고 학습에 필요한 형태로 변경할 수 있는 관리 도구도 필요해진다. 더불어 실제 서비스를 하려면 모델을 Serving하기 위한 WAS와 API Gateway, 프론트엔드, 백엔드 인프라, 이를 관리하는 SE팀 등이 모두 필요하다. 또 모델을 학습하고 실서버에 배포하는 과정을 매번 수동으로 하는 건 엄청나게 비효율적인 일이므로 이런 프로세스를 자동화하는 CI/CD 도구와 프로세스들이 필요하다.

AI 서비스를 하기 위해 필요한 요소들은 이렇게 많고 다양한데, 최근에는 MLOps(Machine Learning Operations)라는 용어로 이들을 일괄하여 지칭하고 있다. MLOps에 대한 정의는 여러 가지가 있을 수 있지만 일반적으로 프로덕션 환경에서 기계 학습 모델을 안정적이고 효율적으로 배포 및 유지 관리하는 것을 목표로 하는 일련의 관행(practice)을 의미한다.

정의에서 알 수 있듯이 MLOps에는 기계학습(ML)과 DevOps, 그리고 ML에서 빼놓을 수 없는 데이터 엔지니어링(Data Engineering, DE)이 모두 포함되어 있다. 즉 ML, DevOps, DE 세 기술의 교차 지점에 위치한 것이 통상 MLOps로 간주된다.

MLOps는 ML, DevOps, DE 세 가지 기술이 모두 교차하는 지점에 위치한다. (출처: 위키미디어)

이 세 개 기술의 교집합에 위치하고 있기 때문에 필연적으로 MLOps는 이 기술들을 이루는 요소들을 대거 갖게 되는데, Data Lake, Database, Streaming, Feature Store, Model Management, Monitoring, Serving, Training, Reporting 등 수많은 기술들이 이 영역에 들어 있다.

MLOps의 구성 요소들(출처: https://chapeau.freevariable.com 블로그)
MLOps의 구성 요소들(출처: https://chapeau.freevariable.com 블로그)

하지만 여전히 MLOps 솔루션들이 있다고 하더라도 AI에 대해서 전혀 모르는 상태에서 서비스를 구축하고 운영하는 건 불가능한 일이다. MLOps 솔루션들이 아주 많은 반복되는 일을 대신해 주고 서비스를 어느 정도 유형화하여 지원해 주기는 하지만, 그래도 AI에 대해서 전혀 모르는 상태에서 이 솔루션들을 조합하여 서비스를 운영할 수 있다고 생각하는 건 매우 위험하다.

오히려 MLOps는 AI에 대해서 충분한 이해를 가지고 있고, 데이터 수급 방법도 안정적으로 확보해 두었으며, AI 서비스를 Serving하기 위한 자동화 기술들에 대해서도 충분히 숙지하고 있는 조직이 서비스를 ‘제대로’, 다시 말하자면 ‘효율적으로’ 하기 위한 도구라고 보는 것이 타당하다. 따라서 MLOps를 잘 적용하기 위해서는 AI 자체와 운영 기술에 대한 충분한 이해가 절대적으로 필요하다.

더불어 MLOps를 더욱 어렵게 하는 요소 중 하나는, 아직까지 이 시장에 표준적이며 지배적인 솔루션이 존재하지 않는다는 것이다. 상기한 O’REILLY 리포트에서 보면 모델링 도구에 대해서는 scikit-learn, TensorFlow, Pytorch, keras 이렇게 네 가지의 강세가 매우 뚜렷하다. 따라서 모델링에 대해서는 이중 어떤 도구를 사용해도 충분한 자료를 얻을 수 있고 커뮤니티의 도움을 받을 수 있을 것이다.

하지만 배포와 모니터링 부문으로 가면 절반에 가까운 응답자들이 MLflow나 Kubeflow 같은 AI 전용의 도구를 전혀 사용하지 않는다고 대답했다. 이 설문이 실제 AI를 필드에서 활용하는(Mature) 단계의 사용자들 대상으로 질문한 것임을 고려하면 이들은 전용도구가 아닌 기존의 솔루션들을 사용하여 배포와 모니터링 시스템을 구축했음을 짐작할 수 있다.

그러나 이 필드에는 너무 많은 선택지가 있어서 빠르게 AI 서비스를 구축하고자 하는 수요자들을 혼란스럽게 만들고 있다. 이러한 고객의 어려움이 있기 때문에 조만간 지금보다 더 자동화된 턴키 방식의 MLOps 솔루션들이 시장에 등장할 것으로 예상한다. 하지만 AI 서비스나 솔루션의 형태는 매우 다양하기 때문에 단일 솔루션이 모든 영역의 수요에 대해 대응하기는 쉽지 않을 것으로 보인다.

MLOps의 landscape. ML을 서비스에 적용하기 위해서 필요한 도구들은 이렇게 많다. 즉, MLOps를 제대로 적용하기 위해서는 이 중 어떤 도구를 사용할지 판단할 수 있는 역량이 내재되어야 한다는 의미이다.(출처: https://about.mlreef.com 블로그)
MLOps의 landscape. ML을 서비스에 적용하기 위해서 필요한 도구들은 이렇게 많다. 즉, MLOps를 제대로 적용하기 위해서는 이 중 어떤 도구를 사용할지 판단할 수 있는 역량이 내재되어야 한다는 의미이다. (출처: https://about.mlreef.com 블로그)

 

 

AI 서비스는 모델보다 크다

결론적으로 AI 서비스는 모델보다 훨씬 큰 개념이며, 적당한 모델을 얻었다고 해서 서비스할 수 있는 건 아니다. 모델도 한 번 학습한 후 계속 사용할 수 있는 게 아니라 지속적인 재학습을 요구하며, 이러한 반복적 학습에는 계속 갱신되는 데이터가 필요하다.

또한 이 데이터를 효율적으로 관리하고 조작할 수 있는 백엔드의 시스템, 스토리지, 관리 도구 역시 필요하며 학습한 모델이 실제 데이터와 얼마나 잘 맞는지, 적용에 문제가 없는지를 추적하는 트래킹 및 로깅 시스템도 요구된다. 학습한 모델을 실제 서비스와 적절하게 연동하기 위한 배포 및 운영 도구도 필수적이다.

더욱이 AI 서비스를 운영하는 데는 생각보다 비용이 많이 든다. 학습을 시키기 위한 데이터를 확보하고 정제하는 데도 돈이 들어가며, 이를 저장하기 위한 시스템을 구축하는 데도 매우 많은 비용이 소요된다. 학습하기 위해서는 대량의 컴퓨팅 파워가 필요한데 한 번으로 끝나는 일이 아니므로 정기 혹은 부정기적으로 재학습할 때마다 상당한 예산을 소모해야 한다. 학습한 모델을 올려서 서비스할 때도 역시 높은 컴퓨팅 파워가 필요하다.

이런 점을 생각하면 마냥 최신의 기술이나 초대형 모델이 능사는 아닐 수 있다. 적정한 규모와 그에 따른 적당한 성능을 보여주는 모델이 어떤 것인지 예산 범위 내에서 고민해야 한다. MLOps 시스템도 최신의 기술을 써서 무조건 대규모로 구축하는 방법이 항상 옳다고 할 수는 없다. 투입할 수 있는 인력이나 예산을 넘어서는 시스템은 오버엔지니어링이 되므로 오히려 조직의 골칫거리로 남을 수 있다.

IT 대기업들은 해당 서비스에서 얻을 수 있는 이익이 크고 내부 자원이 충분하므로, 이런 시스템을 자체적으로 구축하는데 아무런 문제가 없을 것이다. 하지만 예산과 인력이 항상 부족한 중소·중견기업들은 선택과 집중을 할 수 밖에 없다. 외부의 MLOps 도구들을 사용한다고 하더라도 선수 지식 없이 쓸 수 있는 솔루션들은 없으므로 AI와 모델, 데이터에 대한 개념과 이해에 역량을 집중하고, 적극적으로 외부의 도구나 컨설팅 파트너 등을 찾아 효율적으로 시스템을 구축하는 것이 불필요하게 역량을 낭비하지 않는 길일 것이다.

 

 

 



댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
0 / 400
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.