AI 모델과 Biz 간 소통의 장: Target AI – AI-Manager 시스템
RTPO란?
RTPO(Real Time Personalize Offering)는 B2C CRM팀에서 운영하고 있는 실시간 개인 맞춤형 캠페인 추천 시스템입니다. 타겟을 선정해 메시지를 보내는 outbound 마케팅과 달리 RTPO는 고객이 마이페이지 등 인입되어 요청이 들어왔을 때 개인별로 알맞은 캠페인을 선별하여 이를 토대로 배너를 노출하는 Inbound 마케팅 시스템인 것이죠!
기존에는 성별, 연령 등 개인정보부터 VIP여부, 최근 계약일 등 다양한 룰을 기반으로 최적의 캠페인을 찾았습니다. 그러나 조건을 복잡하게 설정할수록 너무 적은 고객에게 노출되거나, 오히려 단순하게 설정하면 너무 많은 고객(비관심인 고객 포함)까지 추천이 되는 단점이 존재했습니다.
따라서, 저희는 이 룰 조건과 더불어 고객 행동로그 기반의 RNN 모델 예측 값을 활용하여 룰을 만족하면서 해당 캠페인에 관심이 있는 고객들을 선별하고자 AI를 도입하였습니다.
RTPO 시스템 운영 간 어려움
RTPO AI모델의 환경은 A100 GPU가 있는 서버에서 GRU모델이 3일동안 수천만 건 고객 로그 데이터를 통해 학습되었습니다. 따라서 고객의 행동에 따른 관심사를 모델에 반영할 수 있었는데요. 하지만 poc로 실제 모델을 운영해보면서 결과를 내고 분석을 하는데 많은 어려움 또한 있었습니다.
1. 사업부서와의 소통문제
AI모델의 학습 기간이 길어짐에 따라 중간 결과물, 모델의 학습성능, 진행상태 등 사업부서 측과 소통이 필요했습니다. 특히 AI 모델 학습 코드의 중간오류 발생 시 이 부분은 더 중요했습니다.
또한 AI모델의 결과를 분석하는 과정에서 매일 모델의 예측에 따라 도출된 결과가 요구사항과 맞는지, 복잡한 AI모델 작동방식에 근거하여 결과를 분석하기 어려웠습니다.
2. Biz 요건 반영의 어려움
긴 기간 동안 대규모 데이터의 사용을 하기 때문에 요건을 바로 반영하는 데에 어려움이 있었습니다. 모델의 입력 값으로 사용되는 feature 혹은 학습기간, 주요한 캠페인 등 의논이 필요한 부분에 대한 delay가 있었습니다.
AI-Manager(1) : AI 모델 관리
따라서 RTPO에 AI 모델들을 관리하는 첫 걸음으로 저희는 RTPO의 솔루션이었던 Target ai에서 개발을 진행하기로 결정했습니다. Target ai AI 파트는 화면설계 및 AI모델 운영은 최진경S, 웹 퍼블리싱, api 연결 등은 이민재S가 맡아서 B2C CRM팀의 조성희 팀장님과 함께 진행하고 있습니다. 지금부터 Target ai의 ai 모델관리 화면에 대해 설명 드리겠습니다. 먼저 AI모델 관리화면입니다. 그림에서 볼 수 있듯이 전체 운영되고 있는 모델들을 한 눈에 볼 수 있고 분류, 회귀 등 모델의 타입, 모델의 feature, 하이퍼파라미터, 모델 학습의 성능 등을 확인할 수 있습니다. 특히 여기서는 작업자가 AI모델을 개발하며 올려놓을 수 있을 뿐만 아니라 사업자가 버전을 달리하면서 새로운 모델을 만들거나 원하는 하이퍼파라미터와 성능을 지정하며 양방향 소통이 가능하게 됩니다. 물론 사업부서에서 활용 가능하도록 해당 값들에 대해서는 설명이 적혀있답니다!
AI모델관리 화면에서는 추후에 django를 활용해 사용자가 모델 설정뿐만 아니라 직접 학습을 진행하고 이에 따라 바뀌는 결과들을 확인할 수 있도록 하고자 합니다. 최종적으로 사용자가 중요하다고 생각하는 요건들을 바로 AI모델로 적용해볼 수 있는 소통의 장이 되기를 기대하고 있습니다.
AI-Manager(2) : 학습 Worklog 관리
Worklog 학습 관리화면은 모델 별로 학습 진행을 실시간으로 확인할 수 있습니다. 데이터 로드부터 다양한 전처리, 모델 학습에 이르는 각각 진행과정에 대한 현황이 그래프로 나타납니다. 사업부서 또한 작업에 대한 내용을 확인 가능하고 동시에 모델 작업자도 에러 발생시 Worklog 화면에서 어느 과정에서 에러가 발생했는지 확인 가능합니다. 학습이 끝난 모델의 경우에는 train loss와 validation loss를 epoch별로 확인 가능하기 때문에 worklog 관리화면을 통해 학습 진행과정과 성능 등을 공유할 수 있습니다. 최종적으로 서로 빠른 피드백을 통하여 요구사항에 맞는 최적의 모델을 학습시키는데 소요되는 시간이 단축될 것으로 예상됩니다.
AI-Manager(3) : 운영 Inference 관리
AI모델을 성공적으로 학습했다면 이를 이용해 실체 추론(inference)를 진행해야겠죠? 특히 시계열 데이터를 다루는 곳에서는 매일 갱신되는 값을 반영하여 추론을 진행하기에 관리 화면이 필요했습니다. 현재 운영 inference 관리 화면 설계는 완료되어 화면개발이 진행 중입니다. 학습이 완료된 모델에 대하여 매일 confusion matrix를 통하여 성능을 확인하고 일자별 성능 그래프를 통해 모델의 성능 변화를 사업부서에서도 살펴볼 수 있습니다. 사업부서에서 원하는 성능 (ex: Recall 0.4 이상)을 설정하고 그 이하로 떨어질 시 모델의 재학습을 권고하도록 할 예정입니다. 특히 AI모델 재학습은 실제 성능 유지에 있어 중요한 결정사안 중 하나인데요. 이 시기에 대해 자연스럽게 파악이 가능하다는 장점이 있기 때문에 의사소통으로 인한 마찰이 줄어들 것입니다.
마치며
AI모델은 방대한 양의 데이터 패턴을 학습할 수 있는 강력한 도구가 되었습니다. 그러나 학습능력이 뛰어나다는 말의 의미는 다른 관점에서 봤을 때 잘못된 데이터 또는 요구사항에 맞지 않는 데이터로 학습 시 원치 않은 결과가 충분히 나올 수 있다는 결론이 도출됩니다. 더 무서운 점은 이러한 성능 저하의 원인을 찾기 어렵기 때문에 사업부서와의 지속적인 커뮤니케이션은 앞으로 더 중요해질 것으로 예상됩니다.
모두 AI를 유용하고 강력한 도구로서 쉽게 활용할 수 있도록 target-ai의 AI모델 관리 화면은 계속 업그레이드 할 예정입니다. 여러분들도 이 글을 통해 AI모델 서비스 운영관리 측면에서 도움이 되었으면 좋겠습니다. RTPO와 target ai에 관해 더 궁금한 분께서는 연락 주시면 답변 드리겠습니다!
감사합니다.
용어정리
RNN(Recurrent Neural Network) : 시계열 또는 순차 데이터를 예측하는 딥러닝을 위한 신경망 아키텍처.
GRU(Gated Recurrent Unit) : RNN계열의 딥러닝 모델로 기존 장기 의존성 문제에 대한 해결을 한 모델에 더불어 더 간단한 구조를 가진 최신 모델.
Inbound 마케팅 : 고객이 적극적으로 상품 및 서비스를 구매하기 위해 기업으로 찾아오게 만드는 마케팅, 소비자의 관심을 끌고 참여시키고 잠재 고객으로 전환시킴.
outbound 마케팅 : 자사 제품/서비스를 불특정 다수에게 홍보하는 마케팅 방식.
PoC(Proof of Concept) : 기존 시장에 없었던 신기술을 도입하기 전에 이를 검증하기 위한 과정.
하이퍼 파라미터 : 모델이 학습하는 파라미터와 구분하여 사용자가 딥러닝을 위해 설정하는 모든 값들을 지칭.
Confusion matrix : 예측 오류가 얼마인지와 더불어 어떤 유형의 예측 오류가 발생하고 있는지를 나타내는 지표.