Super Kawaii Cute Cat Kaoani

NLP/paper

[paper] Text2SQL is Not Enough: Unifying AI and Databases with TAG

zozni 2024. 9. 5. 13:22
728x90
반응형
SMALL

[논문 본문]

https://arxiv.org/pdf/2408.14717 

 

데이터베이스와 LLM 지식 통합하는 '테이블 증강 생성' 기술 

 

웹 데이터를 검색해서 찾는 검색엔진 + LLM인 RAG. (검색 증강 생성)

DB를 직접 연결하는 DB + LLM인 TAG. (테이블 증강 생성)

 

사용자가 자연어 질문을 할 때, 

text-SQL 이나 RAG 방식을 주로 사용한다.

 

하지만 두가지 방식 모두 의미론적 추론이나 데이터 소스에서 직접 얻을 수 있는 것 이상의 지식을 요구하는 자연어 쿼리에는 어려움이 있다.

 

텍스트 프롬프트를 DB에서 실행할 수 있는 SQL 쿼리로 변환하는 기존의 text-SQL 방법들은

관계 연산으로 표현할 수있는 자연어 질문만을 다루고, 이는 사용자 질문 중 일부에 불과하다. (RAG도 마찬가지로 소수의 데이터 기록을 찾아 답변할 수 있는 질문만을 고려한다.)

 

따라서 복잡한 쿼리에 대응하는 효과적인 시스템을 만들기 위해서는 단순 조회나 관계 연산을 넘어, 

DB의 계산적 정밀성 + 언어 모델의 추론능력이 결합되어야 한다.

 

[TAG 구성]

- (1) 사용자 질문을 실행 가능한 DB 쿼리로 변환하는 '쿼리 합성(Query Synthesis)'

- (2) 쿼리를 실행해 관련 데이터를 검색하는 '쿼리 실행(Query Execution)'

- (3) 데이터와 쿼리를 사용해 자연어 답변을 생성하는 '답변 생성(Answer Generation)'

 

-> 이를 통해 TAG는 특정 쿼리에 제한되는 text-Query나 RAG와 달리, 더 넓은 범위의 쿼리를 처리할 수 있다. 

 

이 방식을 통해 LLM의 추론 능력이 쿼리 합성(1) 및 답변 생성(3) 단계에 모두 통합되며,

DB 시스템의 (2) 쿼리 실행은 집계, 수학 계산, 필터링 등 계산 작업을 처리하는 데 있어 RAG의 비효율성을 해결한다.

시스템은 의미적 추론, 세계 지식, 도메인 지식을 모두 요구하는 복잡한 질문에 답할 수 있게 된다.

 

예를 들어, '고전으로 여겨지는 최고 수익을 올린 로맨스 영화의 리뷰 요약'이라는 질문에 답할 수 있다. 

 

이 질문은 text-SQL 이나 RAG 에서는 잘 동작하지 않는다.

왜냐하면, DB에서 최고 수익을 올린 로맨스 영화를 찾아야 할 뿐만 아니라 세계 지식을 활용해 해당 영화가 고전인지도 판단해야 하기 때문이다.

 

하지만 TAG는

시스템은 관련 영화 데이터를 위한 쿼리를 생성하고, 필터와 LLM을 사용해 수익 순으로 정렬된 고전 로맨스 영화 테이블을 생성한 뒤 

테이블에서 가장 높은 순위의 영화에 대한 리뷰를 요약해 원하는 답변을 제공한다.

 

[실험]

text-SQL 평가 셋인 'BIRD' 데이터셋 활용.

질문들을 추가해 벤치마크를 강화하였다. 

수정된 벤치 마크는 TAG 구현이 text-SQL이나 RAG 방식에 비해 어떤 성과를 내는지 평가하는데 사용되었다.

 

[결과]

다른 모델은 20% 이상의 정확도를 달성하지 못하였으나, TAG는 40% 이상의 정확도를 보였다. 

 

구체적으로, TAG는 

전체적으로 55%의 쿼리에 정확하게 답변하였고, 비교 쿼리에서 65%의 정확도를 기록하며 가장 우수한 성과를 보였다.

전반적으로 표준 기존 모델들에 비해 20%에서 65%까지 정확도 향상을 제공했다.

 

이 외에도 TAG 구현이 다른 기준 모델들에 비해 쿼리 실행속도가 3배가량 빠르다는 것을 발견했다.

 

[결론]

TAG는 AI와 DB를 결합해 구조화된 데이터 소스에서 복잡한 질문에 답할 수 있다는 방법을 제공한다.

