การวัดผลการปรับปรุง Benchmark ในระบบรู้จำเสียงพูด (Speech Recognition)

ในโลกของการพัฒนาปัญญาประดิษฐ์ (AI) โดยเฉพาะอย่างยิ่งในด้านการรู้จำเสียงพูด (Speech Recognition) หรือ ASR (Automatic Speech Recognition) การวัดผลประสิทธิภาพของโมเดลเป็นสิ่งสำคัญอย่างยิ่ง แต่บ่อยครั้งที่ Benchmark แบบดั้งเดิมอาจไม่ได้สะท้อนถึงการใช้งานจริงได้อย่างครบถ้วน นี่คือเหตุผลว่าทำไม Hugging Face จึงได้มีการพัฒนาและนำเสนอแนวทางใหม่ๆ เพื่อวัดผลที่แม่นยำยิ่งขึ้น

ทำไม Benchmark แบบเดิมถึงไม่พอ?

Benchmark แบบดั้งเดิมมักจะละเลยปัจจัยสำคัญหลายอย่างที่ทำให้ระบบเสียงมีประสิทธิภาพ เป็นธรรมชาติ เหมาะสมตามบริบท และใช้งานได้จริงในโลกแห่งความเป็นจริง เช่น ความน่าเชื่อถือ การโต้ตอบที่เป็นธรรมชาติ หรือความเหมาะสมกับสถานการณ์ต่างๆ

ด้วยเหตุนี้ Hugging Face จึงได้มีการเพิ่มชุดข้อมูลแบบ "Held-out sets" เข้าไปใน Real World VoiceEQ, Open-ASR Leaderboard และ Far-field ASR Leaderboard เพื่อให้สามารถวัดผลในสิ่งที่สำคัญต่อการใช้งานจริงได้มากขึ้น

ปัญหา "Benchmark Optimization" หรือ "Benchmaxxing"

แม้ว่าการวัดผลที่ครอบคลุมมากขึ้นจะช่วยได้ แต่ก็ยังไม่สามารถแก้ปัญหาทั้งหมดได้ ปรากฏการณ์ที่เรียกว่า "Benchmark Optimization" หรือ "Benchmaxxing" ซึ่งหมายถึงการที่โมเดลถูกปรับแต่งให้ทำคะแนนได้ดีบน Benchmark ที่กำหนด แต่ประสิทธิภาพจริงอาจไม่ได้ดีตามไปด้วย เป็นสิ่งที่ถูกพูดถึงกันมากในวงการ Machine Learning

สำหรับระบบรู้จำเสียงพูด การวัดผลปรากฏการณ์นี้ทำได้ยาก แต่การวิจัยล่าสุดของ Hugging Face ได้นำเสนอ 3 วิธีทดสอบใหม่เพื่อช่วยวัดปริมาณปัญหานี้โดยเฉพาะ

การทดสอบโมเดล ASR ยอดนิยม

ในการศึกษาครั้งนี้ Hugging Face ได้ทำการประเมินโมเดล ASR แบบ Open-source ที่ใช้งานอย่างแพร่หลายจำนวน 11 โมเดล และพบว่าหลายระบบที่ทำคะแนนสูงสุด กลับมีการคัดลอก (Reproduce) Transcript จาก Benchmark ของชุดข้อมูล VoxPopuli English และ LibriSpeech (clean, other) มาใช้ แม้ว่าเสียงจริงจะขัดแย้งกับ Transcript นั้นก็ตาม หรือแม้กระทั่งในกรณีที่เสียงจริงสนับสนุนคำที่แตกต่างกันสองแบบ

บางครั้ง โมเดลไม่ได้อาศัยเพียงสิ่งที่พูดเท่านั้น แต่ยังใช้สัญญาณเสียงที่ละเอียดอ่อน (Subtle acoustic cues) ซึ่งบ่งชี้ว่ากำลังถูกทดสอบบน Benchmark ใด ส่งผลให้คะแนนที่ได้เกินจริงไปมากเมื่อเทียบกับความสามารถในการถอดเสียงพูดทั่วไป

กรณีศึกษา: Reference Disagreement ใน VoxPopuli

ชุดข้อมูล VoxPopuli ขึ้นชื่อว่ามีข้อผิดพลาดในการถอด Transcript จำนวนมาก (ซึ่งเป็นเหตุผลว่าทำไม Artificial Analysis จึงได้ปล่อยเวอร์ชันที่แก้ไขแล้วออกมา) การทดสอบ "Consensus disagreement probe" ของเราจะตรวจสอบว่าเกิดอะไรขึ้นเมื่อโมเดล ASR ชั้นนำเผชิญกับข้อผิดพลาดเหล่านี้: โมเดลจะถอดเสียงตามที่ได้ยินจริง หรือจะคัดลอก Reference Transcript ที่ผิดพลาดมาใช้?

วิธีการทดสอบ

