1 คะแนน โดย GN⁺ 4 시간 전 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • จากการประมวลผลเสียง LibriSpeech 5,559 รายการบน Apple M2 Pro ด้วยโค้ดโปรดักชันเดียวกัน SpeechAnalyzer มีอัตราความผิดพลาดของคำ (WER) 2.12% สำหรับเสียงสะอาด และ 4.56% สำหรับเสียงที่มีสัญญาณรบกวนมาก ซึ่งแม่นยำกว่าเอนจินทั้งหมดที่ทดสอบ
  • SFSpeechRecognizer เดิมมี WER อยู่ที่ 9.02% และ 16.25% ตามลำดับ ขณะที่ API ใหม่ลดข้อผิดพลาดจากเสียงเดียวกันลง 3.5~4 เท่า พร้อมใส่เครื่องหมายวรรคตอนและตัวพิมพ์ใหญ่/เล็กให้ด้วย
  • SpeechAnalyzer แม่นยำกว่า Whisper Small และเร็วกว่าเกือบ 3 เท่า แต่ขอบเขตการรองรับจำกัดอยู่ที่ประมาณ 30 โลเคล และแพลตฟอร์ม Apple ที่ใช้ OS 26 ขึ้นไป
  • เอนจินทั้งหมดทำงานบน M2 Pro ได้ เร็วกว่าความเร็วจริงประมาณ 12~40 เท่า จึงประมวลผลเสียงความยาว 1 ชั่วโมงได้ใน 1.5~5 นาที แต่ไม่มีการเปิดเผยความเร็วที่แม่นยำแยกตามเอนจิน เพราะสภาพแวดล้อมมีงานพัฒนารันควบคู่ไปด้วย
  • หากตอนนี้ต้องถอดเสียงภาษาอังกฤษแบบออนดีไวซ์บน iPhone หรือ Mac, SpeechAnalyzer อาจเป็นตัวเลือกแรก และ Inscribe ก็เปลี่ยนค่าเริ่มต้นให้ใช้ SpeechAnalyzer สำหรับภาษาที่รองรับ และใช้ Whisper สำหรับภาษาที่เหลือ

ผลเบนช์มาร์กความแม่นยำ

  • อัตราความผิดพลาดของคำ (WER) คือสัดส่วนที่เอนจินแทนที่คำผิด ละคำ หรือสร้างคำขึ้นมาใหม่ ยิ่งต่ำยิ่งแม่นยำ
  • เอนจินทั้งหมดรันแบบ ออนดีไวซ์ อย่างสมบูรณ์บน Apple M2 Pro 32GB และ macOS 26.5.1
  • ใช้ชุดข้อมูลประเมินผล 2 ชุดของ LibriSpeech
    • test-clean: เสียงอ่านออกเสียงที่สะอาด 2,620 รายการ
    • test-other: เสียงที่ยากกว่าและมีสัญญาณรบกวนมากกว่า 2,939 รายการ
  • WER และขนาดโมเดลแยกตามเอนจินมีดังนี้
    • Apple SpeechAnalyzer: test-clean 2.12%, test-other 4.56%, โมเดลของระบบ
    • Whisper Small: 3.74%, 7.95%, ประมาณ 460MB
    • Whisper Base: 5.42%, 12.51%, ประมาณ 140MB
    • Whisper Tiny: 7.88%, 17.04%, ประมาณ 40MB
    • Apple SFSpeechRecognizer: 9.02%, 16.25%, โมเดลของระบบ
  • Apple ได้แทนที่ SFSpeechRecognizer ด้วย SpeechAnalyzer·SpeechTranscriber ใน iOS 26 และ macOS 26 แต่ไม่ได้เปิดเผยตัวเลขความแม่นยำ
  • Inscribe มีทั้งเอนจิน Apple สองตัวและโมเดล Whisper สามตัว จึงสามารถเปรียบเทียบเอนจินทั้งห้าบนคอมพิวเตอร์ เสียง และเส้นทางโค้ดโปรดักชันเดียวกันได้

