말로 하는 ‘SQL 쿼리’ 현실로...LGU+ 데이터챗봇 '아쿠아'의 비밀
||2024.09.13
||2024.09.13
[디지털투데이 황치규 기자]비즈니스 데이터에 대한 접근성 강화는 기업들이 생성형A 프로젝트를 추진하는 목적들 중 상위권에 들어가는 키워드다.
SLQ 프로그래밍 언어를 사용해 쿼리(Query, 질의)를 만들 수 있는 기업 사용자들 입장에서 데이터레이크 같은 플랫폼에서 필요한 정보를 뽑아 오려면 데이터 조직 도움을 거칠 수 밖에 없다.
기업 내 현업 담당자들 대부분이 SQL과 인연이 없다는 것을 감안하면 데이터 조직은 이런 저런 쿼리 요청들을 처리하는데 많은 시간을 써야 하는 상황이다. 현업 사용자들에게 SQL을 가르치는 것도 말처럼 쉬운 건 아니다.
이런 가운데 요즘 거대 언어 모델(LLM)과 생성형AI 기술롤 활용해 조직내 데이터 접근성을 둘러싼 문제들을 풀어보려는 기업들 시도가 활발하다.
LG유플러스도 그중 하나. LG유플러스는 현업 사용자들이 자연어로 질문하면, SQL 쿼리를 작성해 데이터 플랫폼에서 원하는 데이터를 가져오고 요약도 해주는 '아쿠아(AQuA) 서비스를 개발하고 7월부터 운영 중이다.
LG유플러스 문지연 팀장은 한국마이크로소프트가 최근 개최한 AI 트랜스포메이션위크(AI Transformation Week) 컨퍼런스에서 아쿠아 프로젝트 개발 배경과 성과, 프로젝트 과정에서 중섬을 뒀던 포인트들 및 향후 계획을 공유했다.
그에 따르면 LG유플러스는 대형 통신사인 만큼, 내부에 대용량 데이터를 보유하고 있지만 SQL을 다룰 줄 아는 현업 담당자들이 적다 보니 접근성은 제한적이었다. 데이터 조직들이 교육도 진행하고 멘토링도 제공해봤지만 근본적인 해결책은 되지 못했다.
LLM을 활용한 아쿠아 프로젝트를 기획한 배경이다. 문지연 팀장은 "데이터레이크에 대규모 데이터가 있지만 현업 담당자들이 원하는 데이터를 찾는 것이 쉽지 않았다. 데이터 엔지니어링 팀 입장에선 데이터를 뽑아달라는 요청을 처리하다 보니 개발 업무에 집중할 수가 없었다"고 전했다.
큰틀에서 아쿠아는 LG유플러스 데이터에 최적화된 LLM 기반 챗봇이다. 여기에서 핵심은 챗봇이 LG유플러스 데이터 구조를 제대로 이해하는 것이다. 그렇지 못하면 자연어로 질문은 쉽게 할 수 있게 됐다고 해도 엉뚱한 결과가 나오는 장면이 연출될 수 있다. 문지연 팀장은 "SQL 코드는 조건 하나만 잘못써도 다른 데이터를 가져오는 경우가 많다"면서 "데이터 챗봇은 기업 데이터 구조를 이해하고 기업 비즈니스와 데이터를 매핑한 정보에 대해서도 알고 있어야 한다. 그래야 답을 잘 할 수 있다"고 말했다.
문 팀장에 따르면 아쿠아 서비스 특징은 멀티 라운드 다이얼로그, 자동화된 시각화, 컴플라이언스 3가지로 요약된다.
멀티 라운드 다이얼로그(Multi round dialog)는 연속해서 질문하고 답을 받을 수 있도록 지원한다. 컨텍스트 윈도 테스트을 여러 차례 진행해 이를 구현했다는게 문 팀장 설명이다.
자동화된 시각화는 가독성을 높여주는 것을 넘어 할루시네이션(hallucination: 환각 현상)을 최소화하는데도 유용하다. 문 팀장은 "신경을 쓴다고 해도 할루시네이션은 일어날 수 있다. 그런만큼 수치에 대한 검증은 필요하다. 시각화는 답변이 잘못됐더라도 결과를 연결해 볼 수 있도록 지원해 할루시네이션을 최소화할 수 있게 해준다"고 말했다.
컴플라이언스의 경우 개인 정보와 개인을 식별할 수 있는 쿼리 자체를 차단하는데 초점이 맞춰져 있다. 문 팀장은 "개인 정보는 엄격하게 통제하고 있다. 이를 위해 현업과 보안 팀 간 커뮤니케이션이 중요하다"고 말했다.
아쿠아 서비스 개발 과정에서 문 팀장이 강조한 키워드는 크게 3가지다. 매타(Meta), 퓨-샷(few-shot), 프롬프트(Prompt)다.
메타는 AI가 이해할 수 있도록 데이터를 작성하는 것이 골자다. 문 팀장은 "데이터 전문가들 중심으로 기재된 기존 데이터 메타 정보를 데이터 챗봇에 그대로 적용할 경우 기대하는 품질을 얻기 어렵다"면서 "AI가 이해할 수 있는 문장으로 내용을 재구성할 필요가 있다"고 말했다.
퓨-샷은 데이터 구조를 AI에 가이드할 수 있도록 지원한다. 문 팀장은 "데이터 구조가 메타 정보에 명시돼 있어도 확률적으로 메타 정보를 참조하지 못하는 경우가 생긴다"면서 "조건 형식에 대해 퓨-샷을 참고하게 하면 정확도가 향상된다"고 말했다.
프롬프트는 AI에게 역할을 부여하고 이를 잘 수행할 수 있도록 구조적인 지시 문구로 구성된다. 문지연 팀장은 "기본적인 지시문과 검색방법, SQL 작성법으로 이뤄져 있다"고 설명했다. 또 "챗봇이 회사 비즈니스 로직을 알 수 있도록 라이브러리도 많이 구축했고 데이터 프롬프트팀 엔지니어들 참여 아래 계속 학습도 시키고 있다"면서 "퓨-샷의 경우도 도메인 데이터 로직을 많이 제작해 AI가 이해할 수 있도록 하고 있다"고 강조했다.
LG유플러스는 오픈AI GPT-3.5 기반으로 아쿠아 개발을 시작했고 지금은 GPT-4o를 투입했다.
메타 라마나 구글 제미나이도 써봤지만 현재로선 GPT-4o 성능이 가장 좋다는게 문 팀장 평가다. 문 팀장은 "LLM 기반 서비스에선 모델이 중요한 것 같다. 모델 버전이 올라가니 못잡았던 할루시네이션이 저절로 해결된 경우들도 많다"고 전했다.
AI에 최적화된 데이터를 만드는 것도 문 팀장이 여러 차례에 걸쳐 강조한 포인트. 그는 "도메인과 SQL을 모두 잘 아는 사람들이 있어야 한다. 질문하는 이들도 AI에 맞게 바뀌어야 한다"고 말했다.
LG유플러스는 애저 오픈AI 서비스 기반으로 아쿠아를 구축했다. 벡터 검색과 임베딩은 애저를 활용한 반면 데이터 플랫폼은 구글 클라우드에 있는 빅쿼리 서비스를 사용 중이다. 아쿠아에서 프롬프트와 서비스 포털 영역이 빅쿼리 기반으로 돌고 있다고 한다.
문 팀장은 "마이크로소프트 환경에 대해 잘 모르는 상황에서 프로젝트를 시작했기 때문이다. 프롬프트 영역도 향후 마이크로소프트 기반으로 전환할 예정"이라며 "애저 클라우드와 애저 오픈AI서비스는 AI애플리케이션 개발시 개별 편의성과 성능, 비용 측면에서 유리하다"고 전했다.
LG유플러스는 아쿠아 서비스 고도화 작업도 지속적으로 추진 중이다. 모바일 버전도 오픈 예정이고, 정답률을 끌어올려주는 기술도 내년에 적용할 예정이다. 문 팀장은 "지금은 사용자가 한 질문들에 대해 아쿠아가 제대로 답변했는지 사람이 확인하고 있는데, 내년에는 AI가 체크할 수 있도록 할 것"이라고 말했다.
기업들이 LLM을 내부용으로 쓰는 과정에서 LLM 자체를 파인튜닝(fine-tuning: 미세조정)하는 경우도 있지만 LG유플러스는 아쿠아에 대해 파인튜닝은 필요치 않다는 입장이다.
문 팀장은 ""모델을 파인튜닝하는 것보다는 메타와 퓨-샷을 잘 만드는 게 ROI 측면에서 훨씬 더 낫다"면서 "데이터 엔지니어링 팀 차원에서 모델 튜닝은 처음부터 고려하지 않았다"고 전했다.
멀티 LLM에 대해서는 큰틀에서 가야할 방향으로 보고 있다. 지금은 GPT-4o 위주로 아쿠아를 운영 중이지만 향후에는 자체 모델에 더해 다양한 LLM들을 활용하는 방향으로 갈 것이란게 회사측 입장이다.