1 điểm bởi GN⁺ 4 giờ trước | 1 bình luận | Chia sẻ qua WhatsApp
  • Trên Apple M2 Pro, khi xử lý 5.559 mẫu thoại LibriSpeech bằng cùng một mã production, SpeechAnalyzer cho độ chính xác cao hơn mọi engine được thử nghiệm, với tỷ lệ lỗi từ (WER) 2,12% cho giọng nói sạch và 4,56% cho giọng nói nhiều tạp âm
  • WER của SFSpeechRecognizer cũ lần lượt là 9,02% và 16,25%; API mới giảm lỗi trên cùng dữ liệu thoại xuống khoảng 3,5~4 lần, đồng thời áp dụng cả dấu câu và chữ hoa chữ thường
  • SpeechAnalyzer chính xác hơn Whisper Small và nhanh hơn khoảng 3 lần, nhưng phạm vi hỗ trợ bị giới hạn ở khoảng 30 locale và các nền tảng Apple chạy OS 26 trở lên
  • Tất cả engine đều chạy nhanh hơn thời gian thực khoảng 12~40 lần trên M2 Pro, xử lý 1 giờ âm thanh trong 1,5~5 phút, nhưng do môi trường có chạy song song công việc phát triển nên tốc độ chi tiết của từng engine không được công bố
  • Nếu hiện đang chép lời tiếng Anh on-device trên iPhone hoặc Mac, SpeechAnalyzer có thể là lựa chọn ưu tiên; Inscribe cũng đã đổi mặc định để dùng SpeechAnalyzer cho các ngôn ngữ được hỗ trợ và Whisper cho phần còn lại

Kết quả benchmark độ chính xác

  • Tỷ lệ lỗi từ (WER) là tỷ lệ engine thay sai, bỏ sót hoặc tự sinh thêm từ; càng thấp thì càng chính xác
  • Tất cả engine đều chạy hoàn toàn on-device trên Apple M2 Pro 32GB và macOS 26.5.1
  • Sử dụng hai bộ dữ liệu đánh giá của LibriSpeech
    • test-clean: 2.620 mẫu thoại được đọc rõ ràng, sạch
    • test-other: 2.939 mẫu thoại khó hơn và nhiều tạp âm hơn
  • WER và kích thước mô hình của từng engine như sau
    • Apple SpeechAnalyzer: test-clean 2,12%, test-other 4,56%, mô hình hệ thống
    • Whisper Small: 3,74%, 7,95%, khoảng 460MB
    • Whisper Base: 5,42%, 12,51%, khoảng 140MB
    • Whisper Tiny: 7,88%, 17,04%, khoảng 40MB
    • Apple SFSpeechRecognizer: 9,02%, 16,25%, mô hình hệ thống
  • Apple đã thay SFSpeechRecognizer bằng SpeechAnalyzer·SpeechTranscriber trên iOS 26 và macOS 26, nhưng không công bố số liệu độ chính xác
  • Inscribe cung cấp đồng thời hai engine của Apple và ba mô hình Whisper, nên có thể so sánh cả năm engine trên cùng máy, cùng dữ liệu thoại và cùng đường đi mã production

Vì sao nên chuyển từ SFSpeechRecognizer

  • SpeechAnalyzer giảm WER xuống 3,5~4 lần so với API cũ trên cùng dữ liệu thoại
    • Giọng nói sạch: giảm từ 9,02% xuống 2,12%
    • Giọng nói nhiều tạp âm: giảm từ 16,25% xuống 4,56%
  • Không chỉ chính xác hơn, nó còn tạo ra văn bản có dấu câu và chữ hoa chữ thường, nên kết quả gọn gàng hơn engine cũ
  • Nếu chép lời cùng một lượng âm thanh 1 giờ, số từ bị nhận sai ở API cũ nhiều hơn SpeechAnalyzer khoảng 4 lần
  • Với các ứng dụng xử lý âm thanh dài hơn lệnh thoại ngắn, chỉ riêng chênh lệch độ chính xác cũng đã là lý do đủ mạnh để migration