เหตุผลที่ควรย้ายจาก SFSpeechRecognizer

  • SpeechAnalyzer ลด WER จาก API เดิมในเสียงเดียวกันได้ 3.5~4 เท่า
    • เสียงสะอาด: ลดจาก 9.02% เหลือ 2.12%
    • เสียงที่มีสัญญาณรบกวนมาก: ลดจาก 16.25% เหลือ 4.56%
  • นอกจากความแม่นยำแล้ว ยังสร้างข้อความที่มี เครื่องหมายวรรคตอนและตัวพิมพ์ใหญ่/เล็ก ทำให้ผลลัพธ์เป็นระเบียบกว่าเอนจินเดิม
  • หากถอดเสียงเนื้อหาความยาว 1 ชั่วโมงเท่ากัน API เดิมจะมีจำนวนคำที่จดจำผิดมากกว่า SpeechAnalyzer ราว 4 เท่า
  • สำหรับแอปที่ประมวลผลเสียงยาวกว่าคำสั่งเสียง ความต่างด้านความแม่นยำเพียงอย่างเดียวก็เป็นเหตุผลเพียงพอสำหรับการไมเกรต

เกณฑ์การเลือกใช้ SpeechAnalyzer กับ Whisper

  • SpeechAnalyzer มี WER ต่ำกว่า Whisper Small ซึ่งเป็นโมเดล Whisper ขนาดใหญ่ที่สุดในกลุ่มที่ทดสอบ ในทั้งสองชุดข้อมูล
  • เวลาในการคำนวณต่อเสียง 1 วินาทียังอยู่ที่ประมาณ หนึ่งในสาม ของ Whisper Small จึงเหนือกว่าทั้งด้านความแม่นยำและความเร็ว
  • เมื่อประมวลผลภาษาอังกฤษบนฮาร์ดแวร์ Apple, SpeechAnalyzer ให้ผลลัพธ์แข็งแกร่งที่สุดในบรรดาเอนจินออนดีไวซ์ที่ทดสอบได้
  • Whisper ยังเหลือข้อได้เปรียบสองอย่าง
    • รองรับภาษามากกว่ามาก เมื่อเทียบกับ SpeechTranscriber ที่รองรับประมาณ 30 โลเคล
    • ไม่จำกัดเฉพาะแพลตฟอร์ม Apple ที่ใช้ OS 26 ขึ้นไป และรันได้ในหลายสภาพแวดล้อม
  • เอนจิน Auto ของ Inscribe ถูกปรับตามผลการวัดให้ใช้ SpeechAnalyzer เป็นตัวเลือกหลักสำหรับภาษาที่รองรับ และใช้ Whisper สำหรับภาษาอื่น

ความเร็วในการประมวลผลและข้อจำกัดของการวัด

  • เอนจินทั้งห้าทำงานบน M2 Pro ได้ เร็วกว่าความเร็วจริงประมาณ 12~40 เท่า
  • สามารถถอดเสียงออดิโอความยาว 1 ชั่วโมงแบบออนดีไวซ์ได้ในประมาณ 1.5~5 นาที
  • SpeechAnalyzer เร็วกว่า Whisper Small ประมาณ 3 เท่า และมี WER ต่ำกว่า
  • ระหว่างการวัดความแม่นยำ มีงานพัฒนารันอยู่บนคอมพิวเตอร์เครื่องเดียวกันด้วย ทำให้เวลาในการประมวลผลแยกตามเอนจินมีสัญญาณรบกวนปะปน
    • ภาระงานนี้ไม่ส่งผลต่อ WER
    • ตารางความเร็วรายเอนจินที่แม่นยำจะถูกเพิ่มภายหลัง หลังวัดซ้ำในสภาพแวดล้อมเฉพาะที่ว่างจากงานอื่น

