1 पॉइंट द्वारा GN⁺ 2025-07-23 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Whisper मॉडल में पूरी तरह मौन wav फ़ाइल इनपुट देने पर, यह हमेशा अरबी में "ترجمة نانسي قنقر" (Translation by Nancy Qunqar) वही टेक्स्ट hallucination के रूप में आउटपुट करता है
  • ffmpeg से मौन ऑडियो बनाकर Whisper में अरबी और large-v3 मॉडल निर्दिष्ट करके चलाने पर हमेशा वही परिणाम आउटपुट होता है
  • लगता है कि Whisper मॉडल को इस तरह train किया गया है कि वह मौन ऑडियो को एक विशेष टेक्स्ट के रूप में interpret करे
  • पुराने मॉडल (small आदि) में suppress_tokens, initial prompt, logprob_threshold जैसे parameters समायोजित करके इसे कुछ हद तक दबाया जा सकता था, लेकिन v3 (खासकर large-v3) में इसका असर कम है
  • VAD(Voice Activity Detection) का उपयोग या ऑडियो के मौन हिस्सों को पहले से फ़िल्टर करने जैसी विधियाँ workaround के रूप में सुझाई गई हैं

इश्यू का व्यवहार

  • Whisper large-v3 में मौन ऑडियो के लिए हमेशा "ترجمة نانسي قنقر" नाम का अरबी वाक्य hallucination के रूप में आउटपुट होने की समस्या रिपोर्ट की गई है
  • ffmpeg से नीचे की तरह 30-सेकंड की मौन wav फ़ाइल बनाई जाती है
    ffmpeg -f lavfi -i anullsrc=r=44100\:cl=stereo -t 30 silence.wav
  • Whisper कमांड चलाने का उदाहरण
    whisper ./silence.wav --language Arabic --model large-v3
  • परिणाम:
    \[00:00.000 --> 00:29.980] ترجمة نانسي قنقر

कारण और विश्लेषण

  • large-v3 जैसे नए Whisper मॉडल, पहले की ऑडियो-विवरण जैसी शैली के बजाय, मौन पर मनमाना hallucinated आउटपुट बनाने की प्रवृत्ति दिखाते हैं
  • पुराने मॉडल (small आदि) भी मौन में इधर-उधर का (random) आउटपुट बनाते हैं, लेकिन suppress_tokens, initial prompt, logprob_threshold जैसे कई विकल्पों से इन्हें कुछ हद तक नियंत्रित किया जा सकता है
  • v3 में ऊपर बताए गए तरीके अच्छी तरह काम नहीं करते, और एक स्थिर hallucinated परिणाम दिखाई देता है

workaround और समाधान के सुझाव

  • VAD(Voice Activity Detection) लागू करना: ऑडियो में सिर्फ वही हिस्से Whisper को देना जहाँ वास्तव में आवाज़ हो, और मौन को बिल्कुल इनपुट न करना
  • suppress_tokens, initial prompt, logprob_threshold जैसे parameters समायोजित करना: कुछ मॉडलों में असर होता है, लेकिन large-v3 में बहुत कम
  • पूरी तरह मौन या बहुत कमजोर सिग्नल वाले ऑडियो के लिए Whisper के बजाय किसी और तरीके से post-processing की ज़रूरत हो सकती है

अन्य चर्चा

  • अरबी में large-v3 से बेहतर कोई मॉडल है या नहीं, इस पर अतिरिक्त चर्चा हुई, लेकिन कोई स्पष्ट वैकल्पिक मॉडल प्रस्तुत नहीं किया गया