Tiêu chí chọn giữa SpeechAnalyzer và Whisper

  • SpeechAnalyzer đạt WER thấp hơn cả Whisper Small, mô hình Whisper lớn nhất trong nhóm được thử, ở cả hai bộ dữ liệu
  • Thời gian tính toán trên mỗi giây âm thanh cũng chỉ bằng khoảng 1/3 Whisper Small, nên vượt trội cả về độ chính xác lẫn tốc độ
  • Khi xử lý tiếng Anh trên phần cứng Apple, SpeechAnalyzer cho kết quả tốt nhất trong số các engine on-device có thể thử nghiệm
  • Whisper vẫn còn hai ưu điểm
    • Hỗ trợ nhiều ngôn ngữ hơn rất nhiều so với khoảng 30 locale mà SpeechTranscriber hỗ trợ
    • Không bị giới hạn ở nền tảng Apple chạy OS 26 trở lên và có thể chạy trong nhiều môi trường khác nhau
  • Engine Auto của Inscribe đã được đổi để ưu tiên SpeechAnalyzer cho ngôn ngữ được hỗ trợ và Whisper cho các ngôn ngữ còn lại dựa trên kết quả đo

Tốc độ xử lý và giới hạn đo đạc

  • Cả năm engine đều chạy nhanh hơn thời gian thực khoảng 12~40 lần trên M2 Pro
  • Có thể chép lời 1 giờ âm thanh hoàn toàn on-device trong khoảng 1,5~5 phút
  • SpeechAnalyzer nhanh hơn Whisper Small khoảng 3 lần, đồng thời cho WER thấp hơn
  • Trong lúc đo độ chính xác, trên cùng máy vẫn có chạy công việc phát triển nên thời gian xử lý của từng engine bị nhiễu
    • Tải công việc này không ảnh hưởng đến WER
    • Bảng tốc độ chi tiết theo từng engine sẽ được bổ sung sau khi đo lại trong môi trường rảnh chuyên dụng

Tính tái lập và dữ liệu công khai

  • Các số đo của Whisper gần với kết quả LibriSpeech do OpenAI công bố, giúp xác nhận tính nhất quán của benchmark harness
    • Whisper Tiny test-clean: đo được 7,88%, OpenAI 7,6%, chênh +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
  • Lý do mọi số đo đều cao hơn nhẹ là do bộ chuẩn hóa văn bản nghiêm ngặt hơn và lượng tử hóa CoreML
  • Vì cùng một corpus, bộ chuẩn hóa và bộ chấm điểm cũng được áp dụng cho engine của Apple, nên mức độ khớp với kết quả Whisper là cơ sở để kiểm chứng các số đo phía Apple
  • Kết quả nhận dạng theo từng câu, văn bản chuẩn và WER theo từng câu đều được công khai để có thể chấm lại bằng cách chuẩn hóa khác

Cách đo WER và kiểm chứng on-device

  • Mỗi engine được chạy bằng đúng đường đi mã production và thiết lập buffering mà người dùng Inscribe thực sự sử dụng, không phải cấu hình thí nghiệm riêng
  • Văn bản chuẩn của LibriSpeech viết hoa và không có dấu câu, số được viết bằng chữ, trong khi các engine mới xuất ra văn bản có dấu câu và số
    • Cùng một bộ chuẩn hóa xử lý chữ hoa chữ thường, dấu câu, chuyển số sang từ và dạng viết tắt được áp dụng cho cả hai phía văn bản
    • Để không làm bất lợi cho các engine tạo ra định dạng đẹp hơn, việc chấm điểm không dùng nguyên văn đầu ra mà theo cách chuẩn hóa tiếng Anh của OpenAI
  • Để tránh các câu ngắn bị phản ánh quá mức, benchmark dùng corpus WER là tổng số lỗi chia cho tổng số từ chuẩn, thay vì lấy trung bình WER theo từng câu
  • SFSpeechRecognizer mặc định có thể gửi âm thanh lên máy chủ Apple nên benchmark buộc phải ép nhận dạng on-device
    • Nếu tự động chuyển sang cloud thì phép so sánh sẽ mất hiệu lực, nên harness được cấu hình để từ chối chạy trong trường hợp đó
    • Đây cũng là biện pháp để không tải 5.559 mẫu thoại lên máy chủ trong một sản phẩm chú trọng quyền riêng tư
  • Các trường hợp không trả về kết quả cũng không bị che giấu mà được tính WER của câu đó là 100%
    • Việc này chỉ xảy ra một lần trong tổng số 27.795 lượt chép lời, thuộc trường hợp test-other của SFSpeechRecognizer

