마침내 인공지능(AI)이 모든 산업의 지형을 바꾸어 내고 있습니다.

교육, 의료, 공공서비스 등 여타 산업 영역에서 중심축을 차지하며 새로운 형태의 시장을 만들고 있는 것인데요. 이런 변화의 흐름 속에서, 누가 가장 기민하게 기술을 도입하고 다음 단계로의 진화를 이끌어내는지가 성패를 가르는 요소로 작용하고 있습니다.

피플펀드는 아주 일찍부터 이 흐름을 읽어, 기술에 대한 투자를 아끼지 않았습니다. 서비스 런칭 시점인 2015년부터 지금까지 클라우드 네이티브 기술을 토대로 개발 환경을 구축해왔고, 석사 출신 ML엔지니어 영입에 힘쓰며, 2년 전에는 사내 AI 연구소를 설립하기도 했죠. 작년 5월에는 금융업권 머신러닝 경진대회 ‘AWS GameDay 2022’에서 우승을 차지하기도 했습니다.

기술금융회사 피플펀드! 더 널리 알리기 위해 Data Platform Team 리더 관유님께서 나섰다는데요. 지난달 3일, 국내 최대 규모의 IT 컨퍼런스인 AWS Summit에서 피플펀드가 AI, 그 중에서도 머신러닝(ML)을 어떻게 활용하고 있는지 공유하고 온 겁니다. 4년만에 오프라인으로 개최된 행사에서 금융 및 핀테크 분야의 사례로 KB국민은행, 토스증권 등과 함께 강연을 진행했습니다.

Data Platform Team Leader 관유님

현장에서 피플펀드만의 MLOps 플랫폼 개발 여정에 관심을 보이는 수많은 엔지니어들이 강연을 흥미롭게 지켜보았다고 하는데요. 그 때 했던 얘기, 나누었던 생각들을 지금 전해드리도록 하겠습니다.

피플펀드가 머신러닝을 도입한 이유

피플펀드는 1금융과 2금융 사이, 금리단층에 놓인 사람들에게 최적의 대출 조건을 내어주는 1.5금융을 지향하고 있습니다. 기술을 활용해 보다 합리적인 금리, 한도로 은행의 문턱을 넘지 못한 사람들을 포용하고자 하는 것인데요.

비은행권의 금리가 높은 이유는 비교적 명확합니다. 금리를 총 비용이라고 할 때, 부실로 인한 손실 비용과 대출자 모집 비용에 많은 부분을 할애하기 때문이죠. 특히 아래 그래프를 보면, 총 비용의 거의 절반이 리스크 비용으로 책정되어 있는 것을 확인할 수 있습니다.

비은행권이 리스크 비용을 높게 잡는 원인으로는 크게 세가지를 꼽을 수 있는데요.

① 첫째, 부실 예측이 어렵기 때문입니다. 카드 개수, 결혼 유무, 소득, 주택 유무 등, 무수히 많은 정보들 중 어떤 데이터가 부실을 예측하기에 가장 적합한지 심사자가 직접 선정해 활용하기 어렵다는 것이죠.
② 둘째, 신용모델 업데이트 주기의 차이 때문입니다. 대부분 비은행권의 모델 업데이트 주기는 2년 단위인데요. 이럴 시 변화하는 경제 상황을 빠르게 반영할 수 없는 문제가 발생합니다.
③ 셋째, 새로운 기술이 부재하기 때문입니다. ML, 실시간 비정형 데이터 분석과 같은 새로운 기술을 도입하기 어려운 경직된 환경에 처해있다는 것도 하나의 요인으로 꼽힙니다.

위와 같은 이유 때문에 일단 보수적으로 금리를 높여 받는 상황이 발생하고 있는 겁니다. 한 사람에게 이자를 많이 받아둔다면, 다른 사람에게 이자를 아예 받지 못해도 어느정도 손실을 커버할 수 있는 셈이니까요.