1 टिप्पणियां

 
GN⁺ 2025-07-23
Hacker News टिप्पणी
  • whisper-large-v3 से चीनी ऑडियो का transcription करते समय कई बार देखा कि साइलेंस वाले हिस्से “लाइक, शेयर, फेवरेट करना न भूलें” जैसी बेढंगी पंक्तियों के रूप में आउटपुट हो जाते हैं; इससे शक होता है कि मॉडल ट्रेनिंग के समय YouTube वीडियो से डेटा रैंडम तरीके से उठाया गया और उसे उपयोगी सामग्री के रूप में ठीक से छांटा नहीं गया

    • चीनी transcription में अक्सर "यह subtitle शोध/अध्ययन उद्देश्य के लिए है। 48 घंटे बाद कृपया इसे हटा दें।" जैसी पंक्तियाँ भी जुड़ जाती हैं; यह subtitle volunteers द्वारा (गैरकानूनी) फिल्मों या शो के subtitles में डाला जाने वाला disclaimer होता है
    • दूसरे मॉडल इस्तेमाल करने पर भी साइलेंस वाले हिस्से ‘देखने के लिए धन्यवाद!’ या ‘[MUSIC]’ जैसी चीज़ों में बदलते देखे हैं; अफ़सोस है कि ऐसी ग़लतियाँ QA प्रक्रिया में नहीं पकड़ी जातीं और अलग-अलग transcription models में बार-बार दिखती हैं, जबकि ऑडियो इनपुट में साइलेंस आना बेहद आम बात है
    • जब whisper को टेस्ट किया, तो लगा कि YouTube या फ़ोन से शूट किए गए वीडियो में इसका प्रदर्शन अच्छा नहीं है; शायद ट्रेनिंग डेटा का ज़्यादातर हिस्सा subtitles या scripts रहा होगा। जिन वीडियो पर मैंने कोशिश की वे चीनी (Mandarin) में थे, और whisper-large-v3 के साथ सामान्य तरह की गलतफ़हमियाँ और निरर्थक नतीजे आए, लेकिन फिर भी दूसरे software की तुलना में प्रदर्शन काफ़ी अच्छा था। हालांकि यह मनमाने speaker names बना देता था या उन्हें dialogue की शुरुआत में जोड़ देता था, और बीच-बीच में simplified और traditional script के बीच बदलता रहता था। साइलेंस वाले हिस्सों में आख़िरी वाक्य को बार-बार दोहराता था या कभी-कभी अंग्रेज़ी में stage direction जैसा text डाल देता था। मुझे subtitles या ending credits तो नहीं दिखे, लेकिन एक वीडियो में speaker को ज़ुकाम था और वह नाक सुड़क रहा था, तो whisper ने उसे “* crying ” लिख दिया, और खाँसी को “ door closing *” में बदल दिया। उसके बाद वाली पंक्ति का transcription भी काफ़ी असभ्य था। जब मैंने नाक सुड़कने वाला हिस्सा काट दिया तो अजीब transcription ग़ायब हो गया, लेकिन इस बार यह फिर traditional script पर लौट गया
    • यह वैसा लगता है जैसे “अगर आप jeans को calculator में डालें, तो क्या सही जवाब आएगा?”
    • जब YouTube ने auto-captioning बनाना शुरू किया था, तब शोर या संगीत (खासकर औद्योगिक स्थल का शोर वगैरह) को हमेशा “[foreign]” के रूप में दिखाता था; जिन्हें वह समझ नहीं पाता था, उन्हें लंबे समय तक “foreign” माना गया
  • LLM में भी यही बात एक क्लासिक उदाहरण है, जहाँ अस्पष्ट डेटा की ओर झुका हुआ "overfitting" दिखता है; यह वैसा है जैसे out-of-office auto-reply को सीधे translation result के रूप में निकाल देना। संबंधित लेख: https://www.theguardian.com/theguardian/2008/nov/01/5

    • जिज्ञासा है कि क्या यह सच में overfitting है, या फिर data quality या classification की समस्या
  • खोज का समय बचाने के लिए बता दूँ: अरबी "رجمة نانسي قنقر" का मतलब है "Nancy Qanqar का अनुवाद" या "Nancy Qanqar द्वारा अनुवाद"; "رجمة" का अर्थ translation है, और "نانسي قنقر" एक नाम है

    • चेक भाषा में whisper अक्सर साइलेंस के दौरान “Titulky vytvořil JohnyX” (subtitles by JohnyX) का transcription करता है; वजह मिलती-जुलती लगती है
    • यह भी बताया गया कि spelling गलत है; "رجمة" नहीं, बल्कि शुरुआत में ت के साथ "ترجمة" सही translation है
    • ऐसे transcription का कारण यह है कि ट्रेनिंग डेटा मुख्यतः फिल्मों के अनौपचारिक subtitles से आया है; ऐसे subtitles में फिल्म के अंत में अक्सर “translated by XXX” जैसी पंक्तियाँ होती हैं। उस समय स्क्रीन पर subtitle दिखता है, लेकिन वास्तविक ऑडियो में साइलेंस होता है
  • Whisper में hallucination इतनी बार होती है कि यह इस्तेमाल लायक नहीं लगता; यह कई बार अच्छी तरह documented है। ऑडियो से साइलेंस हटाने पर कुछ कमी आती है, लेकिन grammar auto-correction (जैसे bilingual speech translation) जैसी समस्याएँ भी हैं। नए audio models में सुधार हुआ है, पर पूरी तरह हल नहीं हुआ https://news.ycombinator.com/item?id=43427376

    • मेरे हिसाब से “इस्तेमाल लायक नहीं” से ज़्यादा महत्वपूर्ण यह है कि पहले Whisper की सीमाएँ समझी जाएँ और फिर workaround निकाला जाए। मैंने Whisper पर business बनाया है, और hallucination कम करने के लिए शुरुआती चरण में voice activity detection (VAD) model जोड़ना सबसे अहम था। संदर्भ: https://speechischeap.com
    • समस्या तब होती है जब सिर्फ़ बड़ा मॉडल इस्तेमाल किया जाए; इसे हमेशा किसी छोटे satellite model या logic के साथ जोड़ना चाहिए। hallucination को मौजूदा ML/DL models से भी आसानी से detect किया जा सकता है। साइलेंस वाले हिस्से में text नहीं होना चाहिए, और इसे detect करने वाला code बनाना आसान है
    • grammar auto-correction आम subtitles में भी बहुत सामान्य है। संदर्भ वीडियो: "subtitles dubbing से अलग क्यों होते हैं?" https://youtu.be/pU9sHwNKc2c
  • Whisper के English version में भी साइलेंस चलने पर अक्सर “[ sub by sk cn2 ]”, “वैसे भी देखने के लिए धन्यवाद! subscribe और like ज़रूर करें! अलविदा!” या “यह वीडियो समाप्त हो गया है। देखने के लिए धन्यवाद। अगर यह उपयोगी लगा हो तो चैनल subscribe करें।” जैसी पंक्तियाँ आती हैं

    • इसकी वजह यह है कि मॉडल को गैरकानूनी media या YouTube videos पर train किया गया है; तरीका बुरा नहीं है, लेकिन quality control न होने या copyright issue में फँसने का जोखिम है
  • रूसी में अक्सर अंत में “Субтитры сделал DimaTorzok” (subtitles by DimaTorzok) जैसी hallucination जुड़ जाती है। यह जानने के लिए कि क्या वास्तव में ऐसे subtitles बहुत हैं, मैंने YouTube पर खोजा, लेकिन ज़्यादा नहीं दिखे

    • खोजने पर Telegram users के सवाल भी मिले कि voice recognition में यह वाक्य क्यों आता है और DimaTorzok कौन है। रूसी gaming YouTube videos वगैरह में ऐसे subtitles दिखने वाली threads भी मिलीं https://github.com/openai/whisper/discussions/2372 https://www.youtube.com/watch?v=FAqyUuahMlc&t=401s
    • शायद opensubtitles.org जैसी public subtitles बाँटने वाली कोई इकाई रही हो
  • अगर recorded call के पहले 30 सेकंड में ringtone या DTMF हो — जो किसी कंपनी को कॉल करने पर लगभग हमेशा होता है — तो Whisper अक्सर भाषा को Nynorsk या Welsh के रूप में ग़लत चुन लेता है। कौन-सा text transcribe होता है, यह मैंने नहीं देखा, लेकिन शायद उसी तरह की अजीब चीज़ें होंगी। मेरे लिए यह व्यावहारिक समस्या नहीं है, लेकिन bilingual call centers के लिए यह काफ़ी असुविधाजनक हो सकता है

  • “Nicolai Winther कौन है?” इस सवाल पर: https://medium.com/@lehandreassen/who-is-nicolai-winther-985409568201

    • यह पंक्ति छोड़ी गई: “भविष्य में AI के उथल-पुथल भरे दौर में हर व्यक्ति अपने-अपने micro-niche tech-language community में 15 मिनट के लिए मशहूर होगा”
  • कुछ लोगों का कहना है कि शीर्षक बदलकर "OpenAI ने अवैध फिल्मों पर training के सबूत दिखा दिए" होना चाहिए

    • बिल्कुल, अगर आपके पास बहुत पैसा हो तो अवैध content पर training भी क़ानूनी हो जाती है
    • जिज्ञासा है कि क्या इसे सचमुच सबूत माना जा सकता है; online subtitle communities या DVD से पहले से अनुमत copyright सामग्री इस्तेमाल होने की बात उद्योग में पहले से जानी-पहचानी लगती है। AI model training में तरह-तरह की copyrighted materials इस्तेमाल होती हैं, यह पहले भी दिख चुका है
    • Hacker News subjective title edits को लेकर बहुत सख़्त है; चाहे तथ्य पर लगभग संदेह न भी हो, इस तरह शीर्षक बदलने पर पोस्ट तुरंत flag हो जाएगी
  • एक मज़ाक यह भी था कि “क्या Nancy Qunqar खुद मशीन की तरह एक-एक करके transcription कर रही थी”, और साथ में “Nancy, हिम्मत रखो! लगे रहो!” जैसी हौसला-अफ़ज़ाई भी जोड़ी गई

    • शक हुआ कि कहीं यह spam तो नहीं; यह नाम सिर्फ़ Instagram और इसी thread में दिखता है। क्या यह Instagram followers बटोरने का कोई नया spam तरीका तो नहीं?