การทำซ้ำผลและข้อมูลสาธารณะ

  • ค่าที่วัดได้ของ Whisper ใกล้เคียงกับผล LibriSpeech ที่ OpenAI เผยแพร่ จึงยืนยัน ความสอดคล้องของเบนช์มาร์กฮาร์เนส ได้
    • Whisper Tiny test-clean: วัดได้ 7.88%, OpenAI 7.6%, ต่าง +0.28%p
    • Whisper Base test-clean: 5.42%, 5.0%, +0.42%p
    • Whisper Small test-clean: 3.74%, 3.4%, +0.34%p
    • Whisper Tiny test-other: 17.04%, 16.9%, +0.14%p
    • Whisper Base test-other: 12.51%, 12.4%, +0.11%p
    • Whisper Small test-other: 7.95%, 7.6%, +0.35%p
  • เหตุผลที่ค่าที่วัดได้ทั้งหมดสูงกว่าเล็กน้อยคือ ตัวปรับข้อความให้เป็นมาตรฐาน ที่เข้มงวดกว่า และการควอนไทซ์ CoreML
  • เนื่องจากใช้คอร์ปัส ตัวปรับมาตรฐาน และตัวให้คะแนนเดียวกันกับเอนจินของ Apple ความสอดคล้องกับผลของ Whisper จึงเป็นพื้นฐานในการตรวจสอบค่าที่วัดได้ของ Apple
  • มีการเผยแพร่ผลการรู้จำรายประโยค ข้อความอ้างอิง และ WER รายประโยค เพื่อให้ให้คะแนนซ้ำด้วยวิธีปรับมาตรฐานอื่นได้
    • summary.json: สรุปสำหรับเครื่องอ่านได้ขนาด 3KB ที่มีค่าการวัด 10 รายการ
    • raw-transcripts-apple.json.gz: ผลลัพธ์ 5,559 รายการของ SpeechAnalyzer, 620KB
    • raw-transcripts-legacy.json.gz: ผลลัพธ์ 5,559 รายการของ SFSpeechRecognizer, 620KB

วิธีวัด WER และการตรวจสอบว่าเป็นออนดีไวซ์

  • เอนจินแต่ละตัวรันด้วย เส้นทางโค้ดโปรดักชัน และการตั้งค่าบัฟเฟอร์ที่ผู้ใช้ Inscribe ใช้งานจริง ไม่ใช่การตั้งค่าสำหรับการทดลอง
  • ข้อความอ้างอิงของ LibriSpeech เป็นตัวพิมพ์ใหญ่ ไม่มีเครื่องหมายวรรคตอน และเขียนตัวเลขเป็นคำ แต่เอนจินสมัยใหม่ให้ผลลัพธ์ที่มีเครื่องหมายวรรคตอนและตัวเลข
    • ใช้ตัวปรับมาตรฐานเดียวกันกับข้อความทั้งสองฝั่ง เพื่อจัดการตัวพิมพ์ใหญ่/เล็ก เครื่องหมายวรรคตอน การแปลงตัวเลขเป็นคำ และรูปย่อ
    • เพื่อไม่ให้เอนจินที่สร้างรูปแบบอ่านง่ายเสียเปรียบ จึงไม่ได้ให้คะแนนจากข้อความดิบโดยตรง แต่ใช้วิธีปรับมาตรฐานภาษาอังกฤษของ OpenAI
  • ใช้ WER ระดับคอร์ปัส ซึ่งนำจำนวนข้อผิดพลาดทั้งหมดหารด้วยจำนวนคำอ้างอิงทั้งหมด แทนการเฉลี่ย WER รายประโยค เพื่อไม่ให้ประโยคสั้นมีน้ำหนักมากเกินไป
  • โดยค่าเริ่มต้น SFSpeechRecognizer สามารถส่งเสียงไปยังเซิร์ฟเวอร์ของ Apple ได้ จึงบังคับให้รู้จำแบบออนดีไวซ์
    • หากสลับไปใช้คลาวด์โดยอัตโนมัติ การเปรียบเทียบจะเป็นโมฆะ จึงตั้งค่าให้ฮาร์เนสปฏิเสธการรัน
    • นี่ยังเป็นมาตรการเพื่อไม่ให้อัปโหลดเสียง 5,559 รายการไปยังเซิร์ฟเวอร์ในผลิตภัณฑ์ที่เน้นความเป็นส่วนตัว
  • กรณีที่ไม่ส่งคืนผลลัพธ์ก็ไม่ได้ซ่อนไว้ แต่คำนวณ WER ของประโยคนั้นเป็น 100%
    • เกิดขึ้น 1 ครั้งจากการถอดเสียงทั้งหมด 27,795 ครั้ง และเป็นกรณี test-other ของ SFSpeechRecognizer