이를 통해 복잡한 코드를 작성하지 않고도 데이터셋에서 더 많은 가치를 추출할 수 있다.

 

 

 

- 논문 번역 전문 - 

 

[abstract]

데이터베이스를 통해 자연어 질문을 제공하는 AI 시스템은 엄청난 가치를 창출할 수 있습니다. 이러한 시스템은 다음을 가능하게 합니다
사용자는 언어 모델(LM)의 강력한 추론 및 지식 기능과 데이터 관리 시스템의 확장 가능한 계산 능력을 활용합니다. 이러한 결합된 기능을 통해 사용자는 사용자 지정 데이터 소스를 통해 임의의 자연어 질문을 할 수 있습니다. 그러나 기존 방법
벤치마크는 이 설정을 충분히 탐색하지 못합니다. Text2SQL 방법은 실제 사용자가 묻고자 하는 질문의 작은 하위 집합을 나타내는 관계 대수로 표현할 수 있는 자연어 질문에만 초점을 맞춥니다. 마찬가지로 검색-증강 생성(RAG)은 데이터베이스 내의 하나 또는 몇 개의 데이터 레코드에 대한 포인트 룩업으로 응답할 수 있는 쿼리의 제한된 하위 집합을 고려합니다. 우리는 테이블-증강 생성(TAG), 즉
데이터베이스를 통해 자연어 질문에 답할 수 있는 통합되고 범용적인 패러다임입니다. TAG 모델은 이전에 탐구되지 않았던 LM과 데이터베이스 간의 광범위한 상호 작용을 나타내며, 데이터를 통해 LM의 세계 지식과 추론 기능을 활용할 수 있는 흥미로운 연구 기회를 창출합니다. 우리는 TAG 문제를 연구하기 위해 벤치마크를 체계적으로 개발하고 표준 방법이 해답을 찾을 수 있습니다
20% 이하의 쿼리가 올바르게 수행되어 다음과 같은 필요성을 확인합니다
이 분야에 대한 추가 연구. 다음에서 벤치마크 코드를 릴리스합니다

 

[Introduction]

언어 모델은 사용자가 데이터에 대해 자연어 질문을 할 수 있도록 함으로써 데이터 관리에 혁명을 일으킬 것을 약속하며, 이로 인해 Text2SQL 및 검색 증강 생성(RAG) 방법에 대한 많은 연구가 진행되고 있습니다. 그러나 내부 워크로드와 Databricks의 고객을 포함하여 사용자의 질문은 종종 이러한 패러다임의 기능을 뛰어넘어 데이터베이스 시스템의 논리적 추론 능력과 최신 언어 모델(LM)의 자연어 추론 능력을 결합한 시스템에 대한 새로운 연구 투자를 요구합니다.
특히 실제 비즈니스 사용자의 질문에는 도메인 지식, 세계 지식, 정확한 계산 및 의미론적 추론의 정교한 조합이 필요한 경우가 많다는 것을 발견했습니다. 데이터베이스 시스템은 저장하는 최신 데이터와 규모에 맞는 정확한 계산을 통해 도메인 지식의 원천을 명확하게 제공합니다(LM은 잘 못합니다).
LM은 두 가지 주요 방식으로 데이터베이스의 기존 기능을 확장할 수 있습니다. 첫째, LM은 많은 자연어 사용자 쿼리의 핵심 요소인 텍스트 데이터에 대한 의미론적 추론 기능을 갖추고 있습니다.
예를 들어, Databricks 고객 설문조사에 따르면 사용자들은 제품 X에 대한 어떤 고객 리뷰가 긍정적인지 또는 이 기간 동안 매출이 감소한 이유와 같은 질문을 하고 싶어하는 것으로 나타났습니다. 이러한 질문은 자유 텍스트 필드에 대한 감정 분석이나 추세 요약과 같은 복잡한 추론 기반 작업을 제시합니다. LM은 이러한 작업에 잘 적합하며, 기존 데이터베이스 시스템에서는 정확한 계산이나 관계형 기본 요소로 모델링할 수 없습니다.

