Whisper ഹാലൂസിനേഷനുകളെക്കുറിച്ച് മനസ്സിലാക്കാം: ട്രാൻസ്ക്രിപ്ഷൻ കൃത്യത മെച്ചപ്പെടുത്തുന്നതിനുള്ള ഒരു വഴികാട്ടി

Whisper ഹാലൂസിനേഷനുകളെക്കുറിച്ച് മനസ്സിലാക്കാം: ട്രാൻസ്ക്രിപ്ഷൻ കൃത്യത മെച്ചപ്പെടുത്തുന്നതിനുള്ള ഒരു വഴികാട്ടി

OpenAI-യുടെ Whisper മോഡലിലെ ഹാലൂസിനേഷൻ പ്രശ്നത്തെക്കുറിച്ചും അവ എങ്ങനെ പരിഹരിക്കാമെന്നും പരിശോധിക്കുന്നു.

OpenAI-യുടെ ഓട്ടോമാറ്റിക് സ്പീച്ച് റെക്കഗ്നിഷൻ (ASR) മോഡലായ Whisper, ഈയിടെയായി വലിയ തരംഗം സൃഷ്ടിക്കുന്നുണ്ട്. അടുത്തിടെ, ഒരു ഉപയോക്താവ് ഈ സാങ്കേതികവിദ്യയിലെ ഒരു പ്രധാന പ്രശ്നം വ്യക്തമാക്കുന്ന തങ്ങളുടെ അനുഭവം പങ്കുവെക്കുകയുണ്ടായി. അവർ ഒരിക്കലും പറയാതിരുന്നിട്ടും, "Thanks for watching" എന്ന് അവർ പറഞ്ഞതായി രേഖപ്പെടുത്തിയ ഫീഡ്‌ബാക്ക് അവർക്ക് ലഭിച്ചു. ഓഡിയോ റെക്കോർഡിംഗുകളിലെ നിശബ്ദമായ നിമിഷങ്ങളിൽ മോഡൽ ടെക്സ്റ്റ് നിർമ്മിക്കുന്ന, Whisper ഹാലൂസിനേഷനുകൾ എന്ന് അറിയപ്പെടുന്ന പ്രതിഭാസത്തിന്റെ ഫലമാണ് ഈ പൊരുത്തക്കേട്.

എന്താണ് Whisper ഹാലൂസിനേഷനുകൾ?

ട്രെയിനിംഗ് ഡാറ്റയിൽ നിന്ന് പഠിച്ച വാക്യങ്ങൾ ഉപയോഗിച്ച് മോഡൽ നിശബ്ദതയെ പൂരിപ്പിക്കുമ്പോഴാണ് Whisper ഹാലൂസിനേഷനുകൾ ഉണ്ടാകുന്നത്. ഈ സംഭവത്തിൽ, ഉപയോക്താവ് തന്റെ പ്രതികരണം അവസാനിപ്പിക്കുന്നതിന് മുമ്പ് ഏകദേശം നാല് സെക്കൻഡ് നിർത്തിയിരുന്നു. എന്നാൽ Whisper ആ നിശബ്ദതയെ ടെക്സ്റ്റ് നിർമ്മിക്കാനുള്ള ഒരവസരമായി തെറ്റിദ്ധരിക്കുകയും, തെറ്റായ ഫീഡ്‌ബാക്ക് നൽകുന്നതിലേക്ക് നയിക്കുകയും ചെയ്തു.

2,000 വോയ്‌സ് ക്ലിപ്പുകൾ വിശകലനം ചെയ്തതിൽ, 9.2%-ലും ഹാലൂസിനേറ്റ് ചെയ്ത ടെക്സ്റ്റ് അടങ്ങിയിരിക്കുന്നതായി കണ്ടെത്തി. അതായത് പതിനൊന്നിൽ ഒരു ക്ലിപ്പിൽ വീതം യഥാർത്ഥത്തിൽ സംസാരിക്കാത്ത വാക്യങ്ങൾ ഉണ്ടായിരുന്നു. അവസാനം മൂന്ന് സെക്കൻഡിൽ കൂടുതൽ നിശബ്ദതയുള്ള ക്ലിപ്പുകളിൽ ഈ പ്രശ്നം വളരെ പ്രകടമാണ്, അവിടെ ഹാലൂസിനേഷൻ നിരക്ക് 23% ആയി ഉയർന്നു.