บั๊กของผลิตภัณฑ์ที่พบจากเบนช์มาร์ก

  • ฟีเจอร์นำเข้าไฟล์ของเอนจิน Apple ใน Inscribe ส่งออดิโอให้ SpeechAnalyzer และปิดสตรีมอินพุตแล้ว แต่ไม่ได้เรียก finalizeAndFinishThroughEndOfInput()
  • หากไม่มีการเรียกนี้ ตัววิเคราะห์จะไม่ส่งผลลัพธ์สุดท้าย ทำให้การนำเข้าไฟล์ค้างไม่มีกำหนด
  • ก่อนหน้านี้การตั้งค่า Auto เลือกใช้ Whisper เป็นหลัก ทำให้ยังไม่พบบั๊กนี้
  • ปัญหาถูกพบระหว่างกระบวนการเบนช์มาร์ก และแพตช์แก้ไขถูกปล่อยในวันเดียวกัน

ข้อจำกัดและขอบเขตการใช้งานจริง

  • ประเมินเฉพาะ เสียงอ่านภาษาอังกฤษ เท่านั้น จึงไม่สามารถนำผลไปใช้กับภาษา 100+ ภาษาที่ Whisper รองรับแต่ SpeechTranscriber ไม่รองรับได้
  • LibriSpeech เป็นคอร์ปัสมาตรฐานที่เปรียบเทียบได้ แต่ไม่ใช่เสียงการประชุม
    • เสียงที่มีสำเนียง เสียงที่บันทึกจากระยะไกล และการประชุมที่มีผู้พูดหลายคนเป็นเป้าหมายการประเมินถัดไป
  • วัดบน M2 Pro และ macOS 26.5.1 เพียงเครื่องเดียว
    • คาดว่าความแม่นยำจะคงอยู่บน Apple Silicon รุ่นอื่นด้วย แต่ความเร็วจะต่างกันตามชิป
  • Whisper รันด้วย โมเดล WhisperKit CoreML ที่ควอนไทซ์แล้ว ซึ่ง Inscribe ให้บริการจริง
    • การใช้งาน GPU อ้างอิงอาจให้ผลต่างเล็กน้อย และความต่างจากค่าที่ OpenAI เผยแพร่สะท้อนอยู่ในตารางการทำซ้ำผลแล้ว
  • หากตอนนี้ต้องถอดเสียงภาษาอังกฤษบน iPhone หรือ Mac, SpeechAnalyzer ที่ฝังมากับระบบปฏิบัติการเป็นตัวเลือกออนดีไวซ์ที่แม่นยำที่สุดตามการวัด
  • Inscribe ใช้ SpeechAnalyzer สำหรับภาษาที่รองรับ และใช้ Whisper สำหรับภาษาที่เหลือ โดยประมวลผลทั้งหมดภายในอุปกรณ์และไม่อัปโหลดเสียง