둘째, 모델 학습 중에 학습되고 모델의 가중치에 의해 암묵적으로 저장된 지식을 사용하여 LM은 데이터베이스의 테이블 스키마에 명시적으로 포착되지 않는 세계 지식으로 사용자의 데이터를 강력하게 보강할 수 있습니다. 예를 들어, 데이터브릭스 내부 AI 사용자는 계정 이름, 제품 및 수익에 대한 속성이 포함된 테이블을 통해 '소매' 수직에 대한 QoQ 트렌드가 무엇인지 물었습니다. 이 질문에 답하려면 시스템이 비즈니스가 QoQ를 정의하는 방식(예: 작년 분기부터 현재 분기 또는 올해 분기까지의 분기별 추세)과 소매 수직에 속하는 것으로 간주되는 회사를 이해해야 합니다. 이 작업은 사전 학습되었거나 미세 조정된 LM이 보유한 지식을 활용하는 데 매우 적합합니다.
데이터베이스와 LM을 함께 효율적으로 활용하는 시스템
자연어 쿼리는 일반적으로 사용자가 데이터를 이해하는 방식을 변화시킬 수 있는 잠재력을 가지고 있습니다. 안타깝게도 이러한 질문은 오늘날 일반적인 방법으로는 답변할 수 없습니다,
Text2SQL 및 RAG와 같은 방법입니다. 반면 Text2SQL 방법 [26, 28, 31, 32]
는 다음과 같은 자연어 쿼리의 하위 집합에 적합합니다
직접적인 관계 등가물은 의미론적 추론이나 세계 지식이 필요한 방대한 사용자 쿼리를 처리할 수 없습니다.
예를 들어, 어떤 고객 리뷰가 긍정적인지 묻는 이전 사용자 질문은 리뷰에 대한 논리적 행 단위의 LM 추론이 필요하여 각각 긍정 또는 부정적으로 분류할 수 있습니다. 마찬가지로 매출이 감소한 이유를 묻는 질문에는 많은 테이블 항목에 걸쳐 정보를 집계해야 하는 추론 질문이 포함됩니다.

반면, RAG 모델은 몇 개의 데이터 레코드에 대한 단순 관련성 기반 포인트 룩업으로 제한되며, 그 다음에는 단일 LM 호출로 제한됩니다. 이 모델은 포인트 룩업으로 응답할 수 있는 쿼리의 하위 집합만 제공하며, 또한 많은 데이터베이스 시스템의 풍부한 쿼리 실행 기능을 활용하지 못하기 때문에 계산 작업(예: 카운팅, 수학 및 필터링)이 오류가 발생하기 쉬운 LM의 단일 호출에 맡겨집니다. 계산 작업에서 오류가 발생하기 쉽고 비효율적일 뿐만 아니라 LM은 RAG 생성 단계에서 대규모 데이터에 대한 추론 능력을 제한하는 긴 컨텍스트 프롬프트에서 저조한 성능을 보이는 것으로 나타났습니다.
대신 데이터베이스를 통해 자연어 질문에 답하는 시스템을 위한 통합 패러다임으로 테이블 증강 생성(TAG)을 제안합니다. 구체적으로 TAG는 그림 1과 같이 세 가지 주요 단계를 정의합니다. 먼저, 쿼리 합성 단계는 사용자의 임의의 자연어 요청인 𝑅를 실행 가능한 데이터베이스 쿼리인 𝑄로 변환합니다. 그런 다음 쿼리 실행 단계 실행은 데이터베이스 시스템에서 𝑄을 실행하여 관련 데이터인 𝑇을 효율적으로 계산합니다.
마지막으로, 답변 생성 단계는 𝑅와 𝑇을 활용하여 LM이 데이터를 통해 반복 또는 재귀적 패턴으로 조정되어 최종 자연어 답변 𝐴을 생성합니다. 태그 모델은 간단하지만 강력합니다. 다음 세 가지 방정식으로 정의되지만 이전에 연구되지 않은 LM과 데이터베이스 간의 광범위한 상호 작용을 캡처합니다.

특히 TAG 모델은 TAG의 특별한 사례를 나타내며 제한된 하위 집합의 사용자 질문만 제공하는 Text2SQL과 RAG를 모두 포함한 이전 방법을 통합합니다.
여러 이전 작업에서 이러한 특별한 태그 사례를 다루었지만, 우리는 LM 추론 및 지식 기능이 필요한 광범위한 현실적인 쿼리 세트로 구성된 최초의 종단 간 태그 벤치마크를 제공합니다. 우리는 이러한 유형의 질문으로 인해 제기되는 중요한 연구 과제와 효율적인 태그 구현의 가능성을 보여줍니다. 우리의 평가는 바닐라 Text2SQL 및 RAG 베이스라인과 LM 기반 재순위화를 통한 Text2SQL 생성 및 검색이라는 두 가지 강력한 베이스라인을 분석합니다. 다양한 쿼리 유형에서 각 베이스라인 방법은 벤치마크에서 20%의 정확한 일치도를 초과하지 않고 높은 정확도를 달성하는 데 지속적으로 실패한다는 것을 발견했습니다. 반면에, 우리는 최근 ROOTUS 런타임[21] 위에 손으로 쓴 TAG 파이프라인을 구현하여 베이스라인에 비해 최대 20~65% 더 높은 정확도를 달성한다는 것을 발견했습니다. 이러한 상당한 성능 격차는 효율적인 TAG 시스템 구축의 가능성을 보여줍니다.

 

