데이터 민주화

무슨 뜻인지 아시겠나요?

민주화라는 단어의 의미로 알 수 있듯이, 데이터를 누구나 자유롭고 평등하게 접근할 수 있다는 뜻이에요. 이전에는 일부 전문가들만 다룰 수 있었던 데이터를 누구나 활용할 수 있게 되었다는 것이죠.

‘대그봇’이 나오기 전에는 사내 데이터를 보려면 데이터팀에 의뢰하고, 데이터팀의 분석이 끝날 때까지 기다려야 했습니다.

예를 들어 ‘한 달 동안 특정 유형의 투자 상품이 어떻게 변했는지’ 같은 질문에 대한 답을 구하기 위해서는 다양한 팀, 여러 사람들의 도움이 필요했어요. 여러 사람들이 데이터를 분석하고 의사 결정을 하다 보니 결괏값을 얻기까지 시간이 오래 걸리기도 했고, 때로는 데이터 기반보다 직관적인 판단 위주로 일을 처리하게 되기도 했죠.

게다가 분석 결과를 어렵게 얻어도, 이를 전사적으로 빠르고 쉽게 공유하기란 쉽지 않았어요. 이미 누군가가 데이터팀에 요청했던 데이터 내용을 다른 사람이 또 물어보는 경우도 있었죠.

그래서 우리는 빠른 데이터 기반 의사 결정, 즉 ‘데이터 민주화’를 돕기 위해 새로운 AI 어플리케이션을 만들었어요. 이제는 회사 내 구성원 중 그 누구라도, 회사와 관련된 데이터를 얻고 싶다면 AI 앱을 통해 쉽게 데이터에 접근할 수 있게 된 거예요!

이제 PFCT 구성원은 ‘법인 투자자랑 개인 투자자랑 투자 금액 변화 추이가 어떻게 달라?’ ‘투자가 가장 활발한 시간대가 몇 시야?’ 와 같은 궁금증에 대한 답을 빠르고 간편하게 얻을 수 있게 되었어요.

대그(DAG)봇 사용 화면

오늘은 이 역할을 해준 사내 AI앱, ‘대그봇’(DAG- Data Analyst General)에 대해 소개할게요!

Image By Midjourney

개발자의 오랜 꿈이라고도 볼 수 있는 자연어를 SQL문으로 변환해 데이터를 분석하는 것은 대규모 언어모델(LLM)이 등장함으로써 이룰 수 있을 것만 같았어요. 하지만 여기에는 예상치 못한 문제가 있었는데요.

바로 ‘정확도’입니다. 기존에 있던 다른 데이터 분석(DA) 봇들은 질문을 할 때마다 쿼리가 달라지고 그에 따라 결괏값도 바뀌어서 신뢰성이 떨어졌어요. 구조가 복잡해질수록 정확도가 낮아진다는 문제가 있었죠.

PFCT에 가져온 데이터 민주화, ‘대그 DAG(Data Analyst General)’의 핵심은 바로 정확성이에요. 아무리 편해도, 정확도가 낮아 틀린 값을 가져온다면 그건 활용할 수 없잖아요. 우리가 만들어낸 DAG는 아주 자유로운 쿼리를 제공하지는 못하지만, 높은 정확도를 자랑합니다!

그렇다면 대그봇(DAG)은 어떻게 높은 정확도를 이끌어낼 수 있었는지 궁금하실 것 같은데요.

먼저, 데이터의 특성에 주목했어요. 바로 컴퓨터 공학 분야에서 자주 언급되는 ‘Locality’ 라는 특성입니다. 비슷한 시기에 여러 사람이 궁금해 하는 데이터끼리는 연관성이 있다는 사실, 알고 계셨나요?

Locality는 메모리 상에서 인접한 위치에 있는 데이터끼리 관련성이 높다는 원리에요. 비슷하게, 사람들이 관심 갖는 데이터 역시 유사한 주제나 속성을 중심으로 묶이는 경향이 있답니다. 우리는 바로 이 특성에 주목했어요!

예를 들어 PFCT의 대출-투자 앱 ‘크플(Cple)’에 새 투자 상품이 생겨서 회원 수가 급격한 상승을 보였다면, 많은 사람들이 회원 수 추이와 투자 금액 추이에 대해 궁금해할 거예요.

그럼 이 데이터 분석을 위해 누군가가 관련 쿼리를 작성하고, 만들어진 쿼리 데이터들을 저희 GAIA팀에서 수집하고 정리해 대그봇(DAG)에게 학습 시킵니다. 그 이후부터는 사람들이 비슷한 질문을 했을 때 대그봇(DAG)이 학습한 쿼리를 활용해 직접 대답하죠.