എന്തുകൊണ്ടാണ് ഈ ഹാലൂസിനേഷനുകൾ സംഭവിക്കുന്നത്?

ഇതിന് പിന്നിലെ കാരണം Whisper-ന്റെ ഡീകോഡർ എങ്ങനെ പ്രവർത്തിക്കുന്നു എന്നതുമായി ബന്ധപ്പെട്ടിരിക്കുന്നു. വൻതോതിലുള്ള വെബ് ഓഡിയോ ഡാറ്റ ഉപയോഗിച്ചാണ് ഇത് പരിശീലിപ്പിച്ചത്, അവിടെ വീഡിയോ ഔട്ട്‌റോകൾ (outros) പോലെയുള്ള നിശബ്ദ നിമിഷങ്ങളിൽ "Thanks for watching" പോലുള്ള വാക്യങ്ങൾ സാധാരണമാണ്. മോഡലിന് മുന്നിൽ നിശബ്ദത വരുമ്പോൾ, അത് ഈ പരിചിതമായ വാക്യങ്ങൾ സ്വതവേ നിർമ്മിക്കാൻ തുടങ്ങുന്നു, ഇത് കൃത്യതയില്ലായ്മയിലേക്ക് നയിക്കുന്നു.

മോഡൽ 30 സെക്കൻഡ് വിൻഡോകളിലാണ് പ്രവർത്തിക്കുന്നത്, അതായത് ഇത് ഓഡിയോയിലെ പാറ്റേണുകൾ തിരയുന്നു. ദീർഘമായ നിശബ്ദത കാണുമ്പോൾ, കൃത്യമല്ലെങ്കിലും സന്ദർഭത്തിന് അനുയോജ്യമായ ടെക്സ്റ്റ് ഇത് നിർമ്മിച്ചേക്കാം. മിക്കപ്പോഴും, ഇത് ഒന്നും പുറപ്പെടുവിക്കാതിരിക്കുകയോ ഒരു no-speech ടോക്കൺ നൽകുകയോ ചെയ്യുന്നു, എന്നാൽ ചിലപ്പോൾ വിശ്വസനീയമെന്ന് തോന്നിക്കുന്ന ഒരു വാക്യം ഇത് ആത്മവിശ്വാസത്തോടെ ജനറേറ്റ് ചെയ്യുന്നു.

ഇൻ-ബിൽറ്റ് ത്രെഷോൾഡുകളുടെ പരിമിതികൾ

ഒരാൾ കരുതിയേക്കാം, ഈ no_speech_threshold പാരാമീറ്ററിന് നിശബ്ദത കണ്ടെത്താനും ഹാലൂസിനേഷനുകൾ തടയാനും സഹായിക്കുമെന്ന്. എന്നാൽ, ഇത് എല്ലായ്പ്പോഴും ഫലപ്രദമല്ല. നിശബ്ദതയെക്കുറിച്ച് ഉറപ്പില്ലെങ്കിൽപ്പോലും മോഡലിന് ടെക്സ്റ്റ് നിർമ്മിക്കാൻ കഴിയും. വാസ്തവത്തിൽ, ഉയർന്ന no-speech പ്രോബബിലിറ്റി ഉണ്ടായിരുന്നിട്ടും പല ഹാലൂസിനേഷനുകളും ഉണ്ടായതായി വിശകലനത്തിൽ വ്യക്തമായി.

ഈ പ്രശ്നം എങ്ങനെ പരിഹരിക്കാം

