본문 바로가기
논문리뷰

[논문리뷰] Text-to-SQL Empowered by Large Language Models: A Benchmark Evaluation

by 단깅수 2026. 1. 12.
728x90

Text-to-SQL Empowered by Large Language Models: A Benchmark Evaluation 논문 리뷰입니다.

논문 : Text-to-SQL Empowered by Large Language Models: A Benchmark Evaluation (2023)

저자 : Dawei Gao, Haibin Wang, Yaliang Li, Xiuyu Sun, Yichen Qian, Bolin Ding, Jingren Zhou

[1] Introduction

지난 글에서도 언급했듯이, LLM을 활용해 소스 코드를 자동으로 생성하는 Task는 큰 관심을 받고 있습니다.

 

그 중에서도 본 논문은 Text-to-SQL Task를 다루고 있습니다.

https://community.heartcount.io/ko/text-to-sql-rag/

 

기존의 Text-to-SQL 연구는 파인튜닝 방식이 주를 이뤘습니다.

 

하지만, GPT-4와 같은 LLM이 등장하면서 In-Context Learning 의 중요성이 커졌습니다.

 

당시에는 1) 데이터베이스 구조를 LLM이 이해하기 쉽게 전달하는 표준화된 스키마 표현이 부재했고 2) 질문과 상관없는 예시를 제공해 모델의 혼란을 야기했으며 3) 너무 많은 토큰을 입력하면 LLM의 입력 제한을 초과하는 경우가 있었습니다.

 

그래서 본 논문의 저자들은 이러한 문제점을 해결하기 위해 노력했고, Spider 벤치마크에서 SOTA를 달성하였습니다.


[2] Method

1) Question Representation

 

본 논문에서는 위와 같이 5가지 질문 표현을 비교 분석합니다.

 

1. Basic Prompt ($BS_P$)

- 별도의 instruction 없이 스키마 정보와 질문만 나열

- 구조 : 테이블 스키마 + Q : [질문] + A : SELECT (응답 시작 유도)

- 장점 : 토큰 소모량이 적고 구조가 간결

- 단점 : LLM에게 구체적인 규칙이나 제약 조건을 주지 않아 복잡한 문제에서 성능이 저하됨

 

2. Text Representation Prompt ($TR_P$)

- 스키마와 질문을 모두 자연어 문장 형태로 설명

- 구조 : 프롬프트 서두에 지시문 추가 + 자연어로 풀어서 쓴 테이블 설명

- 성능 : Spider-dev 데이터셋에서 Zero-shot 기준 69%의 정확도를 기록

- 의의 : 코드가 아닌 인간의 언어적 맥락으로 데이터베이스 구조를 전달하기 위해 시도함

 

3. OpenAI Demonstration Prompt ($OD_P$)

- OpenAI의 공식 데모에서 사용된 방식으로, 모든 정보를 주석처리(#) 형식으로 전달

- 구조 : 지시문 + '#'으로 시작하는 테이블 스키마 및 질문

- 차별점 : 지시문이 매우 구체적 (ex. 설명 없이 SQLite SQL 쿼리만 완성하시오.)

- 의의 : LLM이 불필요한 서술을 하지 않도록 제약 조건을 강화하여 출력 형식을 제어

 

4. Code Representation Prompt ($CR_P$)

- 데이터베이스를 정의하는 <CREATE TABLE> SQL 구문을 그대로 사용

- 구조 : 실제 SQL DDL문 + 주석 처리된 질문

- 장점 : Column type, Primary key, Foreign key 등 데이터베이스의 모든 구조적 정보를 가장 완벽하게 전달

- 단점 : 토큰 사용량이 매우 많으나 매우 높은 정확도를 기록

 

5. Alpaca SFT Prompt ($AS_P$)

- Alpaca 모델의 파인튜닝에 사용되었던 Markdown 기반의 지시 이행 형식

- 구조 : Instruction + Input + Response

- 의의 : 지도학습에 최적화된 형식이 프롬프트 엔지니어링이나 제로샷 상황에서도 효율적인지 검증하기 위해 포함

 

 

2) In-Context Learning for Text-to-SQL

본 논문이 프롬프트 엔지니어링 중 In-Context Learning 방식을 집중하는데,

Text-to-SQL Task에서 In-Context Learning 이란 타겟 질문과 데이터베이스가 주어졌을 때, 올바른 SQL이 생성될 확률을 최대화하는 것이라고 볼 수 있겠습니다.

 

