Giới thiệu
Trong vòng hai tháng qua, nhiều tập dữ liệu mới đã được phát hành trong lĩnh vực NL2SQL. Dựa trên các tài liệu có sẵn công khai, có bốn bài báo - SQLStorm, CogniSQL, RubikSQL và FinStat2SQL - đã đề cập đến việc phát hành tập dữ liệu. Trong số này, RubikSQL vẫn chưa mở mã nguồn hoặc tập dữ liệu, và FinStat2SQL chưa rõ liệu tập dữ liệu của nó có sẵn công khai hay không.
Do đó, bài viết này sẽ tập trung giới thiệu các tập dữ liệu SQLStorm và CogniSQL hiện có.
SQLStorm
Tổng quan về SQLStorm
SQLStorm v1.0 là một bài kiểm tra chuẩn quy mô lớn dựa trên dữ liệu từ thế giới thực, bao gồm ba kích thước dữ liệu khác nhau (1 GB, 12 GB và 220 GB) và bao gồm hơn 18.000 câu truy vấn. Bài kiểm tra này tiên phong trong việc sử dụng trí tuệ nhân tạo để tạo ra khối lượng công việc truy vấn, sản xuất một khối lượng lớn (22 MB) các câu lệnh SQL gần giống với các tình huống thực tế với chi phí cực thấp (15 USD).
Điều này mở rộng đáng kể phạm vi chức năng SQL và cấu trúc truy vấn. Ngược lại, các bài kiểm tra thủ công truyền thống như TPC-H, TPC-DS và JOB không thể đáp ứng về đa dạng và độ phức tạp của truy vấn.
Tình huống sử dụng SQLStorm
SQLStorm có thể được sử dụng trong các tình huống sau:
- Cải thiện khả năng tương thích SQL giữa các hệ thống khác nhau.
- Nâng cao chất lượng hệ thống bằng cách xác định và khắc phục các sự cố hoặc lỗi hệ thống.
- Tận dụng xu hướng thực thi truy vấn để phát hiện cơ hội tối ưu hóa ước lượng độ cardinality và các tối ưu hóa truy vấn.
- Đánh giá toàn diện hiệu suất hệ thống, bao gồm tốc độ thực thi và độ ổn định.
Truy cập tập dữ liệu
- Kho lưu trữ dữ liệu: SQLStorm GitHub
- Bài báo: Tài liệu SQLStorm
Phân tích tập dữ liệu
SQLStorm sử dụng các mô hình ngôn ngữ lớn (LLMs) để tạo ra các câu lệnh SQL nhằm kiểm tra hiệu suất cơ sở dữ liệu, nhằm giải quyết các thiếu sót của các tập dữ liệu truyền thống như TPC-H về khả năng bao phủ tính năng SQL. Tập dữ liệu này tương thích với các hệ thống cơ sở dữ liệu chính như PostgreSQL, Umbra và DuckDB. Dữ liệu phần nào dựa trên các cơ sở dữ liệu thực được cung cấp bởi StackOverflow, bao gồm một bộ các schema và dữ liệu với ba kích thước:
- StackOverflow DBA (1 GB)
- StackOverflow Math (12 GB)
- StackOverflow Full (222 GB)
Quy trình tạo truy vấn
Quy trình tạo truy vấn diễn ra như sau:
- Sử dụng các mô hình lớn để tạo ra khoảng 35.000 câu lệnh SQL bao gồm các loại đơn giản, trung bình và phức tạp.
- Thông qua quá trình sàng lọc mô hình, khoảng 18.000 truy vấn chất lượng cao cuối cùng được giữ lại.
Ảnh hưởng của SQLStorm
SQLStorm có thể tạo ra nhiều câu truy vấn SQL đa dạng với chi phí thấp, hiệu quả trong việc phát hiện các nút thắt về hiệu suất và lỗi trong các hệ thống cơ sở dữ liệu. Ví dụ, sau khi giới thiệu SQLStorm, Umbra đã nhanh chóng cải thiện các chỉ số về Crash, Error và Timeout + OOM trên SQLStorm bằng cách giải quyết các vấn đề gặp phải. Hơn nữa, bằng cách xem xét bộ đồ thị thứ tư, SQLStorm đã phát hiện các vấn đề suy giảm hiệu suất mà không rõ ràng trong TPC-H, và những vấn đề này đã được xác định và khắc phục (Lưu ý: Umbra và SQLStorm dường như đến từ cùng một đội ngũ).
Tóm tắt
SQLStorm cũng có thể được sử dụng để đánh giá các tác vụ như tối ưu hóa SQL. Tận dụng dữ liệu và mẫu dữ liệu hoàn chỉnh do SQLStorm cung cấp, nó có thể đánh giá hiệu suất khác biệt sau khi tối ưu hóa SQL. Hơn nữa, nó có thể sử dụng dữ liệu cơ sở dữ liệu hoàn chỉnh để đánh giá chất lượng hiệu suất của SQL được tạo ra bởi các hệ thống NL2SQL khác nhau.
CogniSQL
Tổng quan về CogniSQL
CogniSQL đã phát hành hai tập dữ liệu được biên soạn có thể thúc đẩy nghiên cứu trong việc tạo ra SQL từ văn bản theo kiểu thực thi. Bằng cách mở mã nguồn các tài nguyên này, cộng đồng có thể tận dụng trực tiếp các mẫu SQL có độ chính xác cao và các quy trình lý luận rõ ràng để hỗ trợ việc huấn luyện mô hình text-to-SQL được tăng cường lý luận dưới các nguồn tài nguyên tính toán hạn chế.
Thành phần tập dữ liệu
-
Reasoning Traces (5.024 mục):
Được tạo ra bởi Qwen QWQ 32B, tập dữ liệu này cung cấp các quy trình lý luận cố định, nâng cao khả năng giải thích và cho phép quan sát minh bạch quá trình tạo SQL. -
Positive Sample Corpus (36.356 mục):
Được tạo ra bởi Qwen2.5-7B-Coder, mỗi ví dụ huấn luyện gốc sản xuất ra sáu trường hợp huấn luyện khác nhau bao gồm cả quy trình lý luận và kết quả, mở rộng sự đa dạng của các quy trình lý luận.
Truy cập tập dữ liệu
- Reasoning Traces: Tập dữ liệu Reasoning Traces
- Positive Sample Corpus: Tập dữ liệu Positive Sample Corpus
- Bài báo: Tài liệu CogniSQL
Phân tích tập dữ liệu
Các tập dữ liệu này được sử dụng trong giai đoạn huấn luyện tinh chỉnh giám sát (SFT) của nghiên cứu:
- Giai đoạn 1: Sử dụng Reasoning Traces (5.024 mục từ Qwen QWQ 32B), độ chính xác thực thi trên BIRD-dev giảm từ ≈52,0% (mốc chuẩn) xuống ≈46,0%.
- Giai đoạn 2: SFT với Positive Sample Corpus tự tạo phục hồi hiệu suất, đạt ≈57,3% độ chính xác thực thi—gần bằng với mốc chuẩn. Những kết quả này cho thấy rằng các mẫu có độ chính xác cao, trong phân phối (thậm chí từ chính mô hình), có thể mang lại lợi ích cho SFT.
Ảnh hưởng của CogniSQL
Ngoài các tập dữ liệu, đóng góp cốt lõi của bài báo là CogniSQL-R1-Zero framework. Sau khi thử nghiệm với các quy trình dài của AI agent, SFT và GRPO, các tác giả cuối cùng đã sử dụng GRPO để tăng cường hiệu suất NL2SQL. Các thí nghiệm cho thấy rằng CogniSQL-R1-Zero dựa trên Qwen2.5-7B-Coder đạt 59% độ chính xác thực thi trên Bird-dev, vượt trội hơn so với các mô hình cơ bản lớn hơn như DeepSeek-Coder (236B) và Mistral (123B).
Tóm tắt
Đóng góp chính của CogniSQL nằm ở việc tạo ra các quy trình lý luận và mẫu tích cực có chất lượng cao, phù hợp với mô hình nhỏ thông qua một phương pháp sinh, giải quyết sự thiếu hụt các tập dữ liệu được thiết kế cho logic lý luận của mô hình nhỏ. Điều này cho phép tổng quát hiệu quả cho các mô hình nhỏ trong môi trường tài nguyên thấp thông qua SFT. Bài báo cũng tóm tắt những hiểu biết quan trọng cho việc huấn luyện mô hình lớn:
- Chuỗi Lý luận Zero-Shot (CoT) bị hạn chế: Trong khi LLaMA 3.1 8B tạo ra các bước lý luận phần nào nhất quán, <20% các câu truy vấn SQL được thực thi chính xác, cho thấy một khoảng cách lớn giữa CoT và việc tạo SQL.
- Quy trình đa tác nhân tốn kém: Mặc dù đạt 85% độ chính xác, chi phí tính toán, độ trễ và độ phức tạp của hệ thống khiến chúng không thực tế cho việc triển khai quy mô lớn.
- Huấn luyện tinh chỉnh giám sát (SFT) có thể làm giảm hiệu suất: SFT với dữ liệu lý luận tinh chế gây ra hiện tượng overfitting trong Qwen-7B, làm giảm độ chính xác từ 52,0% xuống 46,0%.
- Dữ liệu tự tạo hỗ trợ phục hồi SFT: Sử dụng các mẫu SQL chính xác cao tự tạo cho SFT đã khôi phục độ chính xác lên 57,3%, nhấn mạnh tầm quan trọng của dữ liệu trong phân phối, có độ chính xác cao.
- Phương pháp lai (SFT+RL) ổn định nhưng không tối ưu: Dù khởi động nguội sau đó đào tạo RL đảm bảo hội tụ ổn định (≈58,0% độ chính xác), RL thuần đạt hiệu suất đỉnh cao hơn và dễ dàng trong quy trình làm việc.
Thực hành tốt nhất
- Sử dụng SQLStorm và CogniSQL để tạo ra các tập dữ liệu kiểm tra hiệu suất chính xác.
- Tận dụng các mẫu tự tạo để cải thiện độ chính xác trong huấn luyện mô hình.
Những cạm bẫy phổ biến
- Không kiểm tra hiệu suất trên nhiều môi trường khác nhau.
- Không sử dụng dữ liệu tự tạo một cách hiệu quả trong quá trình huấn luyện.
Mẹo tối ưu hóa hiệu suất
- Theo dõi hiệu suất của các truy vấn SQL trong SQLStorm để phát hiện và khắc phục lỗi kịp thời.
- Sử dụng các mẫu tích cực từ CogniSQL để cải thiện độ chính xác của mô hình.
Giải quyết sự cố
- Nếu gặp khó khăn trong việc triển khai SQLStorm hoặc CogniSQL, hãy kiểm tra kỹ các phiên bản phần mềm và môi trường triển khai.
Câu hỏi thường gặp
1. SQLStorm có thể sử dụng cho loại cơ sở dữ liệu nào?
SQLStorm tương thích với các hệ thống cơ sở dữ liệu chính như PostgreSQL, Umbra và DuckDB.
2. CogniSQL cung cấp những gì cho mô hình NL2SQL?
CogniSQL cung cấp các mẫu SQL có độ chính xác cao và các quy trình lý luận rõ ràng, hỗ trợ việc huấn luyện mô hình NL2SQL.
Tài liệu tham khảo
- Tối ưu hóa tập dữ liệu SQL driven bởi AI 202507
- Tối ưu hóa tập dữ liệu SQL driven bởi AI 202506