결론적으로, 이미 사람 손으로 만들어져 검증이 된 쿼리이기 때문에 높은 정확도를 가질 수 있는 거에요!

이 과정에서 대그봇(DAG)은 검색증강생성(RAG-Retrieval Augmented Generation)라는 기술을 사용해 답변에 필요한 데이터를 검색하는데요. RAG는 질문에 맞는 정보를 추가 검색해 거대언어모델(LLM)이 더 정확하고 신뢰성 있는 답변을 할 수 있도록 돕는 기술이에요.

이 기술로 AI가 정보를 찾고, 찾은 정보를 바탕으로 답변을 만들죠. AI가 오픈북을 가지고 있다고 생각하면 쉬워요! 사내 데이터는 LLM이 학습하지 못했기 때문에 이런 RAG 기술을 사용하면 아주 유용하답니다.

RAG 기술은 LLM이 다양한 형태의 데이터 검색을 가능하게 하는데, 그 중에서도 저희는 Vector DB를 활용해요. 여기에 더해 자체적인 지식 관리 시스템까지 구축했습니다!

일반적으로 Vector DB를 활용하려면 먼저 문서를 작은 단위로 나누고(chunk), 이를 벡터화(embedding) 한 뒤 데이터베이스에 저장해요. 그런 다음 LLM이 원하는 정보를 찾기 위해 질문을 벡터화하고, 가장 유사도가 높은 값들을 선택합니다.

하지만 이러한 방식에도 한계점이 있어요. 예를 들어 ‘해리포터 시리즈의 등장인물은 몇 명일까?’ 라는 질문을 생각해 봅시다. 이 질문에 대한 대답을 해주기는 어려워요. 해리포터 책에 등장인물 수가 정확히 몇 명인지, 그 숫자까지 명시되어 있지는 않거든요.

이처럼 만약 해당 정보가 책에 없다면 LLM은 적절한 답변을 찾지 못합니다. 이렇듯 각 RAG 방식마다 장단점이 존재하고, Knowledge Node 또는 인터넷 검색 등 대체 수단을 활용하기도 합니다.

이런 한계를 보완하기 위해 GAIA팀은 여러 고민을 했어요.

우리는 평소에도 굉장히 많은 정보들을 접해요. 그 많은 정보들에서 이 정보가 어떤 내용인지 알기 위해서 제목을 붙이죠. 일종의 이름표처럼 말이에요!

여기서 아이디어를 얻어 체계적인 데이터 관리 시스템을 만들기로 했어요. 우선 데이터 성격에 따라 각기 다른 꼬리표를 달았어요. 비슷한 유형끼리 묶으니 보기도 좋고, 가공하기도 훨씬 수월해졌죠. 덕분에 정보끼리 구분도 쉬워 새로운 가치를 창출해내는데도 편리해졌고, 필요한 자료를 찾는 시간도 줄어들었답니다.

이렇게 대그봇(DAG)은 정보마다 꼬리표를 체계적으로 달고, 각각 연결성(Relationship) 등을 두어 벡터 검색과 지식 그래프 사이의 기술의 장단점을 엮고 있어요! 여기에 대한 세부사항은 아직 비밀이랍니다. 🤫

지금까지 대그봇(DAG)이 어떻게 탄생했고, 어떤 기술을 통해 작동하는지 간략하게 살펴봤어요.

현재 대그봇(DAG)은 사내 지표를 쉽게 확인하는 데에 사용되고 있습니다. 앞으로는 사내 메신저로 사용되고 있는 슬랙과 연동해서, 지표 상에 급격한 변화나 이상 수치가 보였을 때 관련자들에게 연계하여 알람을 줄 수 있는 방법을 구상하고 있어요.

대그봇(DAG)은 아직 완벽하지 않아요. 다양한 질문에 강하진 않지만, 사용자들이 쿼리를 만들어갈 수록 더욱더 똑똑해질 예정이에요.

그때까지 GAIA팀은 대그봇(DAG)을 비롯한 다양한 AI 앱 기술을 연구하고 개발해 나갈게요. 앞으로 AI 앱이 PFCT에 가져올 위대한 변화를 기대하며, 여러분도 함께 지켜봐 주세요!

written by Youngsoo
edited by Yeojeong


인공지능(AI)으로 기술 혁신을 이끌어가는