피플펀드는 이 문제를 기술로 극복해낼 수 있다고 생각했습니다. 중저신용자로 한데 묶이는 사람들 중, 우량 집단을 정확히 찾아낸다면 회사의 리스크를 관리하면서도 더 좋은 조건을 내줄 수 있으니까요. 대출을 비싸게, 누구에게나 내어주는 게 아닌, 변별력에 중점을 둔 것이죠. ML을 기반으로 하는 피플펀드의 신용평가 솔루션, RISE System은 그렇게 탄생했습니다.

RISE System: 기술로 만들어낸 고객 효익

RISE System은 ML과 MLOps를 통해서 차입자에게 가장 알맞은 대출 조건, 그러니까 최적의 금리와 한도를 도출해내는 시스템입니다. RISE는 Risk(리스크), Interest rate(금리), Size(한도), Efficiency(효율성)의 앞글자를 각각 따와서 지은 건데요.

대출 상품을 새로 구성할 때, 이 4가지 인자는 상품을 구성하는 가장 중요한 핵심 지표들로, 대출을 내보냄으로써 금융사가 얻는 이율과 실효성을 정하는 기준이 됩니다. 이를 바탕으로 피플펀드는 리스크 관리와 비즈니스 성과의 균형을 맞출 수 있죠.

RISE 시스템의 궁극적인 목표는 리스크 비용의 감소를 통한 고객 효익의 증가입니다.

① 만약 기술을 고도화해 정확한 신용평가와 부실 예측이 가능하다면,
② 금융사가 손실을 감당하기 위해 잡아놓은 리스크 비용을 줄일 수 있을 것이고,
③ 그렇게 줄인 비용으로 고객에게 더 좋은 조건을 제시할 수 있어
④ 결론적으로 고객들의 효익이 증가할 수밖에 없습니다.

이를 위해 피플펀드가 ML을 활용한 부분은 크게 두 가지로 분류할 수 있는데요.

먼저, 차입자의 신용을 평가하여 최적의 대출 조건을 제시하는 신용평가시스템(Credit Scoring System, CSS)과 차입자의 부실 가능성을 예측하고, 사기 및 회생 가능성을 판단하는 금융사기 탐지시스템(Fraud Detection System, FDS)이 있습니다.

여러 한계에 부딪히며 방법 찾기

그런데, 단순히 ML 모델을 개발해 도입하는 것만으로는 온전치 않습니다. 피플펀드도 초기에 서비스를 운영하면서 여러 한계에 부딪혔는데요.

아래 다이어그램은 초창기 ML을 POC(Proof of Concept)로 도입했을 때의 모습입니다.

당시에는 단순히 원천 소스로부터 데이터를 가져온 뒤, Sagemaker Studio 상에서 분석과 학습을 진행해, 의도한 가설이 검증되는 결과가 나온다면 바로 모델을 등록하고 운영에 적용해 결과를 확인하는 방식을 취했습니다. 그러나 이런 단순한 시스템은 서비스의 운영이 오래되고 고도화되어갈수록 여러가지 문제점을 보이는데요.

① 먼저, Data Scientist와 ML Engineer들이 모델 테스트를 위해 작업한 내용들이 트래킹되지 않아 히스토리 파악이 어렵고,
② 학습에 효과적인 형태로 데이터를 전처리 하는 과정도 수동으로 직접 해야 하며,
③ 학습 결과인 모델들이 많아질수록 버전 관리와 운영이 힘들어지는 어려움이 발생합니다.
④ 또, 모델의 성능을 파악하기 위한 실제 운영 결과도 raw data 형태로 남아있어 이에 대한 피드백을 직접 수집해야 하는 번거로움도 생기죠.

우리가 찾아낸 해결책: MLOps

그래서 피플펀드는 MLOps를 본격적으로 구축했습니다. 많은 부분을 자동화함으로써, 안정성과 일관성을 확보해 더 빠른 모델 배포를 가능하게 한 건데요.

일단 피플펀드가 자동화하려고 하는 전체 ML 학습 과정부터 살펴볼까요? 아래와 같이 풀고자 하는 비즈니스 문제에서 시작해 데이터 처리, 모델 학습 및 튜닝, 배포, 모니터링 및 디버깅까지 일련의 과정들이 계속 반복되는 모습을 볼 수 있습니다.