LLM에 입력하기 전에 사용 가능한 전체 예시 데이터셋 중에서 가장 도움이 될만한 k개의 few-shot 예시를 고르고 이를 최적의 형식으로 배치하여 표현하는 것이 핵심입니다.

 

따라서 아래 4가지 예시 선택 전략을 비교합니다.

 

1) Random 방식 - 성능 비교를 위한 베이스라인

2) QTSS 방식 - 타겟 질문과 언어적으로 가장 유사한 예시를 선정하여 전달하는 방식

3) MQSS 방식 - 타겟 질문에서 테이블/컬럼명을 마스킹한 후 유사도를 측정 (도메인 정보의 간섭을 최대한 줄이고 의도 위주로 검색)

4) QRSS 방식 - 타겟 질문에 대해 미리 다른 예비 모델로 임시 SQL을 만들고 이와 가장 구조적으로 유사한 예시를 선정하는 방식

 

그리고, In-Context용으로 보여줄 예시를 선택했다면 어떻게 보여줄지 구성을 생각해야 하는데, 이 또한 2가지 전략을 비교합니다.

 

1) Full-Information Organization (FIO, 전체 정보 구성)

- 방법 : 타겟 질문과 똑같은 형식(스키마 + 질문 + SQL)으로 예시를 나열

- 장점 : LLM이 질문과 스키마를 보고 SQL의 생성 결과를 정확하게 알 수 있어 높은 정확도

- 단점 : 프롬프트의 길이가 너무 길어짐

 

2) SQL-Only Organization (SOO, SQL만 구성)

- 방법 : 스키마나 질문 없이, 참고용 SQL 쿼리들만 리스트 형태로 제공

- 장점 : 토큰을 적게 소모하므로 제한된 길이 내 훨씬 많은 예시를 넣을 수 있음

- 단점 : 질문과 SQL 사이의 연결고리가 사라져 LLM이 논리적 맥락을 파악하기 어려움

 

위와 같은 비교 전략들을 모두 확인한 후, 본 논문의 저자들은 DAIL-Selection과 DAIL-Organization 기법을 제안합니다.

 

3) DAIL-SQL

본 논문에서 소개하는 DAIL-SQL은 DAIL-Selection과 DAIL-Organization으로 나뉩니다.

 

<DAIL-Selection>

1. 먼저 타겟 질문 $q$와 데이터셋 내의 예시 질문 $q_i$ 모두에서 도메인 특화 단어들을 마스킹하고 유사도를 비교

2. 이와 동시에, 미리 예측된 쿼리 $s$와 데이터셋 내의 예시 쿼리 $s_i$ 사이의 쿼리 유사도를 계산

3. 쿼리 유사도가 임계값 $r$을 넘어가는 경우의 예시들을 대상으로 질문 유사도에 따라 정렬된 우선순위를 부여

4. 이를 통해 선택된 상위 k개의 예시들은 질문과 쿼리 모두에서 높은 유사성을 갖게 됨

 

<DAIL-Organization>

1. 위에서 언급한 FIO와 SOO의 절충안으로서 질문-SQL 매핑은 유지하면서 데이터베이스 스키마를 제거

2. 이를 통해 토큰 제한을 최소화하면서 LLM에게 구조적 매핑을 알려줄 수 있음

 

<질문 표현 : CRP 채택>

1. DAIL-SQL에서는 질문 표현 방식으로 CRP를 채택함

2. 다른 표현 방식에 비해 CRP가 기본키와 외래키를 포함한 데이터베이스의 모든 정보를 포함하고 있어, <JOIN>절 예측을 위한 외래키 정보와 같이 LLM에게 더 유용한 정보를 제공하기 때문

3. 또한, 방대한 코딩 코퍼스로 사전학습된 LLM은 큰 노력 없이도 CRP 형식의 프롬프트를 더 잘 이해할 수 있음


[3] Experiments

본 논문에서 성능 비교를 위한 데이터셋으로는 Spider, Spider-Realistic을 사용합니다.

 

평가지표는 EM(Exact-set-match Accuracy)과 EX(Execution Accuracy)를 사용합니다.

 

