Một nhóm nghiên cứu tại Đại học Illinois Urbana-Champaign đã phát hiện ra rằng hơn một nửa số chú thích trong bộ tiêu chuẩn (benchmark) BIRD Text-to-SQL đang được sử dụng rộng rãi là sai, điều này đặt ra dấu hỏi về ý nghĩa của các điểm số độ chính xác mà nhiều nhà phát triển đang dựa vào.

Tại sao bộ tiêu chuẩn này lại quan trọng

BIRD là tiêu chuẩn thực tế (de-facto standard) để đo lường khả năng chuyển đổi một câu hỏi ngôn ngữ tự nhiên thành một truy vấn SQL của một mô hình. Các bài báo nghiên cứu, tài liệu sản phẩm và các bài kiểm tra tuyển dụng đều trích dẫn điểm số BIRD. Nếu các câu lệnh SQL "vàng" (gold) dùng để định nghĩa tính đúng đắn bị lỗi, một mô hình viết truy vấn tốt hơn có thể bị phạt, trong khi một mô hình sao chép câu trả lời "vàng" sai lệch lại có thể được khen thưởng.

Cách thức phát hiện tỷ lệ lỗi

Nhóm nghiên cứu UIUC đã kiểm tra 238 trường hợp thất bại từ tập BIRD-dev. Thay vì đoán tại sao mỗi đầu ra của mô hình bị đánh dấu là sai, họ đã gắn thẻ thủ công mọi sự khác biệt giữa SQL do mô hình tạo ra và tham chiếu "vàng". Cuộc kiểm tra của họ cho thấy 52,8% các trường hợp chứa lỗi chú thích—SQL không chính xác, lược đồ (schema) không khớp, hoặc thậm chí là một câu hỏi ngôn ngữ tự nhiên bị sai cấu trúc.

Một mô hình lỗi chiếm 19% các sai sót được gắn cờ: mô hình sử dụng DISTINCT trong khi truy vấn "vàng" thì không. Hãy tưởng tượng một người dùng hỏi về số lượng bệnh nhân có kết quả xét nghiệm bất thường. Câu trả lời "vàng" đếm các hàng bằng COUNT(ID). Nếu một bệnh nhân duy nhất có năm kết quả xét nghiệm bất thường, truy vấn "vàng" sẽ báo cáo là năm thay vì một. Lệnh COUNT(DISTINCT ID) của mô hình đếm chính xác mỗi bệnh nhân một lần. Trong những trường hợp này, bộ tiêu chuẩn ghi nhận lỗi của mô hình mặc dù câu trả lời của mô hình phù hợp hơn với ngữ nghĩa mong muốn.

Tác động thực tế đến việc phát triển mô hình

Các nhà phát triển thường phản ứng với điểm BIRD thấp bằng cách tinh chỉnh các câu lệnh (prompt), thêm các ràng buộc như "không sử dụng DISTINCT", hoặc huấn luyện lại trên dữ liệu của bộ tiêu chuẩn. Những điều chỉnh đó có thể làm tăng điểm số được báo cáo, tạo ra ảo tưởng về sự tiến bộ. Phân tích của UIUC cho thấy "sự cải thiện" này có thể chỉ đơn giản là hiện tượng quá khớp (overfitting) với đáp án sai, có khả năng làm giảm hiệu suất trên các cơ sở dữ liệu thực tế nơi yêu cầu logic chính xác.

Các nhà nghiên cứu đã chứng minh kịch bản ngược lại. Sau khi phân tích cả truy vấn của mô hình và truy vấn "vàng", họ đã xác định được bảy trường hợp mô hình gộp sai hai cột riêng biệt thành một. Trong những trường hợp này, SQL "vàng" là chính xác. Bằng cách chỉ tập trung vào những lỗi thực sự đó với một câu lệnh tinh chỉnh, họ đã nâng cao hiệu suất của mô hình mà không làm thổi phồng điểm số của bộ tiêu chuẩn.

Ý nghĩa của các phát hiện đối với các bên liên quan

  • Các nhà nghiên cứu: Các tuyên bố công bố dựa trên điểm số BIRD cần có một lưu ý về chất lượng chú thích. Việc so sánh giữa các bài báo có thể phản ánh mức độ chấp nhận tiếng ồn (noise) của bộ tiêu chuẩn khác nhau thay vì những tiến bộ thực sự về mặt phương pháp luận.
  • Các đội ngũ sản phẩm: Việc dựa vào BIRD như là thước đo duy nhất cho sự sẵn sàng phát hành sẽ có rủi ro tung ra các mô hình đã học cách tái tạo các truy vấn lỗi. Việc kiểm thử thực tế trên các lược đồ (schema) độc quyền trở nên thiết yếu.
  • Những người quản lý bộ tiêu chuẩn: Tỷ lệ lỗi cao cho thấy một cuộc đánh giá hệ thống đã quá hạn. Việc làm sạch tập dữ liệu "vàng" hoặc cung cấp một tập chia tách "đã xác minh" thứ hai có thể khôi phục niềm tin.

Quy trình kiểm tra thực tế

Nhóm UIUC đề xuất một quy trình nhẹ có thể áp dụng cho bất kỳ bộ tiêu chuẩn Text-to-SQL nào:

  1. Phân tích (Parse) cả câu lệnh SQL do mô hình tạo ra và câu lệnh SQL "vàng" thành các cây cú pháp trừu tượng (abstract syntax trees).
  2. Căn chỉnh (Align) các cấu trúc để làm lộ ra sự khác biệt trong các cột được chọn, bộ lọc, các phép nối (joins) và các hàm tổng hợp (aggregation functions).
  3. Gắn thẻ (Tag) từng sự khác biệt (ví dụ: cột thừa, thiếu bộ lọc, sai hàm tổng hợp).
  4. Tóm tắt (Summarize) các thẻ trong một biểu đồ cột (histogram) để xác định các danh mục lỗi chiếm ưu thế.
  5. Xác thực (Validate) truy vấn "vàng" cho mỗi thẻ có tần suất cao trước khi sử dụng nó làm mục tiêu cho kỹ thuật gợi ý (prompt engineering).

Bằng cách chỉ tập trung sửa đổi câu lệnh (prompt) vào những trường hợp mà câu trả lời "vàng" chắc chắn là chính xác, các nhà phát triển có thể tránh được cái bẫy "tối ưu hóa cho một thước đo bị lỗi".

Kết luận

Một bộ tiêu chuẩn gắn nhãn sai hơn một nửa số ví dụ của nó thì không thể đóng vai trò như một thước đo đáng tin cậy. Nghiên cứu của UIUC cho thấy nhiều "sai sót" bị BIRD gắn cờ thực chất là những thành công của mô hình, trong khi những lỗi thực sự lại ẩn sau các câu trả lời "vàng" chính xác. Kiểm tra tập dữ liệu "vàng", tinh chỉnh các quy trình đánh giá và coi điểm số bộ tiêu chuẩn chỉ là một phần của chiến lược xác thực rộng lớn hơn là những cách duy nhất để đảm bảo rằng những cải tiến trên lý thuyết sẽ chuyển hóa thành độ tin cậy trong thế giới thực.