그런데, 이러한 재학습 Cycle을 조금 더 빠르게 반복하기 위해선 기존에 수동으로 이뤄지는 많은 병목들이 해결돼야 하는데요.

피플펀드는 그 해결책을 MLOps를 통한 자동화에서 찾았습니다.

MLOps를 도입한다는 것은 위의 그림처럼 데이터를 수집 및 정제 후 검증하는 전처리 과정, 이를 분석하고 시각화하기 위한 툴들, 학습에 적합한 Feature들을 추출하는 과정, 학습 및 검증 후 배포를 자동화하는 파이프라인, 결과를 모니터링하고 성능 Drift를 분석하는 시스템까지… ML 모델과 관련된 모든 시스템들을 인력 소모를 최소화하여 동작하도록 구축해야 함을 의미합니다. 이것이 모두 이뤄져야 비로소 모델의 배포 주기를 더 빠르게 앞당길 수 있는 것이죠.

조금 더 구체적으로 살펴볼까요?

대출이 실행되면, 신용 데이터와 대출 데이터가 DB에 적재됩니다. 이때, 모든 데이터는 기본적으로 Data Lake에 수집되어 적재되고, 이후 AWS Glue를 통해서 개인정보 비식별화, 데이터 통합과 같은 전처리 과정을 거치게 되는데요. 이렇게 정제된 데이터들이 비로소 Data Scientist들과 ML Engineer들에게 전달되고 있습니다. 모든 과정에서의 데이터 리니지와 품질은 Datahub를 통해서 분석하고 있고요.

이렇게 전처리된 데이터는 Data Scientist들이 가설을 세우고 검증하는 데 활용되며, 그 결과를 토대로 ML Engineer들은 Sagemaker Studio 내에서 학습을 진행하고 있습니다. 이때 사용되는 분석 및 훈련, 학습 코드는 Git으로 관리하며, 환경설정된 이미지와 모델 artifact들은 각각 ECR과 S3에서 관리하죠. 이러한 구조를 바탕으로 모델에 대한 유지보수, 작업한 코드의 변경 및 관리를 쉽게 할 수 있습니다.

또, 이렇게 저장된 코드를 바탕으로 한 모델 학습은 Amazon Sagemaker Pipelines를 통해 진행하고 있는데요. 이 파이프라인은 수동 혹은 Event를 바탕으로 Trigger되며, Feature Engineering 및 Training, Validation 과정을 포함하고 있습니다. 이러한 과정을 거쳐 완성된 모델은 Sagemaker Model Registy에 등록되고, 이를 통해 모델 성능 개선을 위한 반복적인 Hyper Parameter 튜닝 작업을 병목 없이 빠르게 진행하고 있습니다.

이번엔 모델을 배포하는 과정을 살펴보겠습니다.

배포 과정에는 Jenkins와 CodePipeline을 활용하는데요. Jenkins가 Model Registry에 있는 새로운 모델을 Sagemaker Endpoint에 등록하면, Lambda에서 새로운 Endpoint를 바라보도록 배포하고 있습니다. 배포 자동화를 통해 피플펀드는 새로운 모델을 학습할 때, 언제든 빠르게 운영에 적용하거나 롤백할 수 있는 구조를 구축해냈습니다.

이같은 구조 속, 지속적인 업데이트를 통해 성능이 향상된 모델들은 API Gateway와 Lambda를 통해 부실/사기 위험성이 높은 차입자는 거절하고, 우량 차입자에게는 최적의 금리/한도를 계산해 제공하는 역할을 하고 있습니다.

마지막으로, 이렇게 최종 운영에 반영된 모델의 결과값들은 따로 적재되어, 학습 과정에서의 Baseline Data와 지속적인 비교 분석을 통해 모델의 성능을 유지하고 있는데요.

이러한 모니터링 과정에서는 AWS 서비스가 아닌 피플펀드가 자체적으로 구축한 Model Monitor 서비스를 이용하고 있습니다. 금융 도메인에 맞춘 분석과 모니터링이 무엇보다 중요하기에 직접 구축을 택한 것이죠. 만약, 모니터링 중 Data 혹은 Concept Drift가 크게 일어날 경우, Cloudwatch EventBridge를 통해 재학습을 Trigger하여 새로운 모델을 학습/생성하고 있습니다.