2. The TAG model 

이제 자연어 요청 𝑅을 취하고 데이터 소스에 기반한 자연어 답변 𝐴을 반환하는 태그 모델을 설명합니다. 우리는 태그 시스템이 구현하는 세 가지 주요 단계, 즉 쿼리 합성, 쿼리 실행 및 답변 생성에 대해 간략하게 설명합니다.
우리는 이러한 단계의 단일 반복으로 TAG를 다루기 쉽게 정의하지만, 멀티홉 방식으로 TAG를 확장하는 것을 고려할 수 있습니다.

 

2.1 Query Synthesis

syn 함수는 자연어 요청 𝑅을 가져다가 데이터베이스 시스템에서 실행할 쿼리 𝑄를 생성합니다. 사용자 요청이 주어지면 이 단계는 (a) 요청에 응답하는 것과 관련된 데이터를 추론하고 (예: 테이블 스키마를 사용하여) 의미론적 구문 분석을 수행하여 사용자 요청을 데이터베이스 시스템에서 실행할 수 있는 쿼리로 변환하는 작업을 담당합니다. 이 쿼리는 모든 쿼리 언어로 제공될 수 있지만, 예제에서는 SQL을 사용합니다.
그림 1은 "가장 높은 수익을 올린 로맨스 영화의 리뷰를 요약하면 '클래식'으로 간주됩니다."라고 묻는 사용자 쿼리에 대한 태그 인스턴스화 예제를 보여줍니다. 여기서 데이터 소스에는 각 영화의 제목, 수익, 장르 및 관련 리뷰에 대한 정보가 포함되어 있습니다. 이 단계에서 시스템은 LM의 의미론적 추론 능력을 활용하여 데이터 소스에서 movie_title, 리뷰, 수익 및 장르의 속성을 사용하는 SQL 쿼리를 생성합니다.
이 예에서 데이터베이스 API는 SQL 쿼리 내에서 LM UDF를 실행할 수 있으므로 이 단계에서는 쿼리 내에서 클래식 영화를 식별하기 위해 각 행에 대한 LM 호출도 도입합니다.

 

2.2 Query Execution 

쿼리 실행 단계에서 실행 함수는 데이터베이스 시스템에서 쿼리 𝑄를 실행하여 테이블 𝑇를 얻습니다. 이 단계는 데이터베이스 쿼리 엔진을 활용하여 방대한 양의 저장된 데이터에 대해 쿼리를 효율적으로 실행합니다. 데이터베이스 API는 다양한 시스템에서 서비스될 수 있으며, 섹션 3에서 살펴봅니다. 일부 API를 사용하면 LM 기반 연산자[18-21]가 데이터베이스 엔진이 실행 내에서 LM의 세계 지식 및 추론 기능을 활용할 수 있습니다.
그림 1의 예제에서 데이터베이스 쿼리는 SQL로 작성된 선택 및 순위 쿼리로, 관련 행이 포함된 테이블을 반환합니다. 이 쿼리는 영화 제목에 따라 어떤 영화가 고전인지 평가하기 위해 LM을 사용하고 로맨스 영화를 찾기 위해 장르에 대한 표준 필터를 사용하여 선택을 수행합니다. 또한 이 쿼리는 수익에 따라 결과의 순위를 매겨서 가장 높은 수익을 올리는 영화를 찾습니다. 그림에서 볼 수 있듯이 결과 표에는 영화 "타이타닉"에 대한 리뷰가 포함되어 있습니다

 

그림 1: 영화에 관한 테이블 위에서 사용자의 자연어 질문에 답하기 위한 예시 태그 구현.
태그 파이프라인은 쿼리 합성, 쿼리 실행, 답변 생성의 세 단계로 진행됩니다

 

2.3 Answer generation

