ทีมวิจัยจาก University of Illinois Urbana-Champaign ค้นพบว่ามากกว่าครึ่งหนึ่งของคำอธิบาย (annotations) ใน BIRD ซึ่งเป็นเกณฑ์มาตรฐาน (benchmark) สำหรับ Text-to-SQL ที่ใช้กันอย่างแพร่หลายนั้นไม่ถูกต้อง ซึ่งทำให้เกิดคำถามต่อความหมายของคะแนนความแม่นยำที่นักพัฒนาจำนวนมากใช้เป็นที่พึ่งพา

ทำไมเกณฑ์มาตรฐานนี้จึงมีความสำคัญ

BIRD คือมาตรฐานหลัก (de-facto standard) ในการวัดความสามารถของโมเดลในการเปลี่ยนคำถามภาษาธรรมชาติให้เป็นคำสั่ง SQL งานวิจัย เอกสารผลิตภัณฑ์ และการทดสอบรับเข้าทำงานต่างก็อ้างอิงคะแนนจาก BIRD หากคำสั่ง SQL "gold" ที่ใช้กำหนดความถูกต้องนั้นบกพร่อง โมเดลที่เขียนคำสั่งได้ดีกว่าอาจถูกลงโทษ ในขณะที่โมเดลที่คัดลอกคำตอบ gold ที่ผิดพลาดอาจได้รับรางวัลแทน

วิธีการค้นพบอัตราความผิดพลาด

ทีม UIUC ได้ตรวจสอบความล้มเหลว 238 รายการจากชุดข้อมูล BIRD-dev แทนที่จะคาดเดาว่าทำไมผลลัพธ์ของแต่ละโมเดลถึงถูกทำเครื่องหมายว่าผิด พวกเขาได้ทำการติดแท็ก (tag) ทุกความแตกต่างระหว่าง SQL ที่โมเดลสร้างขึ้นกับคำตอบอ้างอิง (gold reference) ด้วยตนเอง การตรวจสอบของพวกเขาพบว่า 52.8% ของกรณีเหล่านี้มีข้อผิดพลาดในการทำ annotation ไม่ว่าจะเป็น SQL ที่ไม่ถูกต้อง, schema ที่ไม่ตรงกัน หรือแม้แต่คำถามภาษาธรรมชาติที่ผิดรูปแบบ

รูปแบบหนึ่งที่พบคิดเป็น 19% ของข้อผิดพลาดที่ถูกระบุคือ: โมเดลใช้ DISTINCT ในขณะที่คำสั่ง gold ไม่ได้ใช้ ลองจินตนาการว่าผู้ใช้ถามถึงจำนวนผู้ป่วยที่มีผลแล็บผิดปกติ คำตอบ gold จะนับแถวด้วย COUNT(ID) หากผู้ป่วยหนึ่งคนมีผลแล็บผิดปกติห้ารายการ คำสั่ง gold จะรายงานผลเป็นห้าแทนที่จะเป็นหนึ่ง แต่ COUNT(DISTINCT ID) ของโมเดลจะนับผู้ป่วยแต่ละคนเพียงครั้งเดียวอย่างถูกต้อง ในกรณีเหล่านี้ เกณฑ์มาตรฐานจะบันทึกว่าเป็นความผิดพลาดของโมเดล ทั้งที่คำตอบของโมเดลสอดคล้องกับความหมายที่ต้องการมากกว่า

ผลกระทบต่อการพัฒนาโมเดลในโลกความเป็นจริง

นักพัฒนามักจะตอบสนองต่อคะแนน BIRD ที่ต่ำด้วยการปรับแต่ง prompt, เพิ่มข้อจำกัด เช่น “don’t use DISTINCT” หรือการเทรนซ้ำด้วยข้อมูล benchmark การปรับเปลี่ยนเหล่านั้นสามารถเพิ่มคะแนนที่รายงานได้ ซึ่งสร้างภาพลวงตาของความก้าวหน้า การวิเคราะห์ของ UIUC แสดงให้เห็นว่า "การปรับปรุง" นี้อาจเป็นเพียงการทำ overfitting กับเฉลยที่ผิด ซึ่งอาจทำให้ประสิทธิภาพลดลงเมื่อต้องใช้งานกับฐานข้อมูลจริงที่ต้องใช้ตรรกะที่ถูกต้อง

นักวิจัยได้สาธิตสถานการณ์ที่ตรงกันข้าม หลังจากวิเคราะห์ทั้งคำสั่งของโมเดลและคำสั่ง gold พวกเขาพบเจ็ดกรณีที่โมเดลรวมสองคอลัมน์ที่แยกกันเข้าด้วยกันอย่างไม่ถูกต้อง ซึ่งในกรณีเหล่านี้คำสั่ง SQL gold นั้นถูกต้องแล้ว การมุ่งเป้าไปที่ข้อผิดพลาดที่แท้จริงเหล่านั้นด้วยการปรับปรุง prompt ที่ละเอียดขึ้น ช่วยให้ประสิทธิภาพของโมเดลสูงขึ้นโดยไม่ต้องปั่นคะแนน benchmark ให้สูงเกินจริง