ഹാലൂസിനേഷൻ പ്രശ്നം പരിഹരിക്കുന്നതിന് ചില ക്രമീകരണങ്ങൾ വരുത്താവുന്നതാണ്. മോഡലിലേക്ക് നിശബ്ദത അയക്കുന്നത് പൂർണ്ണമായും ഒഴിവാക്കുക എന്നതാണ് പ്രധാന കാര്യം. ഡീകോഡിംഗിന് മുമ്പ് സംസാരിക്കാത്ത ഭാഗങ്ങൾ നീക്കം ചെയ്യാൻ Silero VAD (Voice Activity Detection) എന്ന ഇൻ-ബിൽറ്റ് ഫിൽട്ടറിന് കഴിയും. ഇതിനായി ഉപയോഗിക്കാവുന്ന ലളിതമായ ഒരു കോൺഫിഗറേഷൻ ഇതാ:

from faster_whisper import WhisperModel
model = WhisperModel("large-v3", device="cuda", compute_type="float16")

def transcribe_answer(path: str) -> str:
    segments, _ = model.transcribe(
        path,
        vad_filter=True,
        vad_parameters=dict(min_silence_duration_ms=500),
        condition_on_previous_text=False,
    )
    kept = []
    for seg in segments:
        if seg.no_speech_prob > 0.5:
            continue  # Skip confident ghosts
        kept.append(seg.text.strip())
    return " ".join(kept)

യഥാർത്ഥ സംഭാഷണം കൃത്യമായി പിടിച്ചെടുക്കുന്നതോടൊപ്പം തന്നെ ഹാലൂസിനേഷനുകളുടെ എണ്ണം ഗണ്യമായി കുറയ്ക്കാൻ ഈ കോൺഫിഗറേഷന് സാധിക്കും.

ഉപസംഹാരം

കൃത്യമായ ട്രാൻസ്ക്രിപ്ഷനുകളെ ആശ്രയിക്കുന്ന ഉപയോക്താക്കൾക്ക് Whisper-ന്റെ ഹാലൂസിനേഷൻ പ്രശ്നം ഒരു വലിയ വെല്ലുവിളിയാണ്. ഈ ഹാലൂസിനേഷനുകൾ എങ്ങനെ സംഭവിക്കുന്നുവെന്ന് മനസ്സിലാക്കുകയും അവ കുറയ്ക്കുന്നതിനുള്ള തന്ത്രങ്ങൾ നടപ്പിലാക്കുകയും ചെയ്യുന്നതിലൂടെ, ഓട്ടോമാറ്റിക് സ്പീച്ച് റെക്കഗ്നിഷൻ സിസ്റ്റങ്ങളുടെ വിശ്വാസ്യത നമുക്ക് മെച്ചപ്പെടുത്താൻ കഴിയും.

നേട്ടങ്ങൾ

  • ഹാലൂസിനേഷനുകൾ കുറയ്ക്കുന്നതിലൂടെ ട്രാൻസ്ക്രിപ്ഷനുകളിൽ മെച്ചപ്പെട്ട കൃത്യത.
  • സ്പീച്ച് റെക്കഗ്നിഷനെ ആശ്രയിക്കുന്ന ആപ്ലിക്കേഷനുകളിൽ മെച്ചപ്പെട്ട ഉപയോക്തൃ അനുഭവം.
  • ASR മോഡലുകളുടെ പരിമിതികളെക്കുറിച്ചുള്ള മികച്ച ധാരണ.

പോരായ്മകൾ

  • പരിഹാരങ്ങൾ നടപ്പിലാക്കാൻ സാങ്കേതിക പരിജ്ഞാനം ആവശ്യമാണ്.
  • ശബ്ദം വളരെ കുറഞ്ഞ ഓഡിയോകളിൽ ഇപ്പോഴും ചില പരിമിതികൾ നേരിട്ടേക്കാം.
  • ശ്രദ്ധയോടെ കോൺഫിഗർ ചെയ്തില്ലെങ്കിൽ വരുത്തുന്ന മാറ്റങ്ങൾ ചില യഥാർത്ഥ സംഭാഷണങ്ങൾ നഷ്ടപ്പെടുന്നതിലേക്ക് നയിച്ചേക്കാം.

