[분석기술의 실용화 전략 #1] 데이터 중심의 의사결정을 위한 마지막 관문, 모델 배포와 최적화

0

기업에서는 하루에도 여러 차례 비즈니스에 중요한 의사결정을 내리고 있습니다. 최선의 선택을 하기 위해 많은 기업이 강력한 분석 모델을 개발하여 의사결정 프로세스에 분석 결과를 통합하고 있습니다. 하지만 의사결정에 결정적인 역할을 하는 대부분의 분석 모델은 빛을 보지 못합니다. 데이터 중심의 의사결정을 위한 실용화의 마지막 관문을 넘지 못하기 때문입니다. 본 글에서 데이터 중심의 의사결정을 위한 분석 모델이 실용화의 마지막 관문인 운영 시스템에 배포되는 과정에서의 여러 문제를 짚어보고, 이를 해결할 수 있는 방법을 소개해드립니다.

#1편. 데이터 중심의 의사결정을 위한 마지막 관문, 모델 배포와 최적화

#2편. Operationalizing Analytics와  세가지 사례

(온라인 대출 자동 심사, 고객행동 분석 및 판매, 부품 유지보수 예측)

우리는 지금, 인공지능이 모든 업종에서 다양한 방식으로 서비스를 담당하고, IT에 관심이 없는 일반인들조차 머신 러닝과 딥 러닝이란 용어가 상식이 된, 분석 고도화 시대를 살고 있습니다. ‘구슬이 서 말이라도 꿰어야 보배’라는 속담이 있습니다. 아무리 훌륭하고 좋은 것이라도 다듬고 정리하여 쓸모 있게 만들어 놓아야 값어치가 있다는 의미입니다. 분석 고도화 시대를 이끌어 가고 있는 우리는 좋은 구슬(Data)을 모으고, 예쁘고 매력적으로 다듬는(Analytics) 데 많은 노력을 기울이고 있습니다. 그런데 이렇게 구슬을 다듬는 데도 목적이 있어야 합니다. 좋은 구슬을 엮어서 어떤 작품을 만들 것인지(Operationalization)에도 집중해야 하는 이유입니다.

데이터만으로는 가치를 만들 수 없다 

기업에서 발생하는 내부 데이터는 물론 관련된 외부 데이터를 모두 수집 및 통합하고, 통찰력 있는 단일 뷰로 구성하는 것만으로 매출이 오르거나 새로운 고객이 생기지는 않습니다. 테라급의 빅데이터를 분석하여 혁신적인 딥 러닝 알고리즘을 적용하고, 셀프 러닝 프로세스를 통해 지속적으로 정확도를 높일 수 있는 분석 모델링 환경을 구성하는 것만으로 생산공정에서 불량률이 낮아지거나 기존 고객의 로열티가 증가하지 않습니다. 데이터와 분석을 바탕으로 한 ‘의사결정(Decision)’이 기업의 매출을 만들고, 자동화 공정을 개선하고, 고객을 만족시킬 수 있습니다.

IDC가 IT 및 분석팀을 대상으로 한 최근 조사(Worldwide Semiannual Big Data and Analytics Spending Guide, 2019)에 따르면, 작성된 분석 모델의 50% 이상이 운영 시스템에 배포(Deploy)되지 못하고 있습니다. 또 모델의 90%는 배포하기까지 3개월 이상 소요됐으며, 44%의 모델은 배포까지 무려 7개월 이상이 걸렸습니다. 대부분의 국내 기업도 모델 배포, 모니터링, 학습에 이르는 프로세스를 진행하면서 프로세스의 분리, 과도한 수작업, 조직 간 업무 분장 등의 문제로 분석 인사이트를 운영 환경의 적재적소에 적용하지 못하고 있습니다. 이 같은 여러 이슈 중 특히, 모델 배포 과정에서의 문제점을 좀더 살펴보겠습니다.

[출처] SAS EYAP Global Survey 2019, Gartner 2018

모델 배포가 늦어지는 이유

모델 배포에 시간이 많이 걸리는 가장 큰 이유는 모델을 개발하는 조직과 배포하는 조직이 다르기 때문입니다. 데이터 분석가는 자신이 선호하는 보유 스킬에 따라 SAS, 파이썬 등 다양한 분석 언어로 모델을 개발합니다. 운영계 환경을 고려하지 않고 알고리즘의 성능으로 모델을 평가하고 개발하는 것입니다. 이렇게 개발된 챔피언 모델이 IT운영자에게 전달됩니다.

IT운영자는 운영계와 관련 시스템에 어떻게 효과적으로 모델을 적용할지 고민합니다. 대다수의 IT운영자는 통계 지식이 없으므로 두 팀은 서로 다른 프로세스, 서로 다른 소프트웨어, 서로 다른 개발 언어를 이야기하게 됩니다. 무수히 반복되는 소모적인 커뮤니케이션과 수작업으로 인해 분석 인사이트가 수시로 변화하는 비즈니스 상황에 맞게 적용되지 못합니다. 이처럼 일반적으로 발생하는 이슈를 정리하면 다음과 같습니다.

서로 다른 환경

모델 개발에 사용하는 언어가 운영계에서 일반적으로 사용하는 언어가 아니므로, 다른 언어로 변환 작업이 필요합니다. 예를 들어 파이썬으로 개발된 모델을 자바로 변환하는 것은 매우 어려운 작업일 뿐만 아니라 성능에 관한 이슈를 낳기도 합니다. 하나의 모델을 운영계에 적용하기까지 통상적으로 수주에서 수개월이 필요합니다. 이 같은 변환 작업 중에 모델이 변경되거나 유효성이 떨어져 파기될 수도 있습니다.

모델 저장소 부재

모델을 저장하는 저장소가 없다면 개발된 수많은 모델을 누가 만들었고, 어떤 조직에서 사용하고, 어떻게 수정되는지 추적할 수 없습니다. 현재 운영계에 배포된 모델이 가장 적절한 모델인지를 파악하는 것도 쉽지 않습니다. 결국 예전 버전의 모델이 계속 사용되고, 그로 인해 전체적인 성능을 떨어뜨릴 수 있습니다.

성능 모니터링 부재

모델 성능을 지속적으로 모니터링하는 일은 비즈니스에 매우 중요합니다. 모바일 중심으로 비즈니스가 변화하면서 데이터 속성은 매일 추가, 수정, 삭제됩니다. 비즈니스 기회를 잃지 않기 위해서는 이처럼 끊임없이 변화하는 데이터 속성으로 인해 기존 모델의 예측력이 떨어지지는 않는지 확인해야 합니다.

규제 요구 사항 준수

많은 산업, 특히 금융권에서는 분석 모델과 해당 모델에 대한 통제를 더욱 투명하게 설명해야 하는 규제 압력이 증가하고 있습니다. 조직은 모델 입력, 모델링, 작동 방식, 영향을 받는 결정 등을 문서로 만들고 설명해야 합니다. 특히 최근 데이터 은닉 알고리즘과 AI 활용이 늘면서 이러한 설명이 더욱 어려워지고 있습니다.

분석의 가치를 극대화하는 ModelOps

지금까지 데이터 중심 의사결정의 기반이 되는 분석 모델이 성공적으로 배포되기까지 많은 시간이 소요되는 이유를 알아봤습니다. 특히, 개발계와 운영계 간 사로 다른 환경으로 인한 프로세스 단절이 가장 큰 원인입니다. 여기, 프로세스 단절을 보완할 수 있는 좋은 방법이 있습니다. ModelOps가 바로 그것입니다.

개발에 관여된 분들이라면 DevOps(데브옵스)를 들어보셨을 겁니다. DevOps는 소프트웨어의 개발(Development)과 운영(Operations)의 합성어입니다. 소프트웨어 개발 조직과 운영 조직이 상호 의존하여 대응할 수 있도록, 소프트웨어 제품과 서비스를 빠른 시간에 개발 및 배포하는 것을 목적으로 개발된 프로세스 또는 개발 도구입니다. 이를 분석에 적용한 개념이 ModelOps입니다. 데이터 준비 작업에서 모델링, 배포, 재학습에 이르는 프로세스를 자동화하여 분석을 통해 발굴한 소중한 인사이트를 운영계에 쉽게 적용함으로써 데이터 중심의 의사결정을 내리고, 비즈니스 가치를 실현할 수 있습니다.

ModelOps 라이프사이클

ModelOps의 라이프사이클 중 운영(Operations)을 좀 더 자세히 소개하면 다음과 같습니다.

등록(Register)

개발된 모델을 모델 저장소에 등록하고 관리합니다. 중앙 집중식 모델 저장소, 라이프 사이클 템플릿, 버전 컨트롤 기능을 통해 완벽한 추적성(Traceablility)와 모델 거버넌스을 제공합니다. 다양한 이해 관계자와 협업할 수 있는 워크플로 기능도 필요하며, 모델과 관련된 데이터와 코드, 속성, 메타데이터를 저장 및 관리하여 모델의 투명성을 확보하고, 분석을 자산화할 수 있습니다. 분석 모델 개발을 위해 사용된 다양한 언어에 대한 지원도 반드시 필요합니다.

배포(Deploy)

배포는 분석 모델을 운영계 환경과 통합하고 이를 실행하는 것을 의미합니다. 이상적으로는 조직이 동일한 프로젝트에서 다양한 언어로 개발된 모델의 성능을 평가하여 챔피언 모델을 선택 및 배포합니다. 모델은 배치 시스템(in-Database, In-Hadoop/Spark), 온디멘드 시스템(WAS:Web Application System), 스트리밍 등을 통해 실시간 시스템에 배포될 수 있습니다.

모니터링(Monitor)

배포된 모델의 성능을 향상시키기 위해서는 모델 결과를 지속적으로 분석하고 모니터링해야 합니다. 시장 상황과 비즈니스 요구 사항이 변화하고, 새로운 데이터가 추가됨에 따라 모델이 제대로 작동하는지 정기적으로 평가해야 합니다. 다양한 적합 통계량을 사용하여 챔피언 및 챌린저 모델에 대한 성능 보고서를 생성할 수 있습니다.

재학습(Retrain)

모니터링 단계에서 모델의 성능 저하를 발견하면 다음 3가지 방법 중 하나의 학습 프로세스를 진행해야 합니다.

. Retrain : 신규 데이터를 통한 기존 모델 재학습

. Revise : 새로운 알고리즘, 기술, 데이터로 모델 수정

. Replace : 신규 모델로 교체

Modelops의 효과는 크게 2가지로 정리됩니다. ▶첫째, 모델이 배포되기까지의 시간을 크게 줄여 비즈니스 기회를 신속히 확보할 수 있습니다. 특히 상품의 라이프사이클이 짧은 유통이나 시장 변화에 민감한 마케팅 분야에서는 빠른 분석, 빠른 배포, 빠른 적용이 기업의 경쟁력을 제고하는 핵심 역량입니다. ▶둘째, 배포된 모델을 지속적으로 관리함으로써 창출된 비즈니스 기회를 최대화합니다. AutoML등의 기술로 모델링의 생산성을 높여 하나의 챔피언 모델이 아닌, 많은 챌린저 모델을 확보 및 운영함으로써 언제든지 최적의 성능을 지닌 모델을 운영계에서 배포할 수 있습니다.

수작업 모델 환경에서 분석의 가치

Modelops의 기대 효과를 최대로 누리기 위해서는 데이터 준비에서 모델링, 배포까지의 프로세스 자동화를 통해 비즈니스 가치를 창출하는 시기를 앞당겨야 합니다. 또한 모델에 대한 학습 프로세스를 운영하여 창출된 가치를 지속시켜야 합니다. 더이상 유효하지 않은 모델의 매립 시기를 최적화하는 작업도 중요합니다.

ModelOps환경에서 분석의 가치

SAS의 해법, SAS Model Manager

중앙 집중식 모델 리포지토리

중앙 집중식의 안전한 웹 기반 리포지토리를 통해 분석 모델을 손쉽게 관리합니다.

분석 워크플로 관리

문제 리포팅 작성부터 모델 개발 및 활용에 이르기까지 모든 단계에서 모델 라이프사이클 관리에 대한 맞춤형 워크플로를 정의하고 추적합니다.

모델 검증

스코어링 엔진이 수행하는 각 테스트를 자동으로 기록하는 정밀한 방법론과 시스템을 이용해 모델 스코어링 로직을 검증한 후 모델을 프로덕션 단계에 투입합니다.

성능 모니터링 및 보고

테스트 및 프로덕션 주기 동안 모델 성능을 자동으로 모니터링하고 보고합니다. 프로세스 템플릿이 검증 성과와 승인 프로세스를 문서화하며, 최종 선정된 모델이 프로덕션 단계에 투입되고 이전 모델이 폐기될 때 감사 추적이 생성됩니다.

전체적인 모델 라이프사이클 관리

사전에 구축된 모델 라이프사이클 템플릿을 사용하여 프로젝트를 공동으로 관리합니다.

지금까지 분석 모델을 배포하기까지 많은 시간이 소요되는 이유, 이를 극복하기 위한 방법으로서 운영계에 적용하는 ModelOps의 개념과 효과를 소개해드렸습니다. 하지만 통상적으로 기업의 의사결정이 분석의 결과만으로 이뤄지지는 않습니다. 분석 인사이트를 기반으로 하되 기업에서 설정한 비즈니스 룰을 확인해야 하며, 기업 안팎의 상황에 대한 검토도 필요합니다. 다음 시리즈에서는 이를 지원해주는 SAS Intelligent Decisioning과 Operationalizing Analytics 세가지 사례를 소개할 예정입니다.

Operationalizing Analytics에 대한 보다 자세한 사항은 SAS 홈페이지 및 관련 자료를 참고하시기 바랍니다.

Share

About Author


Principal Systems Engineer, Business Solution

Related Posts

Leave A Reply

Back to Top