1) Question Representation

 

  • Fig 1. GPT-4, GPT-3.5-TURBO, TEXT-DAVINCI-003, Vicuna-33B의 4가지 LLM을 제로샷에서 평가
    • ODP(OpenAI 데모 프롬프트)가 4가지 LLM에 모두 부합하며 성능을 끌어올렸으나 ASP(Alpaca SFT 프롬프트)는 저조한 성능을 보이며 제대로 작동하기 위해서는 적절한 LLM과의 조합이 필요함을 보여줌
    • 대체로 GPT-4, GPT-3.5-TURBO의 성능이 높으나 GPT-4의 비싼 비용을 고려할 때 제로샷 시나리오에서는 GPT-3.5-TURBO와 ODP를 함께 사용하는 것이 더 나은 선택이 될 수 있음
  • Fig 2. 외래키 효과 분석 (CRP 외에 다른 방식에도 외래키를 추가하여 성능 변화 비교)
    • 외래키는 서로 다른 관계형 테이블 간 관계를 의미하며 이는 Text-to-SQL Task에서 도움이 될 수 있음
    • 대체로 많은 조합에서 외래키를 추가하면 성능이 향상
    • BSP에서는 놀라운 향상을 가져왔지만 ODP, ASP에서는 부정적인 영향을 미침
  • Fig 3. 규칙 함축의 효과 분석 (ODP의 성능이 너무 높아 이 부분 탐구)
    • 규칙 함축이란, LLM이 대화하듯이 얘기하지 않고 정답만 얘기하라고 프롬프트를 넣었을 때를 의미
    • 모든 상황에서 일관되게 규칙 함축을 추가했을 때 성능이 향상되었음
    • 부록에 단계별로 생각하라는 프롬프트를 넣었을 때는 성능이 불안정했다고 언급

 

2) In-Context Learning for Text-to-SQL

 

  • 예시 선택 전략을 비교하는 Table
  • Upper Limit란, 임시 쿼리를 활용하는 것이 아닌 Ground Truth를 활용해 유사도 비교하는 전략
  • 모든 예시에서 DAIL-Selection이 성능이 높았고 Upper Limit까지 도달할 수 있음

 

 

  • 예시 구성 전략을 비교하는 Table
  • GPT-4의 경우 DAIL 구성을 선호하는 경향이 있는데 이는 모델이 질문-SQL 쌍으로부터 매핑 관계를 효과적으로 학습할 수 있음을 시사
  • 그 외 GPT-3.5-TURBO의 경우 In-Context Learning 능력이 약해 퓨샷 성능 향상 수치가 가장 낮았음
  • 종합적으로, In-Context Learning 능력이 뛰어난 모델은 DAIL 구성으로부터 큰 이득을 얻는 반면, 이 능력이 약한 모델은 예시로부터 학습하기 위해 더 많은 정보를 필요로 한다고 추론가능

 

3) Supervised Fine-Tuning for Text-to-SQL

  • 제로샷 상황일 때 오픈소스 LLM에 대해 각 예시 선택 전략을 비교 분석한 Graph
  • 특징적으로는 Alpaca SFT Prompt가 다른 모든 시나리오보다 높은 성능을 보임
  • 또한 모델 크기가 커질수록 각 방식의 성능 편차가 줄어듦을 확인
  • 오픈소스 LLM을 파인튜닝했을 때에도 LLaMA-13B 및 30B 모델은 TEXT-DAVINCI-003과 대등한 성능을 보일 정도로 성능이 높았음

[4] Conclusion

  • 최적의 프롬프트 조합 발견 : 효율적인 스키마 표현(CRP)에 외래키 정보와 규칙 함축 전략을 포함하는 것만으로도 LLM의 Text-to-SQL 성능을 비약적으로 향상시킴
  • 질문-쿼리 유사도 기반의 예시 선택 : 질문의 유사도뿐만 아니라 예상되는 SQL 구조의 유사도까지 동시에 고려해 예시를 선택하는 것이 가장 효과적임을 입증
  • 성능과 효율의 균형 : GPT-4와 같은 강력한 모델은 스키마를 제외한 질문-SQL 매핑 정보만으로도 충분히 학습하며, 이를 통해 토큰 비용을 아끼면서도 Spider 리더보드 1위를 달성

 

 

[논문리뷰] Personality-Guided Code Generation Using Large Language Models

Personality-Guided Code Generation Using Large Language Models 논문 리뷰입니다.논문 : Personality-Guided Code Generation Using Large Language Models 저자 : Yaoqi Guo, Zhenpeng Chen, Jie M. Zhang, Yang Liu, Yun Ma[1] Introduction자연어 프롬

dangingsu.tistory.com

728x90
반응형