TAG의 답변 생성 단계는 RAG의 생성 단계를 반영합니다. 이 단계에서 유전자 함수는 LM을 사용하여 계산된 데이터 𝑇 𝑅를 사용하여 사용자의 자연어 요청 𝐴에 대한 답변 𝐴을 생성합니다.
그림 1은 원래 사용자 요청에 대한 답으로 "타이타닉"에서 리뷰 요약을 출력하는 예제 태그 파이프라인의 마지막 단계를 보여줍니다. 예제에서 관련 데이터 𝑇는 모델이 처리할 문자열로 인코딩됩니다. 인코딩된 테이블은 원래 사용자 요청인 𝑅와 함께 LM으로 전달됩니다. 답을 얻기 위해 이 단계에서는 리뷰 열에 대한 모델의 의미론적 추론 기능을 활용하여 리뷰를 요약합니다.

 

3. TAG Design space

이 섹션에서는 TAG 모델의 일반성을 탐구하고 TAG 모델이 생성하는 풍부한 설계 공간을 설명하며, 연구가 부족한 몇 가지 추가 연구 기회를 강조합니다.

Query Type

 TAG 모델은 광범위한 자연어 사용자 쿼리를 제공할 만큼 표현력이 뛰어납니다. 우리는 (a) 쿼리에 응답하는 데 필요한 데이터 집계 수준과 (b) 쿼리에 응답하는 데 필요한 지식과 역량에 따라 두 가지 중요한 쿼리 분류를 고려합니다. 첫째, TAG 모델은 데이터베이스의 하나 또는 몇 개의 행을 조회해야 하는 검색 기반 질문[3, 9, 15, 16, 25, 30]과 같은 두 가지 포인트 쿼리와 데이터베이스의 여러 행에 걸쳐 논리적 추론이 필요한 요약 또는 순위 기반 질문과 같은 집계 쿼리를 모두 캡처합니다. 둘째, TAG 모델은 시스템에서 다양한 요구 사항을 가진 자연어 쿼리가 감정 분석 및 분류와 같은 작업을 포함하여 데이터 또는 추론 기반 기능을 제공할 수 있도록 지원합니다.

 

Data Model 

기본 데이터 모델은 다양한 형태로 사용할 수 있습니다.
우리의 구현은 관계형 데이터베이스를 사용하여 다운스트림 질문 답변 작업에서 지식 기반을 위한 구조화된 속성을 저장하고 검색합니다. 다른 구현은 키 값, 그래프, 벡터, 문서 또는 객체 저장소와 같은 다양한 데이터 모델과 함께 저장할 수 있는 더 비구조화된 데이터(예: 자유 텍스트, 이미지, 비디오 및 오디오) 또는 반구조화된 데이터에서 작동할 수 있습니다.

 

Database Execution Engine and API 

본 시스템
데이터를 저장하는 데 사용되는 많은 가능한 데이터베이스 실행 엔진을 사용할 수 있습니다. Text2SQL은 사용자 쿼리에 대한 관계형 데이터를 검색하기 위한 SQL 기반 쿼리 엔진의 설정을 고려합니다. 이 설정에서 syn은 테이블 스키마와 같은 데이터 소스의 지식을 활용하고 SQL 쿼리를 반환하여 검색 단계를 수행합니다. 또 다른 일반적인 설정인 벡터 임베딩을 통한 검색 시스템에서 syn은 자연어 쿼리를 임베딩으로 변환하고 벡터 스토어에서 유사성 기반 검색을 수행합니다.
이 두 가지 설정은 널리 연구되어 왔지만, 아직 연구되지 않은 여러 대체 설정은 더 광범위한 쿼리를 처리하기 위해 태그 시스템을 효율적으로 구현할 수 있는 흥미로운 기회를 제공합니다. 예를 들어, 최근 연구에서는 선언적 AI 기반 연산자 집합(예: 자연어 지정자로 필터링, 순위 지정, 집계 및 검색 수행) 또는 범용 LM 기능을 제공하는 LM 사용자 정의 기능[19]을 사용하여 관계형 모델을 보강합니다. 또한 MADLib[10], Google의 BigQuery ML[1], Microsoft의 예측 SQL[24]과 같은 쿼리 언어는 기본 ML 기반 기능으로 SQL 기반 API를 보강합니다. 이러한 시스템을 활용하면 최적화된 추론 기반 검색 패턴을 실행할 수 있는 고유한 기회를 제공합니다. 예를 들어, 그림 1의 예시에서 의미 연산자[21]로 구현된 TAG 파이프라인은 쿼리 실행 단계에서 행이 '클래식'인지 여부에 따라 sem_filter 연산자를 사용하여 행을 필터링할 수 있습니다.

 

LM Gereration Patterns