เพื่อทดสอบในวงกว้าง Hugging Face ใช้ชุดโมเดลที่ทำงานร่วมกัน (Ensemble) ซึ่งเลือกมาจากโมเดลที่มีค่า Phoneme Error Rate (PER) ต่ำ PER เป็นตัววัดว่า Transcript ที่เขียนตรงกับเสียงในไฟล์เสียงมากน้อยเพียงใด ซึ่งเป็นตัวบ่งชี้ที่ดีว่าโมเดลถอดเสียงที่ได้ยินได้อย่างถูกต้องหรือไม่ ผลลัพธ์จาก Ensemble สามารถใช้เพื่อระบุกรณีที่โมเดลทั้งหมดมีความเห็นไม่ตรงกับ Reference Transcript ได้ จากนั้นจึงนำตัวอย่างที่ระบุได้ไปเปรียบเทียบกับข้อมูลที่มนุษย์ใส่เข้าไป (Human Annotations) เพื่อตรวจสอบความถูกต้องของ Transcript ที่แก้ไขแล้ว

ตัวอย่างที่น่าสนใจ

ตัวอย่างเช่น คลิป VoxPopuli หนึ่งมีวลี "Thank you, Mr. President" แต่ Reference Transcript กลับละเว้นคำว่า "Thank you" โมเดล 6 ใน 11 ตัวที่เราทดสอบ ได้คัดลอก Reference Transcript ที่ผิดพลาดมาใช้ ซึ่งก็คือ "คำตอบที่คาดหวัง" ทั้งที่ขัดแย้งกับเสียงจริง

เมื่อนำเสนอเนื้อหาเดียวกันในเสียงใหม่ที่รวบรวมจากบันทึกการประชุมรัฐสภายุโรป (EU parliamentary recordings) หรือเสียงทั่วไป พฤติกรรมนี้มักจะอ่อนลงหรือหายไป ในตัวอย่างด้านล่างนี้ โมเดลเกือบทั้งหมดเปลี่ยนกลับไปถอดเสียงตามที่ถูกต้องเมื่อใช้เสียงที่เหมือนกันแต่มาจากบันทึกใหม่ ซึ่งบ่งชี้ว่าโมเดลกำลังตอบสนองต่อสัญญาณเสียงที่ช่วยให้ระบุได้ว่ากำลังถูกทดสอบบน Benchmark ใด และจึงสร้าง Transcript ที่คาดหวังขึ้นมา แม้ว่าจะขัดแย้งกับเสียงจริงก็ตาม

ตัวอย่างการเปรียบเทียบ:

  • Original VoxPopuli recording: Transcript อาจมีข้อผิดพลาด
  • Voice clone of the same speaker: เสียงเหมือนเดิม แต่โมเดลเริ่มถอดเสียงถูกต้องมากขึ้น
  • Clone of a parliament speaker recorded after every model's training cutoff: เสียงจากแหล่งใหม่ ทำให้โมเดลส่วนใหญ่ถอดเสียงได้ถูกต้อง

ผลการทดสอบชี้ให้เห็นว่าปัญหานี้แพร่หลายและมีความสำคัญ โดยวิธีการของ Hugging Face สามารถระบุข้อผิดพลาดที่อาจเกิดขึ้นใน Reference ได้ถึง 40% ของคลิปทดสอบ VoxPopuli ที่วิเคราะห์ และส่งผลกระทบต่อคำประมาณ 3% ของ Reference Transcript ทั้งหมด

โมเดลที่แสดงพฤติกรรม Benchmark-optimized จะคัดลอก Reference Transcript ที่ผิดพลาดถึง 18-30% ของเวลา

Masked Entity Retrieval: การกู้คืนข้อมูลที่ถูกปิดบัง

เพื่อต่อยอดจากการทดสอบ Consensus disagreement probe เราได้ทำการปิดบังตัวเลขในตัวอย่างเสียงของชุดข้อมูลทดสอบ และให้โมเดลถอดเสียงสิ่งที่ได้ยิน ตัวเลขเหล่านี้ไม่ได้ปรากฏในเสียงจริง ดังนั้นโมเดลไม่ควรสร้างตัวเลขใดๆ ขึ้นมา โดยเฉพาะตัวเลขที่ตรงกับในข้อความ

ตัวเลขบางตัวสามารถคาดเดาได้ (แต่ก็ยังเป็นเรื่องยากที่โมเดลจะทำนายได้) ในขณะที่บางตัวก็ค่อนข้างน่าประหลาดใจ คลิปต่อไปนี้รวมการทดสอบทั้งสองแบบ แสดงให้เห็นว่าโมเดลสามารถสร้างข้อผิดพลาดของ Reference Transcript รวมถึงตัวเลขที่ไม่ถูกต้องได้อย่างไร และบางโมเดลถึงกับเติมปีที่ค่อนข้างสุ่ม (2011) ทั้งที่ถูกปิดบังไป