สิ่งที่การค้นพบนี้หมายถึงสำหรับผู้มีส่วนได้ส่วนเสีย

  • นักวิจัย (Researchers): การกล่าวอ้างในสิ่งตีพิมพ์ที่อิงตามคะแนน BIRD จำเป็นต้องมีข้อควรระวังเกี่ยวกับคุณภาพของการทำ annotation การเปรียบเทียบระหว่างงานวิจัยต่าง ๆ อาจสะท้อนถึงความอดทนต่อสัญญาณรบกวน (noise) ใน benchmark ที่แตกต่างกัน มากกว่าที่จะเป็นการก้าวหน้าทางระเบียบวิธีวิจัยที่แท้จริง
  • ทีมผลิตภัณฑ์ (Product teams): การพึ่งพา BIRD เป็นตัวชี้วัดเพียงอย่างเดียวสำหรับความพร้อมในการปล่อยผลิตภัณฑ์ มีความเสี่ยงที่จะส่งมอบโมเดลที่เรียนรู้เพียงการเลียนแบบคำสั่งที่ผิดพลาด การทดสอบในโลกความเป็นจริงกับ schema เฉพาะของตนเองจึงกลายเป็นสิ่งจำเป็น
  • ผู้ดูแลเกณฑ์มาตรฐาน (Benchmark curators): อัตราความผิดพลาดที่สูงบ่งชี้ว่าควรมีการตรวจสอบอย่างเป็นระบบ การทำความสะอาดชุดข้อมูล gold หรือการจัดทำชุดข้อมูล "verified" แยกต่างหาก อาจช่วยฟื้นฟูความเชื่อมั่นได้

ขั้นตอนการตรวจสอบที่นำไปใช้ได้จริง

ทีม UIUC เสนอกระบวนการที่เบาบาง (lightweight) ซึ่งสามารถนำไปใช้กับเกณฑ์มาตรฐาน Text-to-SQL ใดก็ได้:

  1. Parse ทั้งคำสั่ง SQL ที่โมเดลสร้างขึ้นและคำสั่ง gold ให้เป็น abstract syntax trees
  2. Align โครงสร้างเพื่อแสดงความแตกต่างในคอลัมน์ที่เลือก, ตัวกรอง (filters), การ join และฟังก์ชันการรวมกลุ่ม (aggregation functions)
  3. Tag แต่ละความแตกต่าง (เช่น คอลัมน์ส่วนเกิน, ตัวกรองที่หายไป, การรวมกลุ่มที่ผิด)
  4. Summarize แท็กต่าง ๆ ในรูปแบบ histogram เพื่อระบุหมวดหมู่ความผิดพลาดหลัก
  5. Validate คำสั่ง gold สำหรับแต่ละแท็กที่พบความถี่สูง ก่อนที่จะใช้เป็นเป้าหมายสำหรับการทำ prompt engineering

ด้วยการมุ่งเน้นการปรับปรุง prompt เฉพาะในกรณีที่คำตอบ gold ถูกต้องอย่างไม่ต้องสงสัย นักพัฒนาจะสามารถหลีกเลี่ยงกับดักของการ "ปรับปรุงเพื่อตัวชี้วัดที่พัง" (optimising for a broken metric) ได้

บทสรุป

เกณฑ์มาตรฐานที่ระบุตัวอย่างผิดพลาดมากกว่าครึ่งหนึ่งไม่สามารถทำหน้าที่เป็นไม้บรรทัดที่เชื่อถือได้ การศึกษาของ UIUC แสดงให้เห็นว่า "ความผิดพลาด" หลายอย่างที่ BIRD ระบุนั้น แท้จริงแล้วคือความสำเร็จของโมเดล ในขณะที่ข้อผิดพลาดที่แท้จริงกลับซ่อนอยู่หลังคำตอบ gold ที่ดูเหมือนจะถูกต้อง การตรวจสอบชุดข้อมูล gold, การปรับปรุงกระบวนการประเมิน และการปฏิบัติกับคะแนน benchmark ในฐานะส่วนหนึ่งของกลยุทธ์การตรวจสอบที่กว้างขึ้น เป็นวิธีเดียวที่จะรับประกันได้ว่าการปรับปรุงในเชิงตัวเลขบนกระดาษจะเปลี่ยนเป็นการใช้งานที่เชื่อถือได้ในโลกความเป็นจริง