1 ความคิดเห็น

 
GN⁺ 4 시간 전
ความคิดเห็นจาก Hacker News
  • Whisper ไม่เหมาะจะเป็นตัวเทียบอ้างอิง เพราะตอนนี้มีโมเดลรุ่นใหม่ที่ดีกว่าอย่าง Nvidia Nemotron·Parakeet, Voxtral ของ Mistral และ Cohere Transcribe
    ขณะเดียวกันแอปเสียเงินจำนวนมากที่แค่ครอบ Whisper ไว้อีกชั้นก็น่าจะได้รับผลกระทบ ถ้า Apple ออก native GUI อย่างแอปอัดเสียงสำหรับ macOS มา แอป wrapper ส่วนใหญ่ที่ช่วงนี้ทำกันด้วย vibe coding ก็คงไม่จำเป็นอีกต่อไป

    • การทดสอบนี้ ประเมินเฉพาะภาษาอังกฤษ แต่จุดแข็งของโมเดลอื่นคือรู้จำได้หลายภาษาโดยไม่ต้องระบุภาษาล่วงหน้า เวลาพูด дикเตต 3 ภาษาในชีวิตประจำวันจะได้ไม่ต้องตั้งคีย์ลัดไว้ 3 ชุด
    • ยังสงสัยว่า Parakeet เป็น โมเดลล้ำสมัยจริงหรือไม่ ถ้าพูดติดอ่างว่า “m-m-m-map” Parakeet จะถอดเป็น “m m m map” ตรงตัว ซึ่งอาจเป็นข้อดีหรือข้อเสียก็ได้ขึ้นกับการใช้งาน Whisper ไม่ทำแบบนั้น และ Cohere Transcribe ก็ถูกใจมากพอสมควร
    • Voice Memos ของ Apple รองรับการถอดเสียงอัตโนมัติอยู่แล้วตั้งแต่ macOS 15 และ iOS 18
    • ในบรรดาโมเดลเหล่านี้ มีเพียง Parakeet เท่านั้นที่มี พารามิเตอร์ต่ำกว่า 1 พันล้าน และดูเหมือนจะดีกว่าโมเดลของ Apple แต่ไม่ได้มากับระบบในตัว อยากรู้ว่าเรื่อง latency และประสิทธิภาพจะเทียบกันอย่างไร
    • อยากให้เปลี่ยน ฟีเจอร์ป้อนข้อความด้วยเสียง ที่ห่วยของคีย์บอร์ด Apple ด้วย เป็นซอฟต์แวร์ที่ทนใช้แทบไม่ไหวจริง ๆ
  • สำหรับการอัดเสียงบน Mac ขอแนะนำ Willow มันประมวลผลแทบจะทันทีพร้อมสรุปเนื้อหาได้ด้วย สำหรับผมเลยอยู่ในระดับ ‘ดีกว่าการถอดเสียงที่สมบูรณ์แบบ’ และแม้จะเคยชอบ Superwhisper แต่ความต่างชัดเจนจนย้ายมาใช้ Willow
    มันดีมากจนแทบสงสัยว่าจะพัฒนาไปได้อีกแค่ไหน และดูเหมือนการรู้จำเสียงพูดเป็นปัญหาที่ถูกแก้ไปแล้ว หรืออย่างช้าก็จะถูกแก้ภายใน 5 ปี ไม่แน่ใจว่าบริษัทในสายนี้จะอยู่รอดระยะยาวไหม แต่สำหรับผู้บริโภคถือว่ายอดเยี่ยม และถ้า Apple SpeechAnalyzer ในปี 2030 ดีพอ ก็อาจไม่จำเป็นต้องใช้ซอฟต์แวร์ของบุคคลที่สามอีก

  • สำหรับงานหลักอย่างการทำซับไตเติลเลกเชอร์คณิตศาสตร์ เมื่อลองเทียบกับ Whisper-Large-V2 พบว่ามันเร็วกว่าเยอะ แต่ความแม่นยำต่ำกว่านิดหน่อย พอใช้กับการถอดเสียงแบบเรียลไทม์ได้สบาย แต่ผมไม่จำเป็นต้องสร้างซับทันที จึงคงใช้ Whisper ต่อไปอีกสักพัก

    • ผมใช้มันอยู่ในแอปพอดแคสต์ที่พัฒนามาครึ่งปีแล้ว และมันเร็วมากจริง ๆ ถ้าแบ่งเสียงออกเป็นหลายช่วงแล้วรันโดยไม่ให้เกิน ขีดจำกัดจำนวนสตรีมถอดรหัสพร้อมกัน ก็จะเร็วมาก แม้จะเสียบางส่วนตรงรอยต่อของช่วงไปบ้าง แต่สำหรับงานพอดแคสต์ก็เพียงพอ
      บน iPhone 17 Pro มันประมวลผลเสียงยาว 1 ชั่วโมงได้ใน 1 นาที
    • ถ้ามันเร็วกว่าแต่คุณภาพต่ำกว่า ก็น่าจะ เทียบกับโมเดล Whisper ที่เล็กกว่า จะเหมาะกว่าหรือไม่
  • น่าจะเหมาะกว่าถ้า เทียบกับ Voxtral ในงานถอดเสียงการประชุมของผม ยังไม่เคยมีโมเดลไหนทั้งแบบเปิดและปิดให้ อัตราความผิดพลาดของคำย่อ (AER) ต่ำได้เท่านี้ และมันยังเข้าใจหรืออนุมานศัพท์เทคนิคที่ใช้ในงานได้จนแทบไม่ต้องแก้ Whisper นั้นแย่มากแบบคนละชั้น

    • ด้วยเหตุนี้ บนผลิตภัณฑ์ Apple ผมจึงมักปิดการแก้คำอัตโนมัติไว้ แม้จะมีความหวังแบบระมัดระวังกับโมเดลเสียงรุ่นใหม่ แต่ก็กลัวว่ามันจะ ‘แก้’ ศัพท์เทคนิคให้กลายเป็นคำทั่วไป
  • Whisper small·tiny·base เป็นโมเดลที่อายุเกือบ 4 ปีแล้ว และแม้แต่ Whisper v2 หรือ v3 ก็ไม่ได้อัปเดตโมเดลเหล่านั้น ตอนนี้ก็น่าจะมี คู่เทียบที่ดีกว่านี้ แล้วหรือเปล่า

    • มีตัวเลือกเยอะมาก และที่ https://artificialanalysis.ai/speech-to-text/non-streaming ก็สามารถค้นหาและกรองได้แม้แค่ตามการรองรับสตรีมมิงและการเปิดเผย weights ตอนนี้ Voxtral กับ Nvidia Nemotron ดูดีที่สุด
    • มีโมเดลจำนวนมาก และในบรรดาที่จำได้ล่าสุด Parakeet ก็ได้รับความสนใจมาก เพราะมี implementation แบบเบาและเป็นอิสระออกมาด้วย
  • น่าประทับใจ Apple บอกว่า ปรับปรุงโมเดลในเวอร์ชัน 27 แล้ว จึงอยากรู้ผลวัดของเวอร์ชันเบต้าด้วย

  • นี่คือ เอนจินเขียนตามคำบอกรุ่นใหม่ ที่รันไม่ได้บน iPhone 17 รุ่นปกติอายุ 1 ปี เพียงเพราะมันไม่ใช่รุ่น Pro ใช่ไหม

  • ผมใช้ Spokenly กับโมเดลของ Nvidia ในโหมดออฟไลน์ล้วน ทุกอย่างประมวลผลบนเครื่องทั้งหมดและฟรี 100% แนะนำมาก

  • อยากให้ช่วยเบนช์มาร์ก Whisper large และ large v3 turbo ด้วย เพราะรันบน MacBook รุ่นเก่าได้สบาย มี RTF ต่ำกว่า 1 และในการเขียนตามคำบอกจริง ๆ แม่นยำกว่าโมเดลตระกูล Parakeet มาก แม้อันดับในตาราง automatic speech recognition จะบอกอีกแบบ

    • แนะนำให้ลอง MOSS-Transcribe-Diarize ที่เพิ่งออกมาเมื่อไม่กี่วันก่อน ผลลัพธ์ดีกว่าโมเดล Whisper เหล่านั้น เร็วมาก ขนาดเล็ก และเหมาะกับเสียงที่มี noise เยอะมากกว่าด้วย
  • แปลกที่ Whisper large v3 turbo ซึ่งรันบนเครื่องได้สบายแม้บน iPhone รุ่นล่าสุด กลับไม่ถูกนำมาเทียบด้วย