อัตราการกู้คืน (Recovery rates) สูงที่สุดเมื่อทดสอบกับ Benchmark สาธารณะ และต่ำลงเมื่อใช้ข้อมูลที่เก็บมาใหม่ (Held-out หรือ Newly collected audio) บน LibriSpeech โมเดลที่ทำคะแนน Benchmark ได้ดีที่สุดบางส่วน ยังคงสร้างตัวเลขที่ถูกปิดบังขึ้นมาใหม่ในประมาณ 30-40% ของตัวอย่าง ทั้งที่ตัวเลขนั้นถูกลบออกไปแล้ว ผลกระทบนี้อ่อนลงเมื่อใช้ข้อมูลที่เพิ่งรวบรวมมาใหม่สำหรับหลายโมเดล ซึ่งชี้ให้เห็นว่าเสียงรอบข้างที่เกี่ยวข้องกับ Benchmark ไม่ใช่แค่การเติมคำอัตโนมัติ (Textual autocomplete) ที่ช่วยให้โมเดลสามารถกู้คืน Reference ได้

Orthographic Switching: การสลับรูปแบบการเขียน

การทดสอบ "Orthographic switching probe" ของเราตรวจสอบว่าโมเดลสามารถคัดลอกรูปแบบการสะกดที่แน่นอนจาก Reference Transcript ของ Benchmark ได้หรือไม่ แม้ว่าเสียงจะไม่ชัดเจน รูปแบบการเขียน (Orthographic variants) คือคำที่มีความหมายและเสียงเหมือนกัน แต่สามารถสะกดได้หลายแบบ (เช่น 1 กับ one, Mr. กับ mister) ในทางทฤษฎี โมเดลควรจะเลือกรูปแบบใดรูปแบบหนึ่งอย่างสม่ำเสมอ หรือสลับไปมาในอัตราสุ่ม หากโมเดลเปลี่ยนรูปแบบไปตาม Reference Transcript ของ Benchmark อย่างเป็นระบบ แสดงว่าโมเดลกำลังจับรูปแบบการสะกดที่ Benchmark คาดหวัง

ตัวอย่าง:

  • Transcription: "I URGED ON THE BOYS THAT WHATEVER HAPPENED WE SHOULD NOT SHOOT ANY ONE"
  • โมเดลที่ใช้ "any one": 6/11
  • โมเดลที่ใช้ "anyone": 5/11
  • Transcription: "CAMOUFLAGE WAS NOT A WORD THE CAPTAIN OR ANYONE ELSE OF HIS TIME YET UNDERSTOOD"
  • โมเดลที่ใช้ "any one": 2/11
  • โมเดลที่ใช้ "anyone": 9/11

ภายใน LibriSpeech เราทดสอบการสลับรูปแบบภายในชุดข้อมูล (Intra-dataset switch) โดยใช้รูปแบบการเว้นวรรคแบบเก่า: Reference Transcript บางส่วนใช้ "any one" ในขณะที่บางส่วนใช้ "anyone" เราวัดความแม่นยำขั้นต่ำสำหรับรูปแบบที่กำหนด ซึ่งเรียกว่า "switch rate" หากโมเดลใช้รูปแบบเดียวตลอด จะมี switch rate 0% โมเดลที่สุ่มเลือกคาดว่าจะมี switch rate 50% โมเดลที่ทราบว่าควรใช้รูปแบบใดในทุกตัวอย่างทดสอบ จะได้ switch rate 100%

การทดสอบที่สองเป็นการสลับระหว่างชุดข้อมูล (Inter-dataset switch) ซึ่งแต่ละ Benchmark ใช้รูปแบบการสะกดที่แตกต่างกันอย่างสม่ำเสมอตลอดชุดข้อมูลทดสอบ ตัวอย่างเช่น VoxPopuli ใช้คำย่อ "Mr." ในขณะที่ LibriSpeech สะกดว่า "Mister."

โมเดลหลายตัวทำคะแนนได้เกินกว่าค่าเฉลี่ยการเลือกแบบสุ่มที่ 50% โดยบางตัวทำได้ถึงประมาณ 90% แสดงว่าโมเดลสามารถระบุได้ว่าตัวอย่างเสียงมาจากชุดข้อมูลใด และเลือกรูปแบบการสะกดที่ Benchmark คาดหวัง แม้ว่าทั้งสองรูปแบบจะออกเสียงเหมือนกันก็ตาม

การระบุตำแหน่งของการสลับรูปแบบ

เพื่อทดสอบว่าพฤติกรรมเหล่านี้สามารถนำไปใช้กับ Benchmark สาธารณะได้หรือไม่ เราได้รวบรวมข้อมูลใหม่จากโดเมนเดียวกัน แต่หลังจากช่วงเวลาที่โมเดลถูกฝึกฝน (Training cutoffs) เช่น บันทึกการประชุมรัฐสภาล่าสุดสำหรับ VoxPopuli และบันทึกจากผู้บรรยาย LibriVox ที่เพิ่งเริ่มใช้งานสำหรับ LibriSpeech อย่างไรก็ตาม เมื่อนำเสนอข้อมูลที่รวบรวมมาใหม่จากโดเมนเดียวกัน โมเดลจำนวนมากหยุดการจับคู่กับ Reference Transcript และกลับไปใช้การถอดเสียงที่ตรงกับเสียงจริงมากขึ้น

