[기고] 기업 데이터 분석의 새로운 패러다임, 생성형 BI
그야말로 AI열풍이다. 기업에서는 업무 전반에 인공지능(AI) 특히, 대규모 언어모델(LLM)을 적용하거나 새로운 비즈니스 기회를 창출하는 시도가 활발하게 이루어지고 있다. LLM은 언어 모델이기 때문에 주로 비정형 텍스트 문서를 기반으로 AI 활용을 모색하고 있다. LLM의 단점을 보완하기 위해 검색 증강 생성(RAG) 아키텍처를 적용하는 경우도 많다. 다만, 기업의 중요한 정보는 비정형(unstructured) 문서에만 존재하는 것이 아니라, 관계형 데이터베이스(RDB) 같은 데이터 저장소에 정형(structured) 형태로도 존재한다. RDB 데이터의 LLM 적용을 위해서 RDB 데이터를 문서형태로 변환하는 것은 비효율적이다. RDB 데이터는 SQL을 통해 질의하고 결과를 얻는 것이 적절하므로, LLM이 SQL을 생성하도록 하는 것이 바람직하다. 이 과정은 자연어 기반 질의(NL2SQL) 영역에 속하며, LLM이 자연어 질의를 SQL로 변환할 수 있다. LLM은 자연어 질의에 대한 답변을 비롯해 SQL 작성에도 비교적 높은 수준의 성능을 보인다. 다만, LLM은 조직의 내부 DB 정보를 학습하지 않았으므로 RAG 방식으로 기업 내 DB 정보를 LLM 프롬프트에 질의와 함께 전달해 주면, 비교적 정확한 SQL을 생성할 수 있다. RDB에 데이터를 저장하고 분석하는 일은 전통적인 비즈니스 인텔리전스(BI) 영역에 속한다. 데이터 분석을 목적으로 한 NL2SQL은 BI 영역에 생성형AI를 적용한 것이므로 '생성형 BI'라 부를 수 있다. 글로벌 리서치 기관인 가트너에서도 생성형 BI라는 용어를 사용하기 시작했으며, 비정형 텍스트를 대상으로 생성형AI가 활발히 적용된 만큼, 정형 데이터를 대상으로 한 생성형 BI 영역도 급속도로 성장할 것으로 예상된다. 하지만 LLM이 생성하는 SQL이 항상 정확한 것은 아니다. 단순한 DB 모델에서는 LLM의 정확도가 높지만, 복잡한 DB 모델에서는 성능이 떨어질 수 있다. 정확도를 높이기 위해 DB 정보에 대한 설명을 풍부하게 만들어주면 성능이 향상될 수 있으나, 여전히 100% 만족하기는 어렵다. 그 이유는 기업의 복잡한 업무가 DB 테이블 설계에 반영되어 있을 뿐만 아니라, DB 설계자의 설계 스타일도 반영되기 때문이다. 이러한 정보를 모두 서술하기도 어렵고, LLM에 전달해도 이해하지 못해 잘못된 SQL을 생성할 가능성이 크다. 또 다른 문제점은 BI 데이터 분석이 주로 수치화된 정보를 다룬다는 점이다. 예를 들어, 판매수량, 판매금액, 생산수량, 불량수량 등을 집계하는 경우가 많은데, 잘못 생성된 SQL의 결과값이 정답 SQL의 결과값과 조금만 다르다면, 예를 들어 연간 매출액이 10조인데 9.9조나 10.1조의 결과가 나왔다면, 사용자가 이를 오답으로 인지하기 어렵다. 텍스트 문서를 기반으로 한 생성형 AI의 답변이 거짓일 경우, 예를 들어 "세종대왕이 아이패드를 던졌다"는 식의 거짓말은 문장의 특성상 사용자가 쉽게 알아차릴 수 있지만, 숫자로 된 답변은 큰 차이가 아니라면 잘못된 결과임을 인지하기 어렵다. 이러한 Gen BI의 한계를 극복하는 방법 중 하나는 온라인 분석 처리(OLAP)를 활용하는 것이다. OLAP은 SQL을 모르는 사용자도 DB 데이터를 분석할 수 있게 해주는 기술이다. 사용자가 OLAP솔루션에서 OLAP리포트를 작성하고 실행 버튼을 누르면, OLAP엔진이 SQL을 자동 생성해주고 실행 결과를 리포트에 반환해준다. 마치 엑셀의 피봇테이블 기능으로 엑셀의 데이터를 분석하는 것과 유사하다. OLAP이 쿼리 생성자로서의 역할을 수행하는 셈이다. OLAP은 수십 년에 걸쳐 상용화된 기술로, OLAP의 쿼리는 항상 안전하고 정확하다. OLAP 메타데이터를 설정할 때 비즈니스 메타데이터와 기술 메타데이터의 매핑 및 테이블 간의 조인 관계를 미리 설정하기 때문에, 설정되지 않은 조합의 SQL은 생성되지 않는다. OLAP 기반의 Gen BI에서는 LLM이 OLAP 리포트 항목을 선택할 수 있도록, RAG 방식에서 DB 정보 대신 OLAP 메타 정보를 전달하면 된다. 이후 LLM이 OLAP 리포트를 생성하면, OLAP 엔진을 통해 정확한 SQL을 생성하고 실행할 수 있다. OLAP 기반 생성형 BI의 또 다른 장점은 NL2SQL 방식의 Gen BI보다 오류 식별이 용이하다는 점이다. 질의에서 바로 SQL이 생성되는 것이 아니라, 중간 단계에서 OLAP 리포트 항목(관점, 측정값, 필터 조건 등)이 만들어지므로, 사용자가 이를 보고 LLM이 올바른 답을 도출했는지 쉽게 검증할 수 있다. 많은 OLAP 기반 BI 솔루션과 분석 솔루션들이 Gen BI 기능과 서비스를 출시하고 있다. 아직 Gen BI는 초기 단계이지만, 정확도를 높이기 위한 RAG 적용이나 외부 LLM 활용에 따른 데이터 보안 문제 등이 점차 개선될 것으로 보인다. 예를 들어 마이크로스트레티지와 같은 OLAP 기반 BI 솔루션 제공업체들은 기존 BI의 장점에 AI를 결합한 솔루션을 제공하고 있다. NL2SQL 기반의 생성형 BI도 SQL을 아는 개발자나 분석가의 생산성을 높이는 초도 Query 작성용으로 활용한다면 가치를 발휘할 것이다. 그러나 SQL을 모르는 일반 사용자에게는 OLAP 기반의 생성형 BI가 더 유리할 것이다. 언제까지? 아마도 LLM이 DB 설계자의 성향까지 극복해 정확한 NL2SQL을 생성할 때까지일 것이다. 챗GPT의 등장과 빠른 업그레이드처럼, 그 시기는 예상보다 빨리 올 수도 있다.