- Khi đưa vào tệp wav hoàn toàn im lặng cho mô hình Whisper, có hiện tượng đầu ra luôn bị ảo giác thành cùng một chuỗi tiếng Ả Rập "ترجمة نانسي قنقر" (Bản dịch của Nancy Qunqar)
- Nếu tạo audio im lặng bằng
ffmpeg rồi chạy Whisper với ngôn ngữ Ả Rập và mô hình large-v3, kết quả luôn giống hệt nhau
- Có vẻ như mô hình Whisper đã được huấn luyện theo cách diễn giải audio im lặng thành một văn bản cụ thể
- Ở các mô hình cũ hơn (
small v.v.), có thể phần nào kìm hãm hiện tượng này bằng cách điều chỉnh các tham số như suppress_tokens, initial prompt, logprob_threshold, nhưng ở v3 (đặc biệt là large-v3) hiệu quả rất thấp
- Cách dùng VAD(Voice Activity Detection) hoặc lọc trước các đoạn im lặng của audio được đề xuất như một biện pháp lách tránh
Hiện tượng của vấn đề
- Đã có báo cáo rằng trong Whisper
large-v3, với audio im lặng, mô hình luôn ảo giác và xuất ra câu tiếng Ả Rập "ترجمة نانسي قنقر"
- Tạo tệp wav im lặng 30 giây bằng
ffmpeg như sau
ffmpeg -f lavfi -i anullsrc=r=44100\:cl=stereo -t 30 silence.wav
- Ví dụ chạy lệnh Whisper
whisper ./silence.wav --language Arabic --model large-v3
- Kết quả:
\[00:00.000 --> 00:29.980] ترجمة نانسي قنقر
Nguyên nhân và phân tích
- Các mô hình Whisper mới hơn như
large-v3 có xu hướng tạo ra đầu ra ảo giác tùy ý cho im lặng, thay vì mô tả audio theo kiểu cũ
- Các mô hình trước đó (
small v.v.) cũng tạo đầu ra lặt vặt (ngẫu nhiên) trên audio im lặng, nhưng có thể kiểm soát phần nào bằng nhiều tùy chọn như suppress_tokens, initial prompt, logprob_threshold
- Trong v3, các cách trên hầu như không hiệu quả và xuất hiện kết quả ảo giác cố định
Đề xuất cách lách tránh và giải pháp
- Áp dụng VAD(Voice Activity Detection): chỉ đưa vào Whisper những đoạn audio thực sự có giọng nói, còn im lặng thì không đưa vào ngay từ đầu
- Điều chỉnh các tham số như
suppress_tokens, initial prompt, logprob_threshold: có tác dụng với một số mô hình nhưng rất hạn chế với large-v3
- Với audio hoàn toàn im lặng hoặc tín hiệu yếu, cần hậu xử lý bằng cách khác thay vì chỉ dựa vào Whisper
Thảo luận khác
- Có thêm thảo luận về việc liệu có mô hình nào tốt hơn
large-v3 cho tiếng Ả Rập hay không, nhưng chưa có mô hình thay thế rõ ràng nào được đưa ra
1 bình luận
Ý kiến Hacker News
Khi chép lời tiếng Trung bằng whisper-large-v3, nhiều lần tôi gặp trường hợp các đoạn im lặng lại được xuất ra thành những câu vô nghĩa như “hãy thích, chia sẻ và thêm vào mục yêu thích”, khiến tôi nghi ngờ rằng khi huấn luyện mô hình, dữ liệu đã được thu thập ngẫu nhiên từ video YouTube chứ không được chọn lọc kỹ thành tư liệu hữu ích
Với LLM cũng vậy, đây là một ví dụ điển hình của hiện tượng "overfitting" lệch theo dữ liệu không rõ ràng, khá giống việc đưa nguyên văn thư trả lời tự động out-of-office vào kết quả dịch; xem bài liên quan https://www.theguardian.com/theguardian/2008/nov/01/5
Để mọi người đỡ mất thời gian tìm kiếm: cụm tiếng Ả Rập "رجمة نانسي قنقر" có nghĩa là "bản dịch của Nancy Qanqar" hoặc "được Nancy Qanqar dịch", "رجمة" là dịch thuật, còn "نانسي قنقر" là tên riêng
Whisper bị hallucination quá thường xuyên, đến mức không dùng được; hiện tượng này đã được ghi nhận nhiều lần; nếu loại bỏ khoảng lặng khỏi audio thì có giảm phần nào, nhưng vẫn còn các vấn đề như tự động sửa ngữ pháp (ví dụ trong dịch speech song ngữ), và dù các mô hình audio mới hơn có cải thiện thì vẫn chưa giải quyết triệt để https://news.ycombinator.com/item?id=43427376
Ngay cả ở bản tiếng Anh của Whisper, khi phát đoạn im lặng cũng thường xuất hiện “[ sub by sk cn2 ]”, “dù sao thì cũng cảm ơn các bạn đã xem! Hãy đăng ký và bấm thích nhé! Tạm biệt!” hoặc “video này đã kết thúc. Cảm ơn bạn đã xem. Nếu thấy hữu ích, hãy đăng ký kênh.”
Trong tiếng Nga, ở cuối cũng thường xuất hiện hallucination “Субтитры сделал DimaTorzok” (phụ đề do DimaTorzok thực hiện); tôi cũng từng lên YouTube tìm thử xem có thật nhiều phụ đề kiểu đó không, nhưng có vẻ không nhiều lắm
Nếu 30 giây đầu của cuộc gọi ghi âm là tiếng chuông hoặc DTMF (gần như lúc nào cũng vậy khi gọi cho doanh nghiệp), Whisper thường chọn nhầm ngôn ngữ thành Nynorsk hoặc tiếng Wales; tôi chưa kiểm tra xem nó chép ra văn bản gì, nhưng chắc cũng là nội dung lạc đề tương tự; với tôi thì không thành vấn đề thực tế, nhưng với các call center song ngữ thì có thể khá bất tiện
Về câu hỏi “Nicolai Winther là ai?” thì xem https://medium.com/@lehandreassen/who-is-nicolai-winther-985409568201
Có người cho rằng nên đổi tiêu đề thành "OpenAI, lộ bằng chứng huấn luyện bằng phim lậu"
Cũng có người đùa rằng “biết đâu Nancy Qunqar đã ngồi chép từng dòng một cách cơ học”, rồi cổ vũ kiểu “Cố lên Nancy! Tiếp tục phát huy nhé!”