금융권 실시간 머신러닝 서비스 시리즈 ①
초개인화 마케팅과 차별화된 고객만족 서비스를 위해 이제 대세로 자리잡은 실시간 서비스!
금융권 실시간 머신러닝 서비스의 도입을 위한 모든 것을 알려드립니다.
여러분은 실시간 서비스하면 어떤 이미지가 생각 나십니까?
위 화면은 2018년 SAS Forum에서 실시간 분석에 대한 데모를 진행했던 영상의 일부입니다. 운전자의 자세를 캡처해서 실시간으로 운전자의 상태를 분석하여 위험한 상황 시 경고를 보내는 이미지 분석 기반의 안전운전 보조시스템의 데모였습니다. 비즈니스적으로 실시간 서비스를 정의하자면, 데이터의 발생에서부터 분석, 인사이트 발견 및 소비까지의 시간이 수 초, 길어야 수 분 이내인 서비스로 정의할 수 있을 것입니다.
머신러닝 기반의 실시간 서비스는 최근 등장한 개념은 아닙니다. 지난해 금융권 IT 세미나 참석자를 대상으로 설문 조사한 결과에 따르면 “분석 기반의 실시간 서비스를 운영하고 있거나 도입 예정인 기업”이 응답자의 32%로, 많은 기업들이 이미 상품 추천, 신용 평가 등 기업의 핵심 비지니스를 실시간 분석 기반으로 운영하고 계신 것으로 확인되었습니다. 2022년 금융 업계의 트랜드 보고서에도 AML(Anti-Money Laundering), FRAUD, Marketing 등의 주요 주제에서 분석의 실시간화가 핵심 동력으로 설정되고 있음을 확인할 수 있습니다.
실시간 서비스의 종류, 동기식 vs. 비동기식
금융권 실시간 서비스의 동작 프로세스를 고객 입장에서 분류해 보면, 고객이 실시간 서비스를 위해 대화식으로 요청과 응답을 반복하는 동기식(Synchronous) 방식과, 고객의 행동과 서비스 운영이 독립적으로 진행되는 비동기식(Asynchronous) 방식으로 나눌 수 있습니다.
[동기식 실시간 서비스]
동기식 서비스의 대표적인 사례는 ‘실시간 상품 추천 서비스’입니다. 고객의 온/오프라인 행동을 지속적으로 모니터링하다가 앱 내의 추천 메뉴 진입 등 고객 행동이 감지되면, 실시간 추천 서버에 개인화 추천 상품을 요청하고, 실시간 추천 서버가 과거, 현재 데이터를 분석해 미래의 관심 상품을 뽑아주는 것입니다. IT측면에서 보면 요청과 응답의 구조는 통상 Rest API를 사용하게 되지만, 기업별 IT시스템이나 정책에 따라 다양한 인프라 구조로 구성됩니다.
실시간 추천 서비스는 대부분의 온라인 유통사에서 이미 운영 중에 있으며, 넷플릭스 등의 OTT에서도 많이 사용되어 사용자에게는 이미 매우 친숙한 서비스로 정착되어 있습니다.
기업내 시스템에서도 자금세탁방지시스템 내의 실시간 Risk Assessment, 사기방지시스템의 실시간 이상거래 및 사기 탐지, 여신업무 내의 Application Scoring등 다양한 비즈니스가 실시간 분석을 통해 동기식 서비스 구조로 운영되고 있습니다.
[비동기식 실시간 서비스]
다른 하나의 실시간 서비스 종류는 비동기 식입니다. 비동기 식이란 의미는 고객이 별도로 요청하지 않은 서비스이거나 원래부터 단방향인 시스템 등이 될 수 있습니다. 앞에서 설명 드린 이미지 분석을 통한 안전운전 보조시스템의 사례와 같이 센서를 통해 발생된 스트리밍 데이터의 분석 서비스가 이런 종류의 서비스이며, 발생되는 데이터는 메시지 큐 등을 통해 스트리밍 형태로 연속 처리됩니다. 위 일러스트의 예시는 카드사의 일반적인 마케팅 방식인 실적 목표 캠페인의 시나리오입니다. 특정 카드 또는 특정 가맹점의 목표결재금액을 설정하여 조건 만족 시 고객에게 혜택을 주는 일종의 업셀링 마케팅 활동입니다. 통상적으로, 카드 승인서버에 마케팅 목적의 부하를 방지하기 위해 승인서버는 승인여부만을 판단하고 프로세스는 완료됩니다. 해당 승인 건은 메시지 큐 시스템을 통해 실시간 서버에 전달되고 목표 금액이 달성된 경우, 문자 등 별도의 고객 채널을 통해 목표 도달에 대한 안내가 후행하여 발생하는 시나리오입니다.
비동기식 실시간 분석 시스템은 코로나로 인해 익숙해진 열감지센서를 통한 이상징후 경보 시스템이나 제조공정 내 연속 센싱 데이터 분석 및 스마트 팩토리 구축 등에 활용됩니다.
실시간 머신러닝 서비스 구축/운영 프로세스
실시간 머신러닝 서비스의 구축/운영 프로세스를 실시간 데이터 발생부터 최종 액션까지의 흐름에 따라 주요 태스크를 기준으로 구분하면 4개의 단계로 진행됩니다. 첫 단계는 데이터소스에 접근하여 데이터를 준비하고 검토하는 1)Manage Data, 준비된 데이터를 분석하여 머신러닝 모델을 만드는 2)Develop Models, 작성된 모델이나 발견된 인사이트를 배포하는 3)Deploy Insights, 마지막으로 데이터나 인사이트 등을 이용해 비지니스의 의사결정 및 최종 액션을 실행하는 4)Make Decision 단계입니다.
각 단계는 각각이 구분된 별도의 시스템으로 구축/운영되기보다는 유기적으로 연결된 흐름으로 구성되어야 합니다. 개발자 및 IT담당자의 경우 개발(Development)과 운영(Operations)의 결합어인 DevOps라는 용어가 친숙하실 겁니다. 이는 기존 빅뱅식의 개발과 프로젝트 종료 후 전체 산출물을 운영 전환하는 개발 형태에서 탈피해 애자일(Agile)하게 작은 부분의 개발 모듈을 지속적인 운영화하는 것을 의미합니다. 이를 통해, 비즈니스 요구를 빠르게 반영하는 개발과 운영 방법을 구현할 수 있습니다. 이미 많은 기업에서 표준 개발 방법론으로 채택하고 있기도 합니다. 효과적인 실시간 머신러닝 서비스의 구축 및 운영을 위해 Dataops, Modelops, Decisionops의 운영을 위한 개념을 차례로 소개하고, 부문별 최근 이슈도 알려 드리도록 하겠습니다.
- DATAOPS : DATA + Operations
데이터는 IT가 탄생했을 때부터 관심의 중심이며, 반드시 관리해야 하는 대상이었습니다. 위 Dataops를 위한 컴포넌트 다이어그램 중 중간에 많은 박스들, 즉 데이터 품질, 메타관리, 거버넌스 등은 새로운 것이 아닙니다. 이를 실시간 서비스 관점에서 검토하려면 실시간 데이터의 특징을 이해해야 합니다. 실시간 데이터는 생성에서 그 소비까지의 시간이 수 초, 길어야 수 분 내에 종료되며, 이후 실시간 데이터의 가치는 0에 수렴하게 됩니다. 실시간 데이터는 그 자체보다는 발견된 인사이트만이 저장되고 보통은 휘발성으로 사라지게 됩니다. 이에 실시간에서의 Dataops에서는 데이터의 활용 효율적 저장 구조, 데이터의 백업 등의 데이터 저장 및 운영 부분보다는 데이터 소비자가 어떻게 데이터 소스에 접근하며 어떻게 변환되는지에 대한 유연하고 빠른 데이터 흐름에 초점을 맞추고 있습니다. 이러한 특성에 따라 Dataops에서 지원해야하는 기능요소는 다음의 3개로 요약됩니다.
특히 실시간 시스템의 경우 데이터를 획득하기 위해 내외부의 모든 데이터를 소비할 수 있는 data connection에 보다 집중하고 있습니다. 이제 데이터는 잘 정리된 데이터베이스 내의 테이블만을 지칭하는 것이 아니라 콜센터 상담원의 음성, 네이버나 공공기관에서 제공해주는 API등 모든 형태, 모든 시점의 데이터를 지칭하고 있습니다. 데이터의 형태에 따라 즉시 분석 및 통합할 수 있는 스트리밍 데이터 처리 기술이나 대용량 데이터 처리기술이 필요합니다. 물론 모든 데이터는 접근권한, 개인정보보호 등 본연의 거버넌스 테두리 내에 있어야 합니다.
- MODELOPS : MODEL + Operations
Modelops는 작성된 분석의 인사이트를 빠르게 운영화하는 데에 초점을 두고 있습니다. 컴퓨팅 파워와 분산처리 기술의 발전으로 이제 모델링은 수 분에서 길어야 수 시간 정도면 종료되고 이에 리모델링 자체에 대한 부담감은 거의 없으시리라 생각합니다. 이제 문제는 실시간 데이터를 활용해 하루에도 몇 번씩 리모델링이 가능한 모델링을 어떻게 운영계(Production Environment)에 반영하는지에 대한 것입니다. 실제, 리서치에 따르면 개발된 모델의 반이상이 운영에 반영되지 못하고 파일럿 수준으로 끝나게 되며, 반영된다고 해도 90% 이상의 모델이 반영까지 3개월 이상 소요되고 있습니다.
지금까지 금융권의 분석은 혁신적인 변화보다는 운영의 안정성을 우선시했던 것이 사실입니다. 특히 리스크나 컴플라이언스 관련 분석모델은 수년동안 큰 변화 없이 운영되어 왔으며, 일반적으로 마케팅 모델의 생명주기도 1년이상 유지되곤 했습니다. 반면 리테일 산업의 마케팅 분석 모델은 과거에도 유통 시장 자체의 특성인 환경의 빠른 변화에 따라 수개월 간 운영 후 그 생명주기가 도래하여 리모델링되곤 했습니다. 최근에는 발전한 머신러닝 플랫폼 기능을 활용해 빠르게 모델링을 수행할 수 있어, 전사 마케팅 원칙에 따라 운영되는 일부 장기적 분석모델을 제외하고는 필요할 때 즉각적으로 만들고 한 번 또는 몇 주일 정도 사용하는 형태로 운영되고 있습니다. 이제 금융권에서도 시장, 데이터, 분석 환경의 변화가 많이 일어나고 있습니다. 고객의 환경이 모바일/디지털로 대부분 변경되었고 오픈뱅킹, 마이데이터 등의 외부데이터를 포함하여 사용할 수 있는 데이터가 급증하였습니다. 또한 경쟁의 대상도 타금융권이 아닌 핀테크, 빅테크, 심지어 유통사까지로 확장되고 있습니다. 좀 더 빨라지고 좀 더 변화 수용적임을 요구받고 있습니다. 모델 작성 및 배포까지의 시간은 짧아져야 하며, 한번 작성된 모델은 지속적인 모니터링 및 트레이닝을 통해 계속적인 가치를 유지해야 합니다. 이를 위해 필요한 솔루션은 모델링을 위한 도구 뿐만 아니라 Ops관점에서의 모델링 자동화 및 모델 운영화 솔루션의 역할도 해야 하는 것입니다.
ModelOps에 대해서는 이미 다양한 주제로 많은 블로그에서 소개되었습니다.
데이터 중심의 의사결정을 위한 마지막 관문, 모델 배포와 최적화
How ModelOps addresses your biggest machine learning challenges
What is ModelOps – and why should banks care?
- DECISIONOPS : DECISION + Operations
많은 분석가 및 비지니스 사용자분들과 이야기를 하다 보면 분석기반 시스템 운영의 가장 큰 장애물로 느끼시는 부분이 개발된 모델의 배포인 것 같습니다. 분석기반의 실시간 시스템 특히 마케팅 시스템을 운영하는 경우, 모델이나 비즈니스 룰에 대한 성능 평가를 위해 A/B 테스트를 많이 수행하십니다. 사용가능한 변수를 확장하거나 반대로 변수가 없어져서 새로운 모델을 작성하고도 이의 운영을 위한 IT 협의, 변경 관리, 효과 측정 등의 과정으로 인해 적절한 배포시기를 놓치거나 배포를 포기하는 상황이 빈번히 발생하곤 했습니다.
애자일 방식의 시스템 운영을 위해 반드시 필요한 기능은 분석가 및 비즈니스 사용자가 분석의 인사이트를 직접 운영할 수 있는GUI 기반의 관리 환경입니다. 모델을 교체하거나 비즈니스 룰 내의 파라미터를 수정하거나 또는 아예 비즈니스 플로우를 변경하는 경우 이에 대한 빠른 업무 적용을 위해서 전체 구성부터 최소한 개발계의 배포까지는 비즈니스 사용자가 진행해야 합니다.
또 하나의 중요한 요구사항은 성능입니다. 실시간 서비스는 통상적으로 API호출을 통해 요청되며 이에 대한 응답까지 1초 이내, 초당 수백~수천 개의 처리를 요구하고 있습니다. 이를 위해서는 강력한 분석 컴퓨팅 구조, 관리 효율적인 간단한 스케일 아웃, 컨테이너 기반의 인프라 구조 등이 필요합니다. SAS Viya는 Cloud Native기반의 검증된 분석 컴퓨팅 플랫폼으로 고성능을 요구하고 있는 다양한 산업군에서 실시간 서비스를 책임지고 운영하고 있습니다.
분석의 운영화에 대해서는 기존에 다양한 주제로 많은 블로그에서 언급하고 있습니다.
Operationalizing Analytics와 세가지 사례
Embedding real-time decisioning through APIs
[구축사례] Enterprise Decisioning
이러한 실시간 서비스를 위한 DataOps, ModelOps, DecisionOps가 완성되면, 기업 내의 다양한 비즈니스의 통합 의사결정 시스템으로 활용할 수 있습니다. 거대 글로벌 은행 중 하나인 SAS 고객사는 실시간 의사결정 시스템을 전사적으로 적용하여 리스크, 사기방지, 마케팅 등 Enterprise Decisioning 시스템을 구축하였습니다. 실시간 서비스 운영은 SAS 단일 플랫폼으로 구축하였고, SAS의 모델링 환경 뿐만 아니라 오픈소스 모델을 통합 운영하고 있으며, 다양한 기업 내외 환경과 통합하여 복합 생태계 내에서 기업의 실시간 의사결정 시스템으로 운영하고 있습니다.
지금까지 실시간 서비스의 개념과 구축방법, 각각의 특징 등에 대해 알아보았고, 다음 블로그에서는 비즈니스 별 실시간 서비스의 활용 실례 및 구축 사례를 비즈니스 시나리오와 함께 소개하도록 하겠습니다.