압도적인 성과로 차이를 만들어내다

이처럼 MLOps를 통한 자동화로 피플펀드는 타겟팅하는 집단이나 앞으로의 시장 상황, 전략 방향성에 맞게 ML모델을 실시간으로 업데이트하고, 언제든지 운영에 반영할 수 있는 개발 환경을 갖추게 되었습니다. 이를 통해 크게 세 가지 성과를 이뤄낼 수 있었는데요.

먼저, ML을 본격적으로 도입한 CSS 4.0 버전부터 모델의 성능이 압도적으로 좋아지는 성과를 얻어낼 수 있었습니다. 신용평가모델의 성능지수를 나타내는 KS-Score와 AUROC 기준으로 피플펀드는 비은행권 평균에 비해 1.3배~1.9배 더 높은 성능을 보였습니다.

또, ML Ops Cloud 인프라 기반의 유연한 개발 구조를 토대로, 지난 5년간 총 10번 가량의 메이저 모델 업그레이드를 진행했는데요. 이는 같은 기간 비은행권 평균에 비해 6배 정도 많은 수치입니다. 그 외에도 평균적으로 2주, 빠를 때는 1주일만에 지속적인 마이너 배포를 진행하고 있습니다.

마지막으로 모델의 성능 저하를 자동으로 탐지해 일관적인 성능을 유지할 수 있었습니다. 위 스크린샷은 피플펀드가 자체 개발한 모니터링 서비스의 한 화면인데요. 위와 같이 특정 Segment에서 Data Drift가 발생해 기존 Baseline Data와 운영상 데이터 분포에 차이가 발생할 때, 시스템이 이를 자동으로 탐지하고, EventBridge를 통해서 기존 데이터에 신규 데이터를 포함해 학습하는 새로운 모델을 생성해 일관적인 성능을 유지하고 있습니다.

그럼에도, 계속 나아가야 하는 이유

지금까지 공유드린 내용처럼, 피플펀드는 ML과 MLOps를 통해 모델의 일관된 성능을 유지하며 리스크 관리 역량을 갖춰나가고 있습니다.

그럼에도, 개선해나가야 할 영역은 여전히 많이 남아있습니다. 가령, ML Feature 환경을 구축해 모델 비교 방식을 체계화하고 자동화해야 하며, 실시간으로 들어오는 앱 이벤트와 같은 스트리밍 데이터들도 학습에 활용할 수 있도록 하는, 실시간 데이터 처리 파이프라인 구축도 로드맵에 있습니다.

여러 설명을 복잡하게 드렸지만, 결국 우리가 나아가야 하는 방향은 ML 모델이 더욱 많은 데이터를 활용해 최적의 결과값을 효율적으로 창출하는 것입니다. 그래야만 궁극적으로 우리가 추구하는 ‘보통 사람을 위한 보통이 아닌 금융’에 다가갈 수 있기 때문입니다. 많이 가까이 왔지만, 여전히 더 잘할 수 있는 부분이 많다고 생각합니다.

발표를 마치며

사실 AWS로부터 발표 제안이 왔을 때, 그동안 해온 것들을 편히 말하면 된다고 생각해 선뜻 나섰는데요. 준비 과정에서 생각보다 품이 많이 들어 놀랐고, 그동안 제가 들었던 모든 발표에 대한 존경심도 많이 생겼습니다.

회사를 대표해 자리에 선다는 것이 부담스럽기도 하고, 떨리고 긴장도 됐지만, 자리에 모인 분들 모두 열심히 귀기울여주시는 모습에 참 감사했습니다. 생각보다 사진도 많이 찍어가셔서 뿌듯하기도 했고요. (웃음)

많이 부족한 발표였고, 준비한 만큼 다 잘 전달되었는지 확신이 서지는 않지만, 발표를 들은 어느 한 분에게라도 제가 나눈 내용이 조금이나마 긍정적인 영향을 주었길 바라봅니다.

written by Kwanyu
edited by Hoonjung
designed by Sooyeon


ML 잘하는 금융 회사를 찾고 있다면?