피드로 돌아가기
Text2SQL using Hugging Face Dataset Viewer API and Motherduck DuckDB-NSQL-7B
Hugging Face BlogHugging Face Blog
AI/ML

MotherDuck과 Numbers Station이 DuckDB-NSQL-7B 모델과 Hugging Face Dataset Viewer API를 결합해 자연언어를 SQL 쿼리로 자동 변환하는 Text2SQL 파이프라인 구현

Text2SQL using Hugging Face Dataset Viewer API and Motherduck DuckDB-NSQL-7B

2024년 4월 4일12intermediate

Context

SQL 쿼리 작성은 데이터 분석을 위해 데이터 분석가, SQL 개발자, 데이터 엔지니어 같은 전문가의 영역으로 제한되었다. 비전문가 사용자는 데이터 인사이트를 얻기 위해 SELECT, FROM, WHERE, GROUP, ORDER 같은 SQL 문법을 이해하거나 SQL 전문가의 도움을 받아야 했다.

Technical Solution

  • DuckDB-NSQL-7B 모델 도입: Meta의 Llama-2-7b를 기반으로 일반 SQL 쿼리 데이터셋으로 초기 파인튜닝한 후, DuckDB text-to-SQL 쌍으로 추가 학습한 7B 파라미터 모델 활용
  • 자연언어-SQL 변환: 사용자가 평문 언어로 데이터 요구사항을 입력하면 모델이 유효한 DuckDB SQL 문장(SELECT 뿐 아니라 공식 문서 및 확장 기능 포함)으로 자동 생성
  • Hugging Face Dataset Viewer API 연동: 120,000개 이상 공개 데이터셋에 접근하며, 파케이 형식으로 자동 변환된 파일을 데이터 처리 프레임워크에서 직접 활용
  • llama.cpp를 통한 로컬 추론: GGUF 형식 양자화 모델(DuckDB-NSQL-7B-v0.1-q8_0.gguf)을 llama.cpp로 로드해 최소한의 설정으로 다양한 하드웨어(로컬 및 클라우드)에서 LLM 추론 실행
  • 데이터 검색 통합: DuckDB를 사용해 Hugging Face에서 다운로드한 파케이 파일에서 생성된 SQL 쿼리로 데이터 조회

Key Takeaway

데이터에 접근하는 진입장벽을 낮추기 위해 도메인 특화 LLM(DuckDB-NSQL-7B)과 오픈 데이터 플랫폼(Hugging Face)을 결합하면, SQL 미경험 사용자도 자연언어로 데이터 분석을 수행할 수 있게 된다.


데이터 분석 플랫폼을 개발하는 팀에서 DuckDB-NSQL-7B 모델을 임베드하고 Hugging Face Dataset Viewer API로 공개 데이터셋을 노출하면, 비기술 사용자도 자연언어 쿼리만으로 데이터 인사이트를 독립적으로 생성할 수 있다.

원문 읽기