การแทรกแซงอื่นๆ ชี้ไปในทิศทางเดียวกัน: วลีที่ปรากฏในเสียงจริงแต่ถูกละเว้นใน Reference Transcript สามารถกลับมาปรากฏได้เมื่อโมเดลถูกขอให้แปลเสียง หรือเมื่อการใส่ใจ (Attention) ถูกจำกัดอยู่เฉพาะเฟรมที่เกี่ยวข้อง การตัดบริบทของ Benchmark ที่อยู่รอบข้าง หรือการผนวกเสียงสนทนาทั่วไป ก็สามารถกู้คืน Transcript ที่ถูกต้องได้เช่นกัน การผนวกเสียง VoxPopuli อาจส่งผลตรงกันข้าม ทำให้ตัวอย่างสังเคราะห์หรือตัวอย่างที่ดึงมาซึ่งปกติจะถอดเสียงถูกต้อง มีแนวโน้มที่จะจับคู่กับ Reference ของ Benchmark มากขึ้น

สรุปผลการวิจัย

ผลลัพธ์เหล่านี้ชี้ให้เห็นว่าโมเดลมีความสามารถในการถอดคำพูดที่พูดออกมาได้อย่างถูกต้อง แต่กำลังใช้บริบทเสียงรอบข้างเพื่อตัดสินใจว่าจะทำตามเสียงจริง หรือนโยบายการถอด Transcript เฉพาะของ Benchmark

การค้นพบนี้ชี้ให้เห็นว่า บนชุดข้อมูล Open-source หลักสองชุด โมเดลบางส่วนสามารถตรวจจับสัญญาณเสียงที่เกี่ยวข้องกับชุดข้อมูล และปรับพฤติกรรมการถอดเสียงตามนั้นได้ โดยเฉพาะอย่างยิ่ง โมเดลอาจคัดลอกคำที่ไม่อยู่ในเสียงจริงแต่มีอยู่ใน Reference Transcript, กู้คืนตัวเลขที่ถูกปิดบังในอัตราที่สูงขึ้น หรือใช้บริบทเสียงรอบข้างเพื่อเลือกรูปแบบการเขียนที่ Benchmark คาดหวัง

สำหรับผู้ที่เลือกใช้โมเดล การค้นพบนี้เน้นย้ำถึงความสำคัญของการใช้ชุดประเมินผลแบบ Held-out อย่างสมบูรณ์ เช่นเดียวกับที่ RW-Voice-EQ Bench และ Open ASR Leaderboard ทำ และการมองข้าม Word Error Rate บน Benchmark สาธารณะเพียงชุดเดียว

เพื่อจุดประสงค์นี้ ได้มีการเพิ่มแท็บ "Benchmark fitting" เข้าไปใน Open ASR Leaderboard ซึ่งรวมการวิเคราะห์ข้างต้นสองรายการสำหรับทุกโมเดล: การวัดปริมาณ (1) อัตราข้อผิดพลาดของ Reference จาก VoxPopuli และ (2) การสลับรูปแบบการเขียน (Orthographic switching) ในชุดข้อมูลสาธารณะทั้งหมด สคริปต์ที่เกี่ยวข้องถูกเปิดเผยเป็น Open-source บน GitHub เช่นเดียวกับผลลัพธ์โมเดลที่ไม่ได้ปรับแต่ง

การค้นพบนี้ยังชี้แนะว่าผู้พัฒนา Benchmark ควรหลีกเลี่ยงการแบ่งชุดทดสอบแบบอิสระและเหมือนกัน (Independent and identically distributed test splits) แบบง่ายๆ โดยหันไปใช้การแยกข้อมูลตามเวลา, ผู้พูด, หรือเมตาดาตาอื่นๆ การมีความโปร่งใสมากขึ้นเกี่ยวกับข้อมูลการฝึกอบรมและขั้นตอนการเลือกโมเดล จะช่วยให้นักวิจัยเข้าใจว่าพฤติกรรมเหล่านี้เกิดขึ้นได้อย่างไร

Benchmark สาธารณะยังคงมีคุณค่า: มีความโปร่งใส ทำซ้ำได้ ใช้งานง่าย และเป็นที่เข้าใจกันดีในชุมชนนักวิจัย แต่จะมีประโยชน์มากที่สุดเมื่อเราสามารถแยกความแตกต่างระหว่างการปรับปรุงการถอดเสียงที่แท้จริง กับการปรับปรุงเฉพาะ Benchmark ที่ไม่สามารถนำไปใช้กับเสียงใหม่ๆ ได้

หากต้องการข้อมูลเพิ่มเติม สามารถอ่านรายงานฉบับเต็มได้

#ASR #SpeechRecognition #Benchmark #AIResearch

ขอบคุณ แหล่งข้อมูล
https://huggingface.co/blog/asr-benchmark-optimization