관련 데이터의 𝑇 표가 주어지면, 세대는 광범위한 구현 결정으로 구성될 수 있습니다
사용자 요청 𝑅에 응답하여 최종 자연어 답변을 생성합니다. Text2SQL은 최종 생성 단계를 생략하고 쿼리 실행 직후에 중단되지만, RAG 파이프라인은 일반적으로 관련 데이터가 컨텍스트에서 피드되는 단일 LM-콜 생성 구현을 활용합니다. 이 설정에서 여러 작업에서 테이블 인코딩[8], 프롬프트 압축[5] 및 프롬프트 튜닝[13]과 관련된 하위 문제를 연구하여 컨텍스트 내 학습 결과를 최적화합니다.
로터스[21]와 같은 최근 연구에서는 여러 데이터 행에 걸쳐 추론 기반 변환, 집계 또는 순위와 관련된 쿼리에 응답하기 위한 반복 또는 재귀적 LM 생성 패턴을 구성할 수 있는 잠재력을 강조합니다. 초기 연구에서는 이러한 LM 기반 알고리즘이 제시하는 풍부한 설계 공간과 여러 다운스트림 작업에 대한 유망한 결과를 보여줍니다.

 

4. Evaluation

이 섹션에서는 첫 번째 TAG 벤치마크를 소개하고 다음 질문을 해결하기 위해 일련의 기준선을 평가합니다: (1) 표 질문 답변을 위한 기존 방법은 의미론적 추론 또는 세계 지식이 필요한 쿼리에서 어떻게 수행되나요?
(2) 계산 단계와 추론 단계를 여러 단계로 나누는 TAG 모델의 수기 구현 방법
DBMS 및 LM 작업, 이러한 쿼리에 대해 수행합니까?

 

4.1 Benchmark Methodology

기존 벤치마크는 데이터 소스의 데이터에서 전적으로 답변할 수 있는 기본 쿼리에서 모델이 어떻게 수행되는지 탐구했습니다. 우리는 데이터 소스에서 직접 사용할 수 없는 지식이나 의미론적 추론이 답변에 필요하지 않도록 쿼리를 수정하여 이전 작업을 기반으로 합니다. 우리는 다양한 도메인 및 쿼리 유형과 함께 대규모 표에 대해 LM을 평가한 널리 사용되는 Text2SQL 벤치마크인 BIRD[17]를 선택합니다.

 

Dataset

기존 벤치마크는 데이터 소스의 데이터에서 전적으로 답변할 수 있는 기본 쿼리에서 모델이 어떻게 수행되는지 탐구했습니다. 우리는 데이터 소스에서 직접 사용할 수 없는 지식이나 의미론적 추론이 답변에 필요하지 않도록 쿼리를 수정하여 이전 작업을 기반으로 합니다. 우리는 다양한 도메인 및 쿼리 유형과 함께 대규모 표에 대해 LM을 평가한 널리 사용되는 Text2SQL 벤치마크인 BIRD[17]를 선택합니다.

 

Queries

BIRD 벤치마크는 일치 기반, 비교, 순위 및 집계 쿼리를 포함한 기본 쿼리 유형을 정의합니다.
우리는 BIRD 벤치마크에서 이러한 유형 중에서 쿼리를 선택하고 모델이 답변하는 데 세계 지식이나 의미론적 추론이 필요하도록 수정합니다. 세계 지식이 필요한 수정된 쿼리의 예로, California_schools DB에서 수정된 쿼리는 베이 지역의 학교만 요청하는 추가 조항을 추가합니다. 이 정보는 표에 없으며 모델의 세계 지식이 답변해야 합니다. 다음으로, LM 추론이 필요한 수정된 쿼리는 코드베이스_커뮤니티 DB의 특정 게시물에 대해 가장 비꼬는 댓글 상위 3개를 요청합니다. 이러한 쿼리에 대한 평가는 사람이 레이블로 지정한 지상 진실에 의존합니다. 최종 벤치마크는 80개의 수정된 쿼리로 구성되며, 40개는 매개 변수 지식이 필요하고 40개는 추론이 필요하며, 4개의 선택된 BIRD 쿼리 유형은 각각 20개입니다.

 

Evaluation metrics

정확도는 일치 기반, 비교 및 순위 쿼리 유형에 대한 레이블이 지정된 정답과 비교하여 정확한 일치 비율로 측정합니다. 집계 쿼리의 경우 각 기준선을 사용하여 결과에 대한 정성적 분석을 제공합니다. 또한 각 쿼리에 대한 실행 시간을 초 단위로 측정합니다.

 

Experimental setup