Lỗi sản phẩm được phát hiện trong benchmark

  • Tính năng nhập file cho engine Apple trong Inscribe đã truyền âm thanh vào SpeechAnalyzer và đóng luồng đầu vào, nhưng không gọi finalizeAndFinishThroughEndOfInput()
  • Nếu thiếu lời gọi này, bộ phân tích sẽ không trả kết quả cuối cùng, khiến việc nhập file bị treo vô thời hạn
  • Trước đó, thiết lập Auto luôn ưu tiên Whisper nên lỗi này chưa bị phát hiện
  • Vấn đề được xác nhận trong quá trình benchmark và bản sửa đã được triển khai ngay trong ngày

Giới hạn và phạm vi áp dụng thực tế

  • Vì chỉ đánh giá giọng đọc tiếng Anh, kết quả không thể áp dụng cho hơn 100 ngôn ngữ mà Whisper hỗ trợ nhưng SpeechTranscriber không hỗ trợ
  • LibriSpeech là corpus chuẩn để so sánh, nhưng không phải dữ liệu họp
    • Giọng nói có accent, ghi âm từ xa và cuộc họp nhiều người nói sẽ là đối tượng đánh giá tiếp theo
  • Việc đo chỉ được thực hiện trên một máy M2 Pro chạy macOS 26.5.1
    • Độ chính xác được kỳ vọng sẽ giữ nguyên trên các máy Apple Silicon khác, nhưng tốc độ sẽ thay đổi theo chip
  • Whisper được chạy bằng mô hình WhisperKit CoreML đã lượng tử hóa mà Inscribe thực tế cung cấp
    • Bản triển khai GPU chuẩn có thể cho kết quả hơi khác, và chênh lệch so với số liệu OpenAI đã được phản ánh trong bảng tái lập
  • Nếu hiện đang chép lời tiếng Anh trên iPhone hoặc Mac, SpeechAnalyzer tích hợp sẵn trong hệ điều hành là lựa chọn on-device chính xác nhất theo các phép đo này
  • Inscribe dùng SpeechAnalyzer cho các ngôn ngữ được hỗ trợ, Whisper cho phần còn lại, và toàn bộ xử lý đều diễn ra trên thiết bị mà không tải âm thanh lên máy chủ

