
SQRL: 쿼리를 던지기 전에 데이터베이스부터 파헤치는 혁신적 Text-to-SQL AI 모델
AI 연구 기관인 Feyn Labs에서 자연어를 SQL 쿼리로 변환해주는 새로운 모델 패밀리 SQRL을 발표했습니다. 가장 놀라운 점은 SQRL이 BIRD Dev 벤치마크에서 70.60%의 실행 정확도를 기록하며, 최상위 프론티어 모델인 Claude Opus 4.6(68.77%)을 능가했다는 사실입니다.
비결은 단순합니다. 질문을 받는 즉시 SQL을 작성하는 것이 아니라, 답을 확정하기 전에 데이터베이스를 먼저 조회(Inspect)하는 것입니다. 이를 통해 데이터의 모호성을 해결하고 실제 데이터가 지원하는 쿼리만 작성합니다.
1. 겉모습만 보고 쿼리를 판단하지 마라
보통 Text-to-SQL은 단순한 '번역' 문제로 여겨집니다. 하지만 문법적으로 완벽한 SQL이라도 실제 비즈니스 결과는 완전히 틀릴 수 있습니다.
- 잘못된 테이블 조인: 오류 없이 실행되지만 의도와 엉뚱한 데이터를 연결해버림
- 모호한 컬럼 해석: 컬럼 이름만 보고 잘못된 의미로 조건을 걸어버림
- 존재하지 않는 값 필터링: DB에 카운티명이 'Alameda'로 저장되어 있는지, 'Alameda County'로 저장되어 있는지 모른 채 필터링함
테이블 이름과 타입만 제공하는 스키마(Schema)만으로는 한계가 뚜렷합니다. 95개의 실제 도메인 데이터베이스로 구성된 BIRD 벤치마크는 문법적 정확성만으로는 부족함을 보여줍니다. 쿼리를 정확히 짜기 위한 단서는 이미 데이터베이스 내부에 있으며, 이를 직접 들여다보는 것이 문제 해결의 핵심입니다.
2. SQRL의 핵심: 답변 전 사전 탐색 (Inspect Before Answering)
SQRL은 질문과 스키마를 수신한 뒤, 정보가 충분하면 즉시 답변하고, 모호한 부분이 있다면 읽기 전용 쿼리로 실제 데이터를 탐색한 후 최종 SQL을 작성합니다.
기존 방식과의 비교
- 단일 생성 모델 (Single-shot): 빠르고 저렴하지만 스키마에만 의존해 논리적 오류를 자주 범합니다.
- 프론티어 파이프라인 (Frontier Pipelines): 생성, 비평, 선택을 반복해 정확도는 높지만 비용이 많이 들고 DB 통신이 너무 잦아 실시간 처리가 어렵습니다.
- SQRL의 하이브리드 접근법: 단순한 질문은 한 번에 끝내고, 모호한 질문에만 탐색 과정을 부여해 효율성과 정확도를 모두 잡았습니다.
실제 작동 프로세스 비교
[예시 1] 즉시 답변 (탐색 불필요)
- 질문: "How many schools are listed?"
- 판단: schools 테이블은 학교당 1개의 행을 가지므로 스키마만으로 충분함.
- 결과:
<answer> SELECT COUNT(*) FROM schools </answer>
[예시 2] 사전 탐색 후 답변 (Inspect First)
- 질문: "Which schools are in Alameda County?"
- 1단계 (탐색 요청):
<sql> SELECT DISTINCT `County Name` FROM frpm LIMIT 10 </sql> - 2단계 (DB 관측 결과): Alameda, Contra Costa, Fresno 등 반환 (데이터가 'Alameda'로 저장됨 확인)
- 3단계 (최종 답변):
<answer> SELECT `School Name` FROM frpm WHERE `County Name` = 'Alameda' </answer>
이 상호작용은 최대 5회까지 이루어질 수 있으며, <sql>(탐색 쿼리), <observation>(DB 결과), <answer>(최종 답안) 태그를 통해 구조화됩니다.
3. 학습 방법 및 지식 증류
모델이 데이터베이스를 탐색할 권한이 있다고 해서, 언제 어떻게 찾아봐야 할지 스스로 알 수는 없습니다. 이를 위해 정교한 학습이 진행되었습니다.
- 1. 데이터 정제: BIRD 및 Spider 데이터셋에서 참조 SQL 실행 결과가 유효하지 않은 예제를 전면 제거하고, 3개의 모델 판정단을 투입해 질문과 맞지 않는 데이터를 필터링했습니다.
- 2. 교사 모델 학습 (35B): 플래그십 모델을 CISPO 방식으로 학습시켰습니다. 질문당 8개의 경로를 생성하고, 실제 DB 실행 결과가 정답과 완벽히 일치할 때만 보상(Reward)을 주었습니다. 특히 성공과 실패가 섞인 '혼합 구역' 데이터를 학습시켜 탐색이 언제 필요한지 판단하는 능력을 길렀습니다.
- 3. 학생 모델 증류 (4B & 9B): 교사 모델의 성공적인 전체 경로(탐색-관측-답변) 약 10,200개를 추출하여 4B, 9B 소형 모델에 파인튜닝 후 동일하게 CISPO 학습을 진행했습니다.
4. 벤치마크 성능 평가 (BIRD Dev)
생성된 쿼리가 실제 DB에서 기준 정답 쿼리와 똑같은 결과값을 반환하는지 평가한 실행 정확도(Execution Accuracy) 지표입니다.
| 모델명 | 유형 | 실행 정확도 (%) |
|---|---|---|
| SQRL-35B-A3B | Flagship Teacher (Active ~3B) | 70.60% |
| SQRL-9B | Recommended Student | 69.80% |
| SQRL-4B | Smallest On-Premise Student | 68.80% |
| Claude Opus 4.6 | Frontier Model | 68.77% |
| Claude 4.5 Sonnet | Frontier Model | 67.34% |
| Qwen3-Coder-480B-A35B | Open Model | 66.17% |
| GLM-4.7 | Frontier Model | 63.82% |
| DeepSeek-R1 | Reasoning Model | 61.67% |
| Kimi-K2-Thinking | Reasoning Model | 60.63% |
여기서 핵심은 가장 작은 SQRL-4B(68.80%) 모델조차 막대한 파라미터를 가진 Claude Opus 4.6(68.77%)을 뛰어넘었다는 점입니다. 서드파티에 민감한 DB 데이터를 넘기지 않고 내부에서 자체 호스팅할 수 있는 완벽한 대안입니다.
5. 배포 실무 가이드 및 코드 예시
SQRL은 기업의 데이터 경로를 외부와 완벽히 분리하여 온프레미스(On-premise) 환경에 구축할 수 있습니다. 허깅페이스에 feyninc/sqrl-4b, feyninc/sqrl-9b, feyninc/sqrl-35b-a3b가 모두 공개되어 있습니다.
vLLM을 활용한 9B 모델 서버 구동 예시
vllm serve feyninc/sqrl-9b \
--served-model-name sqrl-9b \
--gpu-memory-utilization 0.90 \
--max-model-len 32768
애플리케이션 인터랙션 루프 (Python)
reply = generate(question, schema)
for _ in range(5):
if answer := extract_answer(reply):
return answer
probe = extract_probe(reply)
observation = run_readonly(probe) # 읽기 전용 권한으로 실행 필수!
reply = continue_with(observation)
💡 파서(Parser) 관련 주의사항:
서빙 레이어에서 기본적으로 제공하는 추론 파서(Reasoning parser)를 비활성화하세요. 탐색 명령(<sql>)과 답변 명령(<answer>)은</think>태그 이후 본문에 등장하므로, 파서가 이를 잘라내면 모델이 정상 작동하지 않습니다. 닫는 think 태그 이후 전체를 직접 파싱해야 합니다.
💡 요약 및 인사이트
- 압도적인 비용 효율성과 보안: 4B, 9B 수준의 모델을 회사 내부망에 띄우는 것만으로도 거대 상용 API를 넘어서는 성능을 확보할 수 있습니다. 데이터 유출 우려는 0%가 됩니다.
- Data Grounding의 중요성: 뛰어난 SQL을 짜기 위한 가장 중요한 힌트는 스키마 밖이 아니라 데이터베이스의 실제 데이터 그 자체에 있었습니다.
- 동적 추론(Test-Time Compute) 배분: 무조건 모든 질문에 긴 사고 과정을 강제하지 않고, 쉬운 질문은 1-shot으로, 모호한 질문에만 탐색 과정을 투자하여 처리 속도를 최적화했습니다.
* 본 연구는 Qwen3.5 및 Qwen3.6 모델 패밀리를 기반으로 구축되었으며, BIRD 및 Spider 데이터셋, MiniMax-M1 CISPO 강화학습 기법을 활용했습니다.
'콩's AI' 카테고리의 다른 글
| 안티그래비티 AI 에이전트, 제대로 다루는 12가지 대원칙 (0) | 2026.07.22 |
|---|---|
| 구글 Gemini 3.6 Flash 및 신규 AI 모델 전격 공개 & 구글 AI 방향성 분석 (0) | 2026.07.22 |
| 알리바바 클라우드 AI Token Plan 연간 할인 혜택 및 실전 활용 가이드 (0) | 2026.07.21 |
| 모래시계에 갇힌 AI 반도체: 컴퓨팅 병목 현상의 본질과 미래 (0) | 2026.07.20 |
| Kimi K3 신규 가입 중단 사태: 중국 AI의 화려한 껍데기와 아픈 속사정 (0) | 2026.07.20 |