텍스트2SQL과 최종 출력 생성 모두에 70B 매개 변수가 있는 메타의 라마-3.1 모델[2]의 명령어 튜닝 변형을 LM으로 사용합니다. SQLite3를 SQL과 관련된 기준선의 데이터베이스 API로 사용하고 RAG 기준선의 경우 E5 기본 임베딩 모델[23]을 사용합니다. 8개의 A100 80GB GPU에서 라마-3.170B-Instruct with vLLM[14]을 실행합니다.

 

4.2 Baselines

Text2SQL

이 베이스라인에서 LM은 답변을 얻기 위해 실행되는 SQL 코드를 생성합니다. 주어진 NL 쿼리에 대해 BIRD 작업에서와 동일한 프롬프트 형식을 사용하여 쿼리 도메인의 모든 테이블에 대한 테이블 스키마가 포함된 LM 프롬프트를 구성합니다. 우리는 생성된 SQL 코드를 SQLite3에서 실행하고 모델이 유효한 SQL 코드를 생성하지 못하는 경우를 포함하여 오답의 수를 측정하는 이 베이스라인을 평가합니다.

 

RAG

표 형식 데이터를 검색을 위해 인덱스에 임베딩하는 테이블 검색[6, 25]에 대해 RAG 스타일 방법이 탐색되었습니다. 베이스라인의 경우 행 수준 임베딩을 사용합니다. 주어진 행은 FAISS [7] 인덱스에 임베딩되기 전에 각 열에 대해 "-col: val"로 직렬화됩니다. 쿼리 시간 동안 벡터 유사성 검색을 수행하여 NL 질문과 함께 모델에 컨텍스트로 제공할 관련 행 10개를 검색합니다.

 

Retrieval + LM Rank

우리는 STARK 작업[25]에서와 같이 검색된 행에 대해 0에서 1 사이의 점수를 할당하여 모델에 입력하기 전에 행의 순위를 다시 매기는 LM을 사용하여 RAG 기준선을 확장합니다.
라마-3.1-70B-Instrument를 리랭크로 사용합니다.

 

Text2SQL + LM

이 기준선에서 우리 모델은 먼저 주어진 NL 쿼리에 응답하기 위해 관련 행 집합을 검색하기 위해 SQL을 생성하도록 요청받습니다.
이는 실행 시 쿼리에 대한 답변만 제공하는 SQL 코드를 모델이 직접 생성하도록 요청하는 Text2SQL 베이스라인과는 중요한 차이점입니다. RAG 베이스라인과 유사하게 관련 행은 검색되면 모델에 컨텍스트에서 피드됩니다.

 

Hand-written TAG

또한 자연어 요청의 자동 쿼리 합성이 아닌 테이블 스키마에 대한 전문가 지식을 활용하여 다음과 같은 작업을 수행하는 수작업 태그 파이프라인을 평가합니다
데이터베이스 쿼리. 우리는 ROOTUS로 손으로 쓴 태그 파이프라인을 구현합니다[21]. ROOTUS API를 사용하면 프로그래머는 표준 관계 연산자뿐만 아니라 LM 기반 필터링, 순위 및 집계와 같은 의미 연산자와 함께 쿼리 파이프라인을 선언적으로 지정할 수 있습니다. 또한 ROOTUS는 최적화된 시맨틱 쿼리 실행 엔진을 제공하며, 이 엔진을 사용하여 손으로 쓴 태그 파이프라인의 쿼리 실행 및 답변 생성 단계를 구현합니다.

 

4.3 Results

표 1은 각 방법의 정확도, 정확한 일치로 측정된 정확도 및 실행 시간을 보여줍니다. 표에서 볼 수 있듯이, 선택한 BIRD 쿼리 유형에서 수기 태그 베이스라인이 일관되게 40% 이상의 정확도를 달성하며, 다른 모든 베이스라인이 20% 이상의 정확도를 달성하지 못하는 것으로 나타났습니다.
Text2SQL 베이스라인은 모든 베이스라인에서 실행 정확도가 20% 이하로 저조한 성능을 발휘하지만, 특히 많은 순위 쿼리에서 텍스트에 대한 추론이 필요하기 때문에 정확도가 10%에 불과한 순위 쿼리에서는 저조한 성능을 발휘합니다. Text2SQL + LM 생성 베이스라인은 베이스라인 간에 비슷한 성능 저하를 보이지만 정확도가 10%에 불과한 일치 기반 및 비교 쿼리에서는 더 나쁩니다. 이러한 쿼리 유형에서는 실행된 SQL 이후 모델에 여러 행으로 피드하는 동안 여러 컨텍스트 길이 오류가 발생합니다.
RAG 베이스라인에 주목한 결과, 모든 쿼리 유형에서 단일 쿼리에 올바르게 응답하지 못해 이 분야의 쿼리에 대한 적합성이 낮다는 것을 알 수 있었습니다. LM 순위를 변경하면 검색 + LM 순위가 비교 쿼리 중 쿼리에 올바르게 응답할 수 있지만, 베이스라인은 여전히 RAG를 제외한 다른 모든 쿼리보다 성능이 좋지 않습니다.
수작업으로 작성된 태그 베이스라인은 전체 쿼리의 55%를 정확하게 답변하여 65%의 정확한 일치 정확도로 비교 쿼리에서 가장 우수한 성능을 발휘합니다. 이 베이스라인은 항목을 정확하게 주문하는 데 어려움이 높기 때문에 순위 쿼리를 제외한 모든 쿼리 유형에서 50% 이상의 정확도로 일관되게 우수한 성능을 발휘합니다. 이 방법은 전반적으로 표준 베이스라인보다 20%에서 65% 사이의 정확도 향상을 제공합니다.