1 bình luận

 
Ý kiến trên Hacker News
  • Whisper không phù hợp để làm mốc so sánh, vì hiện nay đã có các model mới tốt hơn như Nemotron·Parakeet của Nvidia, Voxtral của Mistral và Cohere Transcribe
    Trong khi đó, khá nhiều ứng dụng trả phí chỉ đơn giản bọc Whisper có lẽ sẽ bị ảnh hưởng nặng. Nếu Apple tung ra GUI native như ứng dụng ghi âm cho macOS, thì phần lớn các app wrapper được làm bằng vibe coding dạo này có thể sẽ trở nên không cần thiết

    • Bài test này chỉ đánh giá tiếng Anh, nhưng điểm mạnh của các model khác là có thể nhận diện nhiều ngôn ngữ mà không cần chỉ định trước ngôn ngữ. Khi đọc chính tả hằng ngày bằng ba ngôn ngữ, sẽ không cần phải đặt riêng ba phím tắt
    • Vẫn còn nghi ngờ liệu Parakeet có thực sự là một model tối tân hay không. Nếu ai đó nói lắp kiểu “m-m-m-map”, Parakeet sẽ chép nguyên thành “m m m map”; tùy mục đích sử dụng mà đây có thể là ưu hay nhược điểm. Whisper thì không như vậy, còn Cohere Transcribe thì khá hợp ý tôi
    • Voice Memos của Apple đã hỗ trợ chép lời tự động từ macOS 15 và iOS 18
    • Trong số các model này, chỉ Parakeet là dưới 1 tỷ tham số, có vẻ tốt hơn model của Apple nhưng không phải loại tích hợp sẵn. Tôi tò mò không biết độ trễ và hiệu quả sẽ so sánh ra sao
    • Mong Apple cũng thay luôn tính năng nhập giọng nói tệ hại trên bàn phím của họ. Đó là phần mềm khó mà chịu nổi
  • Với ghi âm trên Mac, tôi khuyên dùng Willow. Nó xử lý gần như tức thì đồng thời còn sắp xếp nội dung, với tôi thì ở mức ‘tốt hơn cả bản chép lời hoàn hảo’; trước đây tôi cũng thích Superwhisper nhưng khác biệt khá lớn nên đã chuyển sang Willow
    Nó xuất sắc đến mức tôi tự hỏi liệu còn có thể cải thiện nhiều nữa không, và nhận dạng giọng nói dường như đã là bài toán được giải quyết, hoặc chậm nhất sẽ được giải quyết trong 5 năm tới. Không rõ các công ty liên quan có thể sống sót lâu dài hay không, nhưng với người dùng thì đây là điều tuyệt vời, và nếu Apple SpeechAnalyzer năm 2030 đủ tốt thì có lẽ sẽ không còn cần phần mềm bên thứ ba

  • Khi so với Whisper-Large-V2 trong trường hợp sử dụng chính là tạo phụ đề cho bài giảng toán, nó nhanh hơn nhiều nhưng độ chính xác thấp hơn đôi chút. Dùng cho chép lời thời gian thực thì hoàn toàn ổn, nhưng vì tôi không cần tạo phụ đề ngay lập tức nên trước mắt vẫn sẽ tiếp tục dùng Whisper

    • Tôi đang dùng nó trong một ứng dụng podcast đã phát triển nửa năm nay, và thực sự là rất nhanh. Nếu chia audio thành nhiều đoạn và chạy sao cho không vượt quá giới hạn số luồng giải mã đồng thời, tốc độ sẽ cực kỳ ấn tượng; dù có mất một phần ở ranh giới giữa các đoạn thì với podcast vẫn hoàn toàn đủ dùng
      Trên iPhone 17 Pro, nó xử lý 1 giờ audio chỉ trong 1 phút
    • Nếu nhanh hơn nhưng chất lượng thấp hơn, có lẽ nên so sánh với các model Whisper nhỏ hơn thì hợp lý hơn
  • So sánh với Voxtral sẽ phù hợp hơn. Trong các bản chép lời cuộc họp của tôi, chưa có model công khai hay riêng tư nào cho tỷ lệ lỗi từ viết tắt (AER) thấp đến vậy, và nó còn hiểu hoặc suy luận được đủ loại thuật ngữ kỹ thuật tôi dùng trong công việc nên hầu như không cần chỉnh sửa. Whisper thì tệ đến mức thảm hại

    • Vì lý do đó mà trên thiết bị Apple tôi thường tắt tự động sửa. Tôi có kỳ vọng thận trọng vào model giọng nói được cải tiến, nhưng cũng lo nó sẽ “sửa” thuật ngữ chuyên môn kỹ thuật thành những từ phổ biến
  • Whisper small·tiny·base là các model đã gần 4 năm tuổi, mà ngay cả Whisper v2 hay v3 cũng không cập nhật chúng, nên giờ có lẽ nên có đối tượng so sánh tốt hơn

    • Có rất nhiều lựa chọn, và tại https://artificialanalysis.ai/speech-to-text/non-streaming bạn còn có thể tìm kiếm và lọc chỉ theo hỗ trợ streaming và trọng số công khai. Hiện tại, Voxtral và Nvidia Nemotron có vẻ là tốt nhất
    • Có cực kỳ nhiều model, và trong số những cái gần đây tôi còn nhớ thì Parakeet đã thu hút chú ý nhờ có cả bản triển khai lightweight độc lập
  • Khá ấn tượng. Apple nói rằng họ đã cải thiện model ở 27, nên tôi cũng tò mò về kết quả đo trên bản beta

  • Đây có phải là engine đọc chính tả mới mà trên iPhone 17 thường đã 1 năm tuổi lại không chạy được chỉ vì nó không phải bản Pro?

  • Tôi dùng Spokenly với model của Nvidia ở chế độ chỉ offline. Mọi xử lý đều diễn ra cục bộ và hoàn toàn miễn phí, nên rất đáng khuyên dùng

  • Sẽ rất hay nếu họ benchmark cả Whisper large và large v3 turbo. Chúng vẫn chạy tốt trên MacBook cũ, có RTF dưới 1, và trong thực tế đọc chính tả thì chính xác hơn hẳn dòng Parakeet, trái ngược với bảng xếp hạng nhận dạng giọng nói tự động

    • Tôi khuyên nên thử MOSS-Transcribe-Diarize mới ra mắt vài ngày trước. Nó cho kết quả tốt hơn các model Whisper đó, rất nhanh, nhỏ gọn và còn phù hợp hơn với audio nhiều tạp âm
  • Thật lạ khi Whisper large v3 turbo có thể chạy cục bộ tốt ngay cả trên iPhone mới nhất mà lại bị bỏ khỏi đối tượng so sánh