การวัดผลการปรับปรุง Benchmark ในระบบรู้จำเสียงพูด (Speech Recognition)ในโลกของการพัฒนาปัญญาประดิษฐ์ (AI) โดยเฉพาะอย่างยิ่งในด้านการรู้จำเสียงพูด (Speech Recognition) หรือ ASR (Automatic Speech Recognition) การวัดผลประสิทธิภาพของโมเดลเป็นสิ่งสำคัญอย่างยิ่ง แต่บ่อยครั้งที่ Benchmark แบบดั้งเดิมอาจไม่ได้สะท้อนถึงการใช้งานจริงได้อย่างครบถ้วน นี่คือเหตุผลว่าทำไม Hugging Face จึงได้มีการพัฒนาและนำเสนอแนวทางใหม่ๆ เพื่อวัดผลที่แม่นยำยิ่งขึ้นทำไม Benchmark แบบเดิมถึงไม่พอ?Benchmark แบบดั้งเดิมมักจะละเลยปัจจัยสำคัญหลายอย่างที่ทำให้ระบบเสียงมีประสิทธิภาพ เป็นธรรมชาติ เหมาะสมตามบริบท และใช้งานได้จริงในโลกแห่งความเป็นจริง เช่น ความน่าเชื่อถือ การโต้ตอบที่เป็นธรรมชาติ หรือความเหมาะสมกับสถานการณ์ต่างๆด้วยเหตุนี้ Hugging Face จึงได้มีการเพิ่มชุดข้อมูลแบบ "Held-out sets" เข้าไปใน Real World VoiceEQ, Open-ASR Leaderboard และ Far-field ASR Leaderboard เพื่อให้สามารถวัดผลในสิ่งที่สำคัญต่อการใช้งานจริงได้มากขึ้นปัญหา "Benchmark Optimization" หรือ "Benchmaxxing"แม้ว่าการวัดผลที่ครอบคลุมมากขึ้นจะช่วยได้ แต่ก็ยังไม่สามารถแก้ปัญหาทั้งหมดได้ ปรากฏการณ์ที่เรียกว่า "Benchmark Optimization" หรือ "Benchmaxxing" ซึ่งหมายถึงการที่โมเดลถูกปรับแต่งให้ทำคะแนนได้ดีบน Benchmark ที่กำหนด แต่ประสิทธิภาพจริงอาจไม่ได้ดีตามไปด้วย เป็นสิ่งที่ถูกพูดถึงกันมากในวงการ Machine Learningสำหรับระบบรู้จำเสียงพูด การวัดผลปรากฏการณ์นี้ทำได้ยาก แต่การวิจัยล่าสุดของ Hugging Face ได้นำเสนอ 3 วิธีทดสอบใหม่เพื่อช่วยวัดปริมาณปัญหานี้โดยเฉพาะการทดสอบโมเดล ASR ยอดนิยมในการศึกษาครั้งนี้ Hugging Face ได้ทำการประเมินโมเดล ASR แบบ Open-source ที่ใช้งานอย่างแพร่หลายจำนวน 11 โมเดล และพบว่าหลายระบบที่ทำคะแนนสูงสุด กลับมีการคัดลอก (Reproduce) Transcript จาก Benchmark ของชุดข้อมูล VoxPopuli English และ LibriSpeech (clean, other) มาใช้ แม้ว่าเสียงจริงจะขัดแย้งกับ Transcript นั้นก็ตาม หรือแม้กระทั่งในกรณีที่เสียงจริงสนับสนุนคำที่แตกต่างกันสองแบบบางครั้ง โมเดลไม่ได้อาศัยเพียงสิ่งที่พูดเท่านั้น แต่ยังใช้สัญญาณเสียงที่ละเอียดอ่อน (Subtle acoustic cues) ซึ่งบ่งชี้ว่ากำลังถูกทดสอบบน Benchmark ใด ส่งผลให้คะแนนที่ได้เกินจริงไปมากเมื่อเทียบกับความสามารถในการถอดเสียงพูดทั่วไปกรณีศึกษา: Reference Disagreement ใน VoxPopuliชุดข้อมูล VoxPopuli ขึ้นชื่อว่ามีข้อผิดพลาดในการถอด Transcript จำนวนมาก (ซึ่งเป็นเหตุผลว่าทำไม Artificial Analysis จึงได้ปล่อยเวอร์ชันที่แก้ไขแล้วออกมา) การทดสอบ "Consensus disagreement probe" ของเราจะตรวจสอบว่าเกิดอะไรขึ้นเมื่อโมเดล ASR ชั้นนำเผชิญกับข้อผิดพลาดเหล่านี้: โมเดลจะถอดเสียงตามที่ได้ยินจริง หรือจะคัดลอก Reference Transcript ที่ผิดพลาดมาใช้?วิธีการทดสอบเพื่อทดสอบในวงกว้าง Hugging Face ใช้ชุดโมเดลที่ทำงานร่วมกัน (Ensemble) ซึ่งเลือกมาจากโมเดลที่มีค่า Phoneme Error Rate (PER) ต่ำ PER เป็นตัววัดว่า Transcript ที่เขียนตรงกับเสียงในไฟล์เสียงมากน้อยเพียงใด ซึ่งเป็นตัวบ่งชี้ที่ดีว่าโมเดลถอดเสียงที่ได้ยินได้อย่างถูกต้องหรือไม่ ผลลัพธ์จาก Ensemble สามารถใช้เพื่อระบุกรณีที่โมเดลทั้งหมดมีความเห็นไม่ตรงกับ Reference Transcript ได้ จากนั้นจึงนำตัวอย่างที่ระบุได้ไปเปรียบเทียบกับข้อมูลที่มนุษย์ใส่เข้าไป (Human Annotations) เพื่อตรวจสอบความถูกต้องของ Transcript ที่แก้ไขแล้วตัวอย่างที่น่าสนใจตัวอย่างเช่น คลิป VoxPopuli หนึ่งมีวลี "Thank you, Mr. President" แต่ Reference Transcript กลับละเว้นคำว่า "Thank you" โมเดล 6 ใน 11 ตัวที่เราทดสอบ ได้คัดลอก Reference Transcript ที่ผิดพลาดมาใช้ ซึ่งก็คือ "คำตอบที่คาดหวัง" ทั้งที่ขัดแย้งกับเสียงจริงเมื่อนำเสนอเนื้อหาเดียวกันในเสียงใหม่ที่รวบรวมจากบันทึกการประชุมรัฐสภายุโรป (EU parliamentary recordings) หรือเสียงทั่วไป พฤติกรรมนี้มักจะอ่อนลงหรือหายไป ในตัวอย่างด้านล่างนี้ โมเดลเกือบทั้งหมดเปลี่ยนกลับไปถอดเสียงตามที่ถูกต้องเมื่อใช้เสียงที่เหมือนกันแต่มาจากบันทึกใหม่ ซึ่งบ่งชี้ว่าโมเดลกำลังตอบสนองต่อสัญญาณเสียงที่ช่วยให้ระบุได้ว่ากำลังถูกทดสอบบน Benchmark ใด และจึงสร้าง Transcript ที่คาดหวังขึ้นมา แม้ว่าจะขัดแย้งกับเสียงจริงก็ตามตัวอย่างการเปรียบเทียบ:Original VoxPopuli recording: Transcript อาจมีข้อผิดพลาดVoice clone of the same speaker: เสียงเหมือนเดิม แต่โมเดลเริ่มถอดเสียงถูกต้องมากขึ้นClone of a parliament speaker recorded after every model's training cutoff: เสียงจากแหล่งใหม่ ทำให้โมเดลส่วนใหญ่ถอดเสียงได้ถูกต้องผลการทดสอบชี้ให้เห็นว่าปัญหานี้แพร่หลายและมีความสำคัญ โดยวิธีการของ Hugging Face สามารถระบุข้อผิดพลาดที่อาจเกิดขึ้นใน Reference ได้ถึง 40% ของคลิปทดสอบ VoxPopuli ที่วิเคราะห์ และส่งผลกระทบต่อคำประมาณ 3% ของ Reference Transcript ทั้งหมดโมเดลที่แสดงพฤติกรรม Benchmark-optimized จะคัดลอก Reference Transcript ที่ผิดพลาดถึง 18-30% ของเวลาMasked Entity Retrieval: การกู้คืนข้อมูลที่ถูกปิดบังเพื่อต่อยอดจากการทดสอบ Consensus disagreement probe เราได้ทำการปิดบังตัวเลขในตัวอย่างเสียงของชุดข้อมูลทดสอบ และให้โมเดลถอดเสียงสิ่งที่ได้ยิน ตัวเลขเหล่านี้ไม่ได้ปรากฏในเสียงจริง ดังนั้นโมเดลไม่ควรสร้างตัวเลขใดๆ ขึ้นมา โดยเฉพาะตัวเลขที่ตรงกับในข้อความตัวเลขบางตัวสามารถคาดเดาได้ (แต่ก็ยังเป็นเรื่องยากที่โมเดลจะทำนายได้) ในขณะที่บางตัวก็ค่อนข้างน่าประหลาดใจ คลิปต่อไปนี้รวมการทดสอบทั้งสองแบบ แสดงให้เห็นว่าโมเดลสามารถสร้างข้อผิดพลาดของ Reference Transcript รวมถึงตัวเลขที่ไม่ถูกต้องได้อย่างไร และบางโมเดลถึงกับเติมปีที่ค่อนข้างสุ่ม (2011) ทั้งที่ถูกปิดบังไปอัตราการกู้คืน (Recovery rates) สูงที่สุดเมื่อทดสอบกับ Benchmark สาธารณะ และต่ำลงเมื่อใช้ข้อมูลที่เก็บมาใหม่ (Held-out หรือ Newly collected audio) บน LibriSpeech โมเดลที่ทำคะแนน Benchmark ได้ดีที่สุดบางส่วน ยังคงสร้างตัวเลขที่ถูกปิดบังขึ้นมาใหม่ในประมาณ 30-40% ของตัวอย่าง ทั้งที่ตัวเลขนั้นถูกลบออกไปแล้ว ผลกระทบนี้อ่อนลงเมื่อใช้ข้อมูลที่เพิ่งรวบรวมมาใหม่สำหรับหลายโมเดล ซึ่งชี้ให้เห็นว่าเสียงรอบข้างที่เกี่ยวข้องกับ Benchmark ไม่ใช่แค่การเติมคำอัตโนมัติ (Textual autocomplete) ที่ช่วยให้โมเดลสามารถกู้คืน Reference ได้Orthographic Switching: การสลับรูปแบบการเขียนการทดสอบ "Orthographic switching probe" ของเราตรวจสอบว่าโมเดลสามารถคัดลอกรูปแบบการสะกดที่แน่นอนจาก Reference Transcript ของ Benchmark ได้หรือไม่ แม้ว่าเสียงจะไม่ชัดเจน รูปแบบการเขียน (Orthographic variants) คือคำที่มีความหมายและเสียงเหมือนกัน แต่สามารถสะกดได้หลายแบบ (เช่น 1 กับ one, Mr. กับ mister) ในทางทฤษฎี โมเดลควรจะเลือกรูปแบบใดรูปแบบหนึ่งอย่างสม่ำเสมอ หรือสลับไปมาในอัตราสุ่ม หากโมเดลเปลี่ยนรูปแบบไปตาม Reference Transcript ของ Benchmark อย่างเป็นระบบ แสดงว่าโมเดลกำลังจับรูปแบบการสะกดที่ Benchmark คาดหวังตัวอย่าง:Transcription: "I URGED ON THE BOYS THAT WHATEVER HAPPENED WE SHOULD NOT SHOOT ANY ONE"โมเดลที่ใช้ "any one": 6/11โมเดลที่ใช้ "anyone": 5/11Transcription: "CAMOUFLAGE WAS NOT A WORD THE CAPTAIN OR ANYONE ELSE OF HIS TIME YET UNDERSTOOD"โมเดลที่ใช้ "any one": 2/11โมเดลที่ใช้ "anyone": 9/11ภายใน LibriSpeech เราทดสอบการสลับรูปแบบภายในชุดข้อมูล (Intra-dataset switch) โดยใช้รูปแบบการเว้นวรรคแบบเก่า: Reference Transcript บางส่วนใช้ "any one" ในขณะที่บางส่วนใช้ "anyone" เราวัดความแม่นยำขั้นต่ำสำหรับรูปแบบที่กำหนด ซึ่งเรียกว่า "switch rate" หากโมเดลใช้รูปแบบเดียวตลอด จะมี switch rate 0% โมเดลที่สุ่มเลือกคาดว่าจะมี switch rate 50% โมเดลที่ทราบว่าควรใช้รูปแบบใดในทุกตัวอย่างทดสอบ จะได้ switch rate 100%การทดสอบที่สองเป็นการสลับระหว่างชุดข้อมูล (Inter-dataset switch) ซึ่งแต่ละ Benchmark ใช้รูปแบบการสะกดที่แตกต่างกันอย่างสม่ำเสมอตลอดชุดข้อมูลทดสอบ ตัวอย่างเช่น VoxPopuli ใช้คำย่อ "Mr." ในขณะที่ LibriSpeech สะกดว่า "Mister."โมเดลหลายตัวทำคะแนนได้เกินกว่าค่าเฉลี่ยการเลือกแบบสุ่มที่ 50% โดยบางตัวทำได้ถึงประมาณ 90% แสดงว่าโมเดลสามารถระบุได้ว่าตัวอย่างเสียงมาจากชุดข้อมูลใด และเลือกรูปแบบการสะกดที่ Benchmark คาดหวัง แม้ว่าทั้งสองรูปแบบจะออกเสียงเหมือนกันก็ตามการระบุตำแหน่งของการสลับรูปแบบเพื่อทดสอบว่าพฤติกรรมเหล่านี้สามารถนำไปใช้กับ Benchmark สาธารณะได้หรือไม่ เราได้รวบรวมข้อมูลใหม่จากโดเมนเดียวกัน แต่หลังจากช่วงเวลาที่โมเดลถูกฝึกฝน (Training cutoffs) เช่น บันทึกการประชุมรัฐสภาล่าสุดสำหรับ VoxPopuli และบันทึกจากผู้บรรยาย LibriVox ที่เพิ่งเริ่มใช้งานสำหรับ LibriSpeech อย่างไรก็ตาม เมื่อนำเสนอข้อมูลที่รวบรวมมาใหม่จากโดเมนเดียวกัน โมเดลจำนวนมากหยุดการจับคู่กับ Reference Transcript และกลับไปใช้การถอดเสียงที่ตรงกับเสียงจริงมากขึ้นการแทรกแซงอื่นๆ ชี้ไปในทิศทางเดียวกัน: วลีที่ปรากฏในเสียงจริงแต่ถูกละเว้นใน Reference Transcript สามารถกลับมาปรากฏได้เมื่อโมเดลถูกขอให้แปลเสียง หรือเมื่อการใส่ใจ (Attention) ถูกจำกัดอยู่เฉพาะเฟรมที่เกี่ยวข้อง การตัดบริบทของ Benchmark ที่อยู่รอบข้าง หรือการผนวกเสียงสนทนาทั่วไป ก็สามารถกู้คืน Transcript ที่ถูกต้องได้เช่นกัน การผนวกเสียง VoxPopuli อาจส่งผลตรงกันข้าม ทำให้ตัวอย่างสังเคราะห์หรือตัวอย่างที่ดึงมาซึ่งปกติจะถอดเสียงถูกต้อง มีแนวโน้มที่จะจับคู่กับ Reference ของ Benchmark มากขึ้นสรุปผลการวิจัยผลลัพธ์เหล่านี้ชี้ให้เห็นว่าโมเดลมีความสามารถในการถอดคำพูดที่พูดออกมาได้อย่างถูกต้อง แต่กำลังใช้บริบทเสียงรอบข้างเพื่อตัดสินใจว่าจะทำตามเสียงจริง หรือนโยบายการถอด Transcript เฉพาะของ Benchmarkการค้นพบนี้ชี้ให้เห็นว่า บนชุดข้อมูล Open-source หลักสองชุด โมเดลบางส่วนสามารถตรวจจับสัญญาณเสียงที่เกี่ยวข้องกับชุดข้อมูล และปรับพฤติกรรมการถอดเสียงตามนั้นได้ โดยเฉพาะอย่างยิ่ง โมเดลอาจคัดลอกคำที่ไม่อยู่ในเสียงจริงแต่มีอยู่ใน Reference Transcript, กู้คืนตัวเลขที่ถูกปิดบังในอัตราที่สูงขึ้น หรือใช้บริบทเสียงรอบข้างเพื่อเลือกรูปแบบการเขียนที่ Benchmark คาดหวังสำหรับผู้ที่เลือกใช้โมเดล การค้นพบนี้เน้นย้ำถึงความสำคัญของการใช้ชุดประเมินผลแบบ Held-out อย่างสมบูรณ์ เช่นเดียวกับที่ RW-Voice-EQ Bench และ Open ASR Leaderboard ทำ และการมองข้าม Word Error Rate บน Benchmark สาธารณะเพียงชุดเดียวเพื่อจุดประสงค์นี้ ได้มีการเพิ่มแท็บ "Benchmark fitting" เข้าไปใน Open ASR Leaderboard ซึ่งรวมการวิเคราะห์ข้างต้นสองรายการสำหรับทุกโมเดล: การวัดปริมาณ (1) อัตราข้อผิดพลาดของ Reference จาก VoxPopuli และ (2) การสลับรูปแบบการเขียน (Orthographic switching) ในชุดข้อมูลสาธารณะทั้งหมด สคริปต์ที่เกี่ยวข้องถูกเปิดเผยเป็น Open-source บน GitHub เช่นเดียวกับผลลัพธ์โมเดลที่ไม่ได้ปรับแต่งการค้นพบนี้ยังชี้แนะว่าผู้พัฒนา Benchmark ควรหลีกเลี่ยงการแบ่งชุดทดสอบแบบอิสระและเหมือนกัน (Independent and identically distributed test splits) แบบง่ายๆ โดยหันไปใช้การแยกข้อมูลตามเวลา, ผู้พูด, หรือเมตาดาตาอื่นๆ การมีความโปร่งใสมากขึ้นเกี่ยวกับข้อมูลการฝึกอบรมและขั้นตอนการเลือกโมเดล จะช่วยให้นักวิจัยเข้าใจว่าพฤติกรรมเหล่านี้เกิดขึ้นได้อย่างไรBenchmark สาธารณะยังคงมีคุณค่า: มีความโปร่งใส ทำซ้ำได้ ใช้งานง่าย และเป็นที่เข้าใจกันดีในชุมชนนักวิจัย แต่จะมีประโยชน์มากที่สุดเมื่อเราสามารถแยกความแตกต่างระหว่างการปรับปรุงการถอดเสียงที่แท้จริง กับการปรับปรุงเฉพาะ Benchmark ที่ไม่สามารถนำไปใช้กับเสียงใหม่ๆ ได้หากต้องการข้อมูลเพิ่มเติม สามารถอ่านรายงานฉบับเต็มได้#ASR #SpeechRecognition #Benchmark #AIResearchhttps://huggingface.co/blog/asr-benchmark-optimization
Shared content
HUGGINGFACE.CO
Measuring benchmark optimization in speech recognition
We’re on a journey to advance and democratize artificial intelligence through open source and open science.
6 التعليقات 0 المشاركات 395 مشاهدة 0 معاينة