또한 표 2는 섹션 3에서 논의된 쿼리 유형에 대한 답변에서 표준 방법의 약점을 강조합니다. 즉, 바닐라 텍스트2SQL은 답변 생성 단계가 생략되어 정확한 일치 정확도가 10%인 LM 추론이 필요한 쿼리에서 특히 어려움을 겪습니다. 한편, RAG 베이스라인과 검색 + LM 랭크 베이스라인은 데이터에 대한 모든 정확한 계산을 처리하기 위해 LM에 의존하기 때문에 모든 쿼리 유형에서 하나의 쿼리만 올바르게 답변하는 데 어려움을 겪습니다. 반면, 수기로 작성된 TAG 베이스라인은 지식이 필요한 쿼리와 추론이 필요한 쿼리 모두에서 50% 이상의 정확도를 달성하여 캡슐화하는 쿼리에서 TAG 모델의 다재다능함을 강조합니다.
특히, 수작업으로 작성된 TAG 방법은 우수한 정확도를 제공할 뿐만 아니라 다른 기준선에 비해 최대 3.1배 낮은 실행 시간으로 효율적인 구현을 제공합니다. 수작업으로 작성된 베이스라인은 모든 쿼리에 대해 평균 2.94초가 소요됩니다. 상대적으로 낮은 실행 시간은 LM의 효율적인 일괄 추론을 활용하여 효율적인 TAG 시스템을 설계할 수 있음을 강조합니다.
마지막으로 집계 쿼리에 대한 각 베이스라인의 결과를 정성적으로 분석합니다. 그림 2는 예제 쿼리 "세팡 인터내셔널 서킷에서 열리는 레이스에 대한 정보 제공"의 RAG, Nive TAG 및 수기 베이스라인에 대한 결과를 보여줍니다.
RAG 베이스라인은 대부분의 관련 레이스가 검색되지 않기 때문에 일부 레이스에 대한 정보만 제공할 수 있습니다. 반면, Text2SQL + LM 베이스라인은 매개 변수 지식에만 의존하고 추가 분석을 제공하지 않으므로 DBMS의 정보를 활용할 수 없습니다. 수작업으로 작성된 베이스라인은 1999년부터 2017년까지 세팡 인터내셔널 서킷에서 열린 모든 레이스에 대한 철저한 요약을 제공합니다. 벤치마크에서 제공한 다른 집계 쿼리에서도 유사한 추세를 관찰했으며, 초기 결과는 TAG 시스템이 대량의 데이터를 성공적으로 집계하여 유익한 답변을 제공할 수 있는 잠재력을 강조합니다.
정량적 분석은 향후 작업에 맡깁니다.

 

6. Conclusion

이 연구에서 우리는 데이터베이스를 통해 자연어 질문에 답하기 위한 통합 모델로 테이블 증강 생성(TAG)을 제안했습니다. 우리는 두 가지 중요한 유형의 쿼리, 즉 세계 지식이 필요한 쿼리와 의미론적 추론 기능이 필요한 쿼리를 연구하기 위해 벤치마크를 개발했습니다. 체계적인 평가를 통해 기본 방법으로는 이러한 작업에서 의미 있는 견인력을 발휘할 수 없음을 확인할 수 있습니다. 그러나 수작업으로 작성된 TAG 파이프라인은 최대 65% 더 높은 정확도를 달성할 수 있으며, 이는 TAG 시스템 구축을 위한 상당한 연구 기회를 보여줍니다.

728x90
반응형
LIST