മുന്നറിയിപ്പ്

ഈ ലേഖനം വിദ്യാഭ്യാസപരമായ ആവശ്യങ്ങൾക്കായി ഉദ്ദേശിച്ചുള്ളതാണ്. കോഡ് ഉദാഹരണങ്ങളിലെ ഏതൊരു പ്ലേസ്‌ഹോൾഡർ മൂല്യങ്ങളും പ്രായോഗിക ഉപയോഗത്തിനായി യഥാർത്ഥ ഡാറ്റ ഉപയോഗിച്ച് മാറ്റേണ്ടതുണ്ട്. വായനക്കാർ അവലംബിക്കുന്നതിന് മുമ്പ് യഥാർത്ഥ ഉറവിടവുമായി ഒത്തുനോക്കി അവകാശവാദങ്ങൾ സ്ഥിരീകരിക്കണം.

പതിവായി ചോദിക്കുന്ന ചോദ്യങ്ങൾ

  • എന്താണ് Whisper ഹാലൂസിനേഷനുകൾ? — ഓഡിയോ റെക്കോർഡിംഗുകളിലെ നിശബ്ദമായ നിമിഷങ്ങളിൽ Whisper മോഡൽ ടെക്സ്റ്റ് നിർമ്മിക്കുന്ന സാഹചര്യങ്ങളാണവ.
  • ഈ ഹാലൂസിനേഷനുകൾ എത്രത്തോളം ഉണ്ടാകാറുണ്ട്? — അടുത്തിടെ നടത്തിയ ഒരു വിശകലനത്തിൽ, 9.2% ഓഡിയോ ക്ലിപ്പുകളിൽ ഹാലൂസിനേറ്റ് ചെയ്ത ടെക്സ്റ്റ് കണ്ടെത്തി.
  • എന്താണ് ഈ ഹാലൂസിനേഷനുകൾക്ക് കാരണം? — പരിശീലന വേളയിൽ പഠിച്ച പൊതുവായ വാക്യങ്ങൾ ഉപയോഗിച്ച് മോഡൽ നിശബ്ദതയെ പൂരിപ്പിക്കുന്നത് കൊണ്ടാണ് ഇവ സംഭവിക്കുന്നത്.
  • ഹാലൂസിനേഷൻ പ്രശ്നം പരിഹരിക്കാൻ കഴിയുമോ? — അതെ, പ്രോസസ്സ് ചെയ്യുന്നതിന് മുമ്പ് നിശബ്ദത നീക്കം ചെയ്യാൻ ഒരു Voice Activity Detection ഫിൽട്ടർ ഉപയോഗിക്കുന്നതിലൂടെ ഇത് സാധിക്കും.
  • എന്താണ് no_speech_threshold? — നിശബ്ദത കണ്ടെത്തുന്നതിനായി ഉദ്ദേശിച്ചുള്ള ഒരു പാരാമീറ്ററാണിത്, എന്നാൽ ഹാലൂസിനേഷനുകൾ തടയുന്നതിൽ ഇത് പൂർണ്ണമായും ഫലപ്രദമായേക്കില്ല.
  • ട്രാൻസ്ക്രിപ്ഷൻ കൃത്യത എനിക്ക് എങ്ങനെ മെച്ചപ്പെടുത്താം? — ഫിൽട്ടറുകൾ നടപ്പിലാക്കുന്നതും മോഡൽ കോൺഫിഗറേഷനുകൾ ക്രമീകരിക്കുന്നതും പിശകുകൾ കുറയ്ക്കാൻ സഹായിക്കും.

ടാഗുകൾ

#ai #machinelearning #whisper #speechrecognition #hallucinations #transcription #technology #OpenAI #ASR #VAD

Free field guide

Kubernetes Security Checklist

Harden cluster access, workload identity, pod security, network boundaries, software supply chain, secrets, and operational monitoring.