آموزش گام به گام و استفاده از OpenAI Whisper : انقلابی در دنیای تشخیص گفتار با OpenAI Whisper با 4 گام

متن پرامپت

مقدمه:

تصور کنید دنیایی که در آن هر کلمه‌ای که گفته می‌شود، فوراً به متن دقیق و قابل جستجو تبدیل شود. این رویا دیگر یک داستان علمی-تخیلی نیست، بلکه به لطف مدل پیشگامانه OpenAI Whisper به یک واقعیت در دسترس تبدیل شده است.

این ابزار قدرتمند هوش مصنوعی، مرزهای تشخیص گفتار خودکار (ASR) را جابجا کرده و به توسعه‌دهندگان، تولیدکنندگان محتوا، و کسب‌وکارها قدرتی بی‌سابقه برای آنالیز و استفاده از داده‌های صوتی بخشیده است. از ساخت زیرنویس برای فیلم‌ها و پادکست‌ها تا رونویسی دقیق جلسات کاری و تحلیل تماس‌های مشتریان، Whisper در حال تغییر بازی است.

در این راهنمای آموزش گام به گام و استفاده از OpenAI Whisper، شما را از صفر تا صد با این فناوری شگفت‌انگیز آشنا می‌کنیم. ما نه تنها نحوه نصب و استفاده از آن را به شما نشان می‌دهیم، بلکه به عمق معماری فنی، قابلیت‌ها، محدودیت‌ها، پارامترهای پیشرفته و کاربردهای خلاقانه آن نیز نفوذ خواهیم کرد تا شما را به یک کاربر حرفه‌ای Whisper تبدیل کنیم.

OpenAI Whisper چیست؟ نگاهی عمیق به مدل و تاریخچه آن

OpenAI Whisper یک مدل هوش مصنوعی برای تشخیص گفتار است که در سپتامبر ۲۰۲۲ توسط شرکت OpenAI معرفی شد. برخلاف بسیاری از مدل‌های تجاری که فقط از طریق API در دسترس هستند و به عنوان “جعبه سیاه” عمل می‌کنند، Whisper به عنوان یک مدل متن‌باز (Open-Source) منتشر شد.

این حرکت استراتژیک، انقلابی در دسترسی‌پذیری فناوری تبدیل گفتار به متن ایجاد کرد و به محققان و توسعه‌دهندگان در سراسر جهان اجازه داد تا آن را بررسی، اصلاح و بر روی آن نوآوری کنند.

فلسفه پشت Whisper، آموزش بر روی حجم عظیمی از داده‌های “دنیای واقعی” بود. این مدل بر روی یک مجموعه داده عظیم و بی‌سابقه شامل ۶۸۰,۰۰۰ ساعت صوت از اینترنت آموزش دیده است. این داده‌ها به عمد فیلتر نشده و شامل زبان‌ها، لهجه‌ها، موضوعات، نویزهای پس‌زمینه (موسیقی، همهمه، صدای محیط) و کیفیت‌های صوتی بسیار متنوعی هستند.

این رویکرد که “یادگیری تحت نظارت ضعیف” (Weak Supervision) نام دارد، به Whisper اجازه داده تا به سطح فوق‌العاده‌ای از استحکام (Robustness) و دقت دست یابد که مدل‌های آموزش‌دیده بر روی دیتاست‌های تمیز و آزمایشگاهی فاقد آن هستند.

هدف اصلی Whisper، ارائه یک سیستم رونویسی (Transcription) و ترجمه (Translation) صوتی قابل اعتماد برای بیش از ۹۹ زبان مختلف، از جمله زبان فارسی، است. معماری پیشرفته آن که بر اساس ساختار ترنسفورمر (Transformer) بنا شده، به آن اجازه می‌دهد تا متن را با درک بالایی از محتوا و زمینه تولید کند.

این مدل نه تنها کلمات را تشخیص می‌دهد، بلکه تلاش می‌کند تا علائم نگارشی و ساختار جملات را نیز به درستی بازسازی نماید، که این امر خوانایی خروجی را به شدت افزایش می‌دهد.

راهنمای نصب گام به گام OpenAI Whisper

برای شروع ماجراجویی با Whisper، ابتدا باید محیط کاری خود را آماده کنیم. این فرآیند شامل چند مرحله کلیدی است که در ادامه به تفصیل توضیح داده می‌شوند. این راهنما برای کاربران سیستم‌عامل‌های ویندوز، مک و لینوکس کاربردی است.

نصب پایتون

گام اول: پیش‌نیازها – نصب پایتون (Python)

Whisper با زبان برنامه‌نویسی پایتون کار می‌کند. اگر پایتون روی سیستم شما نصب نیست، این اولین قدم است. توصیه می‌شود از نسخه ۳.۸ تا ۳.۱۱ استفاده کنید، زیرا این نسخه‌ها بیشترین سازگاری را با کتابخانه Whisper و وابستگی‌های آن دارند.

برای نصب، به وب‌سایت رسمی پایتون (python.org) مراجعه کرده و نسخه مناسب سیستم‌عامل خود را دانلود کنید. در حین فرآیند نصب در ویندوز، حتماً و حتماً تیک گزینه “Add Python to PATH” را بزنید. این کار به شما اجازه می‌دهد تا دستورات `python` و `pip` را مستقیماً از ترمینال یا Command Prompt اجرا کنید.

برای اطمینان از نصب صحیح، ترمینال را باز کرده و دستور زیر را وارد کنید. باید نسخه پایتون نصب شده را مشاهده کنید:


python --version
    

گام دوم: نصب کتابخانه رسمی OpenAI Whisper

اکنون که پایتون آماده است، می‌توانیم کتابخانه Whisper را نصب کنیم. این کار با استفاده از `pip`، مدیر بسته پایتون، انجام می‌شود. ترمینال یا Command Prompt خود را باز کنید و دستور زیر را وارد نمایید:

kammand-terminal


pip install openai-whisper

این دستور آخرین نسخه پایدار کتابخانه Whisper را به همراه تمام وابستگی‌های ضروری آن مانند `NumPy` و `PyTorch` دانلود و نصب می‌کند. اگر می‌خواهید مطمئن شوید که همیشه از جدیدترین نسخه، شامل آخرین بهبودها و مدل‌ها (مانند large-v3) استفاده می‌کنید، می‌توانید با اضافه کردن آپشن `U-` آن را آپدیت کنید:


pip install -U openai-whisper
    

نکته مهم برای کاربران GPU: اگر قصد دارید از قدرت پردازشی کارت گرافیک NVIDIA برای سرعت بخشیدن به رونویسی استفاده کنید (که به شدت توصیه می‌شود)، باید `PyTorch` را با پشتیبانی از CUDA نصب کنید. بهتر است ابتدا به سایت PyTorch مراجعه کرده و دستور نصب مناسب برای نسخه CUDA خود را دریافت کنید و سپس Whisper را نصب نمایید. این کار تضمین می‌کند که Whisper از GPU شما به درستی استفاده خواهد کرد.

گام سوم: نصب ابزار حیاتی FFmpeg

Whisper برای خواندن و پردازش فرمت‌های مختلف صوتی (مانند MP3, M4A, FLAC) به یک ابزار خط فرمان قدرتمند به نام FFmpeg نیاز دارد. این ابزار در واقع یک چاقوی سوئیسی برای کار با فایل‌های صوتی و ویدیویی است. کتابخانه Whisper از طریق FFmpeg فایل صوتی شما را به فرمت استاندارد WAV با نرخ نمونه‌برداری ۱۶ کیلوهرتز تبدیل می‌کند که فرمت ورودی مورد انتظار مدل است.

نصب FFmpeg بسته به سیستم‌عامل شما متفاوت است:

  • ویندوز: ساده‌ترین راه استفاده از مدیر بسته Chocolatey است: `choco install ffmpeg`. راه دیگر، دانلود فایل‌های باینری از سایت رسمی FFmpeg، استخراج آن‌ها در یک پوشه (مثلاً `C:\FFmpeg`) و سپس افزودن مسیر پوشه `bin` (مثلاً `C:\FFmpeg\bin`) به متغیر محیطی `Path` سیستم است.
  • macOS: با استفاده از مدیر بسته Homebrew، به سادگی دستور `brew install ffmpeg` را اجرا کنید.
  • لینوکس (Debian/Ubuntu): دستور `sudo apt update && sudo apt install ffmpeg` را در ترمینال خود اجرا کنید.
نصب ffmg در ویندوز
روند نصب ffmg در ویندوز

برای بررسی نصب موفقیت‌آمیز، دستور `ffmpeg -version` را در ترمینال وارد کنید. اگر اطلاعات نسخه نمایش داده شد، نصب صحیح بوده است.

گام چهارم : اجرای اولین رونویسی و تأیید عملکرد

تبریک! تمام قطعات پازل در جای خود قرار گرفته‌اند. اکنون زمان آن است که قدرت Whisper را آزمایش کنیم. شما می‌توانید از Whisper به دو روش اصلی استفاده کنید: از طریق خط فرمان (CLI) یا با نوشتن اسکریپت پایتون.

روش خط فرمان (ساده و سریع):
یک فایل صوتی (مثلاً `my_podcast_segment.mp3`) را در یک پوشه قرار دهید. سپس ترمینال را در همان پوشه باز کرده و دستور زیر را اجرا کنید:


# این دستور مدل 'small' را دانلود کرده و برای رونویسی استفاده می‌کند
# و زبان را به صورت خودکار تشخیص می‌دهد
whisper "my_podcast_segment.mp3" --model small
    

در اولین اجرا، Whisper مدل مشخص شده (`small` در این مثال) را دانلود و کش می‌کند. این فرآیند ممکن است کمی طول بکشد. پس از اتمام، فرآیند رونویسی آغاز می‌شود. خروجی متن در ترمینال نمایش داده شده و به طور پیش‌فرض، فایل‌های متنی در فرمت‌های `txt.`, `vtt.` و `srt.` در کنار فایل صوتی شما ایجاد می‌شوند.

راهنمای نوشتن پرامپت برای OpenAI Whisper: فراتر از یک رونویسی ساده

شاید تعجب کنید، اما Whisper نیز مانند مدل‌های زبانی بزرگ (LLMها) می‌تواند از “پرامپت” برای بهبود خروجی خود استفاده کند. پرامپت در اینجا به معنای ارائه یک متن اولیه به مدل است تا سبک، املا، و علائم نگارشی مورد نظر شما را بهتر درک کند و در خروجی خود اعمال نماید.

این قابلیت به خصوص برای موارد زیر بسیار کاربردی است:

  • اصلاح املای اسامی خاص: نام‌های غیرمعمول، برندها یا مکان‌های جغرافیایی (مثلاً “Siobhan”, “Giphy”, “Nvidia”).
  • کلمات فنی و تخصصی: اصطلاحات یک حوزه خاص که ممکن است در داده‌های آموزشی عمومی کمتر دیده شده باشند.
  • تنظیم سبک نگارش: برای مثال، اگر می‌خواهید خروجی با علائم نگارشی کامل باشد، می‌توانید در پرامپت خود از آن استفاده کنید.

مدل تلاش می‌کند تا سبک و واژگان متن پرامپت شما را در رونویسی خود تقلید کند. این کار از طریق مکانیزم `history-prompt` در دیکودر مدل انجام می‌شود. برای مثال، اگر در یک فایل صوتی نام “Siobhan” ذکر می‌شود که ممکن است به اشتباه “Shavon” رونویسی شود، می‌توانید با ارائه پرامپت صحیح، مدل را راهنمایی کنید.

هنگام استفاده از کتابخانه پایتون، می‌توانید پرامپت را به شکل زیر از طریق پارامتر `prompt` در متد `transcribe` به مدل بدهید:


import whisper

model = whisper.load_model("base")

# فرض کنید صوت شما حاوی کلمات تخصصی مانند "GAN" و "Transformer" است
# و نام "Geoffrey Hinton" نیز در آن ذکر شده است.
initial_prompt = "The following is a technical lecture about AI. It mentions Geoffrey Hinton, Generative Adversarial Networks (GANs), and the Transformer architecture."

result = model.transcribe(
    "path/to/lecture.mp3",
    prompt=initial_prompt
)

print(result["text"])
    

به یاد داشته باشید که پرامپت فقط روی پنجره متنی اولیه مدل (اولین ۳۰ ثانیه) تأثیر مستقیم دارد و با پیشرفت رونویسی، تأثیر آن کمرنگ می‌شود. بنابراین، برای فایل‌های طولانی، بهتر است از آن برای تنظیم لحن و واژگان ابتدایی یا اصلاح کلمات کلیدی که در ابتدای صوت می‌آیند، استفاده کنید.

ویژگی‌ها و قابلیت‌های کلیدی Whisper

قدرت واقعی Whisper در مجموعه ویژگی‌های گسترده آن نهفته است که آن را به ابزاری بسیار انعطاف‌پذیر تبدیل می‌کند. درک این قابلیت‌ها به شما کمک می‌کند تا بیشترین بهره را از این مدل ببرید.

پشتیبانی چندزبانه (Multilingual Support) و تشخیص خودکار زبان

Whisper می‌تواند گفتار را در ۹۹ زبان مختلف، از جمله فارسی، انگلیسی، اسپانیایی، و چینی، با دقت بالا رونویسی کند. اما ویژگی برجسته‌تر، قابلیت تشخیص خودکار زبان (Language Detection) است.

شما می‌توانید یک فایل صوتی را بدون مشخص کردن زبان آن به مدل بدهید و Whisper با تحلیل چند ثانیه اول صوت، زبان آن را تشخیص داده و سپس به همان زبان رونویسی را ادامه می‌دهد. این قابلیت برای پردازش مجموعه داده‌های چندزبانه فوق‌العاده است.


# مدل به صورت خودکار زبان را تشخیص می‌دهد
result = model.transcribe("audio_in_unknown_language.mp3")
detected_language = result['language']
print(f"Detected language: {detected_language}")
print(result['text'])
    

ترجمه مستقیم به انگلیسی

یکی از قابلیت‌های منحصربه‌فرد و بسیار قدرتمند Whisper، توانایی ترجمه مستقیم صوت از هر زبان پشتیبانی‌شده به زبان انگلیسی است. این ویژگی برای کاربرانی که با محتوای بین‌المللی سر و کار دارند، بسیار ارزشمند است.

به جای دو مرحله (رونویسی به زبان اصلی و سپس ترجمه متن)، Whisper این کار را در یک مرحله و با دقت بالا انجام می‌دهد. برای فعال کردن این قابلیت، باید `task` را برابر با `translate` قرار دهید.

آموزش گام به گام و استفاده از OpenAI Whisper بخش ترجمه
ترجمه مستقیم

# این دستور فایل صوتی فارسی را مستقیما به انگلیسی ترجمه می‌کند
whisper "audio_persian.mp3" --task translate --model base
    

اندازه‌های مختلف مدل: تعادل بین سرعت و دقت

Whisper در پنج اندازه اصلی عرضه می‌شود: `tiny`, `base`, `small`, `medium`, و `large` (که خود دارای نسخه‌های v1, v2, v3 است). این تنوع به کاربران اجازه می‌دهد تا بر اساس نیاز و منابع سخت‌افزاری خود، بهترین گزینه را انتخاب کنند.

  • tiny, base: بسیار سریع، نیاز به منابع کم (قابل اجرا روی CPU)، اما دقت پایین‌تر. مناسب برای کارهای غیرحساس یا تست سریع.
  • small, medium: تعادل خوبی بین سرعت و دقت. مدل `medium` اغلب نقطه شروع خوبی برای کارهای جدی است و روی GPUهای میان‌رده به خوبی اجرا می‌شود.
  • large, large-v2, large-v3: بالاترین دقت ممکن، به خصوص در زبان‌های غیرانگلیسی و شرایط نویزی. اما برای اجرا به یک کارت گرافیک قدرتمند (GPU) با حداقل ۱۰ گیگابایت VRAM نیاز دارد و سرعت آن کمتر است.

{{ یک اینفوگرافیک که پنج اندازه مدل Whisper را با هم مقایسه می‌کند. هر مدل با تعداد پارامترها (e.g., tiny: 39M, large: 1550M)، نیاز به VRAM (e.g., tiny: ~1GB, large: ~10GB)، سرعت نسبی (به صورت X برابر سریع‌تر از large) و یک نمودار میله‌ای برای نشان دادن سطح دقت نسبی (WER) نمایش داده می‌شود. }}

ایجاد برچسب زمانی دقیق (Timestamps)

این مدل می‌تواند برچسب‌های زمانی را در سطح بخش (Segment-level) یا حتی در سطح کلمه (Word-level) تولید کند. این قابلیت برای ساخت فایل‌های زیرنویس (SRT/VTT)، همگام‌سازی متن با صوت، یا امکان کلیک روی یک کلمه و پرش به آن لحظه از صوت، بسیار حیاتی است.

فعال کردن برچسب زمانی در سطح کلمه (`word_timestamps=True`) نیاز به پردازش بیشتری دارد اما اطلاعات بسیار ارزشمندی را در خروجی فراهم می‌کند.


result = model.transcribe("audio.mp3", word_timestamps=True)

# چاپ کلمات به همراه زمان شروع و پایان
for segment in result['segments']:
    for word in segment['words']:
        print(f"[{word['start']:.2f}s - {word['end']:.2f}s] {word['word']}")
    

تشخیص فعالیت صوتی (VAD) برای حذف سکوت

Whisper از یک فیلتر داخلی تشخیص فعالیت صوتی (Voice Activity Detection – VAD) بهره می‌برد تا بخش‌های سکوت در فایل صوتی را شناسایی و از پردازش آن‌ها صرف‌نظر کند.

این کار دو مزیت عمده دارد: اولاً باعث می‌شود فرآیند رونویسی سریع‌تر شود، و ثانياً از “هذیان‌گویی” (Hallucination) مدل در بخش‌های طولانی سکوت جلوگیری می‌کند. این قابلیت به طور پیش‌فرض فعال است اما می‌توان پارامترهای آن را برای تنظیم حساسیت تغییر داد.

محدودیت‌های OpenAI Whisper و راه‌های غلبه بر آن‌ها

با وجود تمام قابلیت‌های شگفت‌انگیز، Whisper بدون محدودیت نیست. شناخت این محدودیت‌ها به شما کمک می‌کند تا انتظارات واقع‌بینانه‌ای داشته باشید و در پروژه‌های خود بهترین نتیجه را بگیرید.

چالش رونویسی زنده (Real-time)

کتابخانه رسمی `openai-whisper` برای پردازش دسته‌ای (Batch Processing) فایل‌های صوتی کامل طراحی شده است. این یعنی مدل کل فایل (یا قطعات ۳۰ ثانیه‌ای آن) را دریافت و سپس پردازش می‌کند که این امر منجر به تأخیر می‌شود و برای کاربردهای زنده مانند زیرنویس همزمان یک سخنرانی مناسب نیست.

راه‌حل: جامعه متن‌باز راه‌حل‌های هوشمندانه‌ای برای این مشکل ارائه کرده است. پروژه‌هایی مانند `Faster-Whisper` (یک پیاده‌سازی مجدد و بهینه شده از Whisper) و ابزارهای دیگر، با تقسیم کردن جریان صوتی زنده به قطعات کوچک، استفاده از VAD برای تشخیص پایان جملات، و پردازش موازی، توانسته‌اند رونویسی “نزدیک به زنده” (Near Real-time) را با تأخیر بسیار کم (کمتر از یک ثانیه) ممکن سازند.

پدیده هذیان‌گویی (Hallucination)

گاهی اوقات، به خصوص در فایل‌های صوتی با نویز بسیار شدید یا بخش‌های حاوی سکوت طولانی، مدل ممکن است شروع به تولید متن‌های تکراری یا بی‌معنی کند که در صوت اصلی وجود ندارند. این پدیده که “هذیان‌گویی” نام دارد، به دلیل تلاش مدل برای پیدا کردن الگوهای گفتاری در جایی که وجود ندارند، رخ می‌دهد.

راه‌حل: استفاده از پارامترهای مناسب در هنگام رونویسی می‌تواند به کاهش این پدیده کمک کند. برای مثال، تنظیم پارامتر `temperature` روی صفر و استفاده از `beam_search` با تعداد پرتوهای کمتر، خروجی را قطعی‌تر و کمتر تصادفی می‌کند. همچنین، فعال بودن VAD برای حذف سکوت‌ها نقش مهمی در جلوگیری از این مشکل دارد.

عدم تفکیک گوینده (Speaker Diarization)

یک محدودیت ذاتی مهم در Whisper، عدم توانایی آن در تفکیک گویندگان است. اگر دو یا چند نفر در یک مصاحبه یا جلسه صحبت کنند، Whisper تمام گفتارها را به صورت یک متن یکپارچه و پیوسته رونویسی می‌کند و مشخص نمی‌کند هر جمله یا کلمه توسط کدام شخص گفته شده است (مثلاً “Speaker A” یا “Speaker B”).

راه‌حل: این مشکل نیز توسط ابزارهای جانبی حل شده است. کتابخانه‌هایی مانند `pyannote.audio` که یک مدل تخصصی برای تفکیک گوینده است، می‌توانند با Whisper ترکیب شوند. فرآیند به این صورت است: ابتدا `pyannote` فایل صوتی را تحلیل کرده و مشخص می‌کند در هر بازه زمانی کدام گوینده صحبت می‌کند.

سپس این اطلاعات زمانی به همراه فایل صوتی به Whisper داده می‌شود تا برای هر بخش مشخص شده، رونویسی را انجام دهد و در نهایت متن به همراه برچسب گوینده ارائه می‌شود.

جدول مقایسه جامع: Whisper در برابر غول‌های ابری

برای درک بهتر جایگاه Whisper در اکوسیستم ابزارهای تبدیل گفتار به متن، آن را با چند رقیب اصلی و تجاری مقایسه می‌کنیم. این جدول به شما کمک می‌کند تا بر اساس نیازهای فنی، بودجه و مقیاس پروژه خود، بهترین ابزار را انتخاب کنید.

ویژگی OpenAI Whisper Google Speech-to-Text Amazon Transcribe
مدل استقرار و هزینه متن‌باز و رایگان. اجرا بر روی سخت‌افزار شخصی (Local) یا ابری. هزینه اصلی مربوط به تهیه و نگهداری سخت‌افزار (GPU) است. سرویس ابری مدیریت‌شده (Managed Cloud Service). هزینه بر اساس مدل پرداخت به ازای هر دقیقه استفاده (Pay-as-you-go). سرویس ابری مدیریت‌شده. هزینه بر اساس مدل پرداخت به ازای هر دقیقه استفاده، با لایه رایگان ماهانه.
حریم خصوصی داده‌ها کامل. داده‌ها هرگز از سرور شما خارج نمی‌شوند. ایده‌آل برای داده‌های حساس و محرمانه. داده‌ها برای پردازش به سرورهای گوگل ارسال می‌شوند. سیاست‌های حفظ حریم خصوصی گوگل اعمال می‌شود. داده‌ها برای پردازش به سرورهای آمازون (AWS) ارسال می‌شوند. گزینه‌هایی برای عدم ذخیره‌سازی داده‌ها وجود دارد.
دقت و عملکرد بسیار بالا، به خصوص در شرایط نویزی و برای زبان‌های مختلف (با مدل large-v3). معیار طلایی جدید در بسیاری از بنچمارک‌ها. بسیار بالا و قابل اعتماد. دارای مدل‌های تخصصی برای تلفن، ویدیو و غیره. بسیار بالا. دارای مدل‌های تخصصی برای حوزه‌های پزشکی (Transcribe Medical) و تحلیل تماس (Transcribe Call Analytics).
ویژگی‌های پیشرفته رونویسی و ترجمه همزمان به انگلیسی، تشخیص ۹۹ زبان، برچسب زمانی در سطح کلمه. تفکیک گوینده، مدل‌های تطبیقی (افزایش دقت برای واژگان خاص)، فیلتر کردن کلمات نامناسب، رونویسی زنده قوی. تفکیک گوینده، پنهان‌سازی اطلاعات حساس (PII Redaction)، تحلیل احساسات، خلاصه سازی تماس، رونویسی پزشکی.
سهولت استفاده و مقیاس‌پذیری نیاز به دانش فنی برای نصب و مدیریت. مقیاس‌پذیری بستگی به زیرساخت خود شما دارد. بسیار آسان از طریق REST API یا gRPC. مقیاس‌پذیری نامحدود و مدیریت‌شده توسط گوگل. آسان از طریق AWS SDK و API. مقیاس‌پذیری نامحدود و یکپارچه با اکوسیستم AWS.
جامعه و پشتیبانی پشتیبانی از طریق جامعه بزرگ متن‌باز (GitHub, Discord). بدون پشتیبانی رسمی تجاری. پشتیبانی تجاری و رسمی از طریق Google Cloud Support. مستندات بسیار کامل. پشتیبانی تجاری و رسمی از طریق AWS Support. مستندات جامع.
آموزش گام به گام و استفاده از OpenAI Whisper
آینده هوش مصنوعی OpenAI Whisper

جدیدترین به‌روزرسانی‌ها: Whisper Large-v3 و آینده مدل

در نوامبر ۲۰۲۳، OpenAI از نسخه سوم مدل بزرگ خود، یعنی Whisper Large-v3 رونمایی کرد. این نسخه صرفاً یک به‌روزرسانی جزئی نبود، بلکه نشان‌دهنده تعهد OpenAI به بهبود مستمر این مدل متن‌باز است. این نسخه بهبودهای قابل توجهی را نسبت به `large-v2` به ارمغان آورده است.

مدل `large-v3` عملکرد بهبودیافته‌ای را در بسیاری از زبان‌ها نشان می‌دهد و در بنچمارک‌های استاندارد مانند FLEURS (برای زبان‌های با منابع کم) و CoVoST-2 (برای ترجمه گفتار) به دقت بالاتری دست یافته است. این بهبود به ویژه برای زبان‌هایی که در نسخه‌های قبلی چالش‌برانگیزتر بودند، مشهود است.

یکی از پیشرفت‌های کلیدی، درک بهتر زمینه و کاهش خطاهای رایج در نسخه‌های قبلی است. اگر به دنبال بالاترین سطح دقت ممکن برای زبان فارسی یا هر زبان دیگری هستید، به‌روزرسانی و استفاده از `large-v3` یک گام ضروری است. برای استفاده از آن، کافی است هنگام بارگذاری مدل، نام `large-v3` را مشخص کنید:


# بارگذاری جدیدترین و دقیق‌ترین مدل موجود
model = whisper.load_model("large-v3")
    

آینده Whisper احتمالاً شامل بهبودهای بیشتر در دقت، کاهش نیاز به منابع سخت‌افزاری (از طریق تکنیک‌هایی مانند کوانتیزاسیون و تقطیر مدل)، و شاید افزودن قابلیت‌های جدیدی مانند تفکیک گوینده به صورت بومی باشد. جامعه متن‌باز نیز به موازات آن به توسعه ابزارهای مکمل ادامه خواهد داد.

نتیجه‌گیری: Whisper، ابزاری دموکراتیک برای آینده ارتباطات

OpenAI Whisper فقط یک مدل هوش مصنوعی دیگر نیست؛ این یک ابزار دموکراتیک‌کننده است که قدرت تحلیل گفتار را از انحصار شرکت‌های بزرگ فناوری خارج کرده و در اختیار همگان قرار می‌دهد. از دانشجویی که ساعت‌ها سخنرانی استادش را در چند دقیقه به متن تبدیل می‌کند، تا یک شرکت رسانه‌ای بزرگ که آرشیو ویدیویی چند دهه‌ای خود را قابل جستجو می‌سازد، Whisper کاربردهای بی‌پایانی دارد.

با متن‌باز بودن، حریم خصوصی کامل داده‌ها، دقت فوق‌العاده بالا (به‌ویژه در زبان فارسی با مدل `large-v3`) و انعطاف‌پذیری در انتخاب مدل، این فناوری به یک استاندارد طلایی در حوزه خود تبدیل شده است.

اگرچه محدودیت‌هایی مانند نیاز به سخت‌افزار قوی و عدم پشتیبانی ذاتی از تفکیک گوینده وجود دارد، اکوسیستم پر جنب و جوش پیرامون آن به سرعت در حال ارائه راه‌حل‌های نوآورانه برای هر چالشی است.

سفر شما با Whisper تازه آغاز شده است. با دانش و ابزارهایی که در این راهنمای جامع و عمیق کسب کردید، اکنون آماده‌اید تا نه تنها از این مدل استفاده کنید، بلکه آن را برای نیازهای خاص خود سفارشی‌سازی کرده، با ابزارهای دیگر ترکیب نموده و پتانسیل کامل داده‌های صوتی خود را کشف کنید.

سوالات متداول (FAQ) درباره OpenAI Whisper

در این راهنما، به پرسش‌های رایج در مورد مدل تشخیص گفتار Whisper، قابلیت‌ها، نحوه استفاده و محدودیت‌های آن پاسخ داده می‌شود.

۱. OpenAI Whisper چیست؟

Whisper یک سیستم تشخیص خودکار گفتار (Automatic Speech Recognition – ASR) است که توسط شرکت OpenAI توسعه یافته است. این مدل بر روی مجموعه داده‌ای عظیم و متنوع شامل ۶۸۰,۰۰۰ ساعت صدای ضبط شده از اینترنت آموزش دیده است. این حجم و تنوع داده‌ها به Whisper اجازه می‌دهد تا با دقت بسیار بالایی گفتار را در شرایط مختلف، از جمله وجود نویز پس‌زمینه، لهجه‌های گوناگون و واژگان تخصصی، به متن نوشتاری تبدیل کند.

علاوه بر تبدیل گفتار به متن، Whisper قادر به شناسایی زبان گفتار و ترجمه گفتار از زبان‌های مختلف به زبان انگلیسی است.

۲. ویژگی‌های کلیدی Whisper کدامند؟

Whisper دارای چندین ویژگی برجسته است که آن را از سایر سیستم‌های ASR متمایz می‌کند:

تشخیص گفتار چندزبانه (Multilingual Support): این مدل از ۹۹ زبان مختلف پشتیبانی می‌کند و می‌تواند گفتار در این زبان‌ها را به متن تبدیل کند.
ترجمه گفتار به انگلیسی (Speech Translation): Whisper می‌تواند گفتار را از زبان‌های پشتیبانی‌شده مستقیماً به متن انگلیسی ترجمه کند.
مقاومت بالا (Robustness): به دلیل آموزش روی داده‌های متنوع، Whisper در برابر نویز پس‌زمینه، اکو، لهجه‌های مختلف و سرعت‌های متفاوت صحبت کردن، عملکرد بسیار خوبی دارد.
شناسایی خودکار زبان (Language Identification): اگر زبان فایل صوتی را ندانید، Whisper می‌تواند آن را به صورت خودکار تشخیص دهد.
مدل‌های متن‌باز (Open-Source): OpenAI مدل‌های آموزش‌دیده و کد منبع Whisper را به صورت عمومی منتشر کرده است. این به توسعه‌دهندگان اجازه می‌دهد تا مدل را به صورت محلی (on-premises) روی سخت‌افزار خود اجرا کنند.
اضافه کردن علائم نگارشی و حروف بزرگ (Punctuation and Capitalization): مدل به طور خودکار علائم نگارشی مانند نقطه، ویرگول و علامت سوال را به متن اضافه کرده و حروف بزرگ را در جای مناسب قرار می‌دهد تا خوانایی متن نهایی افزایش یابد.


۳. Whisper چگونه کار می‌کند؟

Whisper بر اساس یک معماری شبکه عصبی پیشرفته به نام ترنسفورمر (Transformer) و از نوع Encoder-Decoder ساخته شده است.

ورودی صوتی: ابتدا فایل صوتی به قطعات ۳۰ ثانیه‌ای تقسیم می‌شود. سپس هر قطعه به یک نمایش بصری از فرکانس‌های صوتی به نام طیف‌نگار مِل (Mel Spectrogram) تبدیل می‌شود.
انکودر (Encoder): این طیف‌نگار به بخش انکودر مدل داده می‌شود. انکودر ویژگی‌های کلیدی و الگوهای موجود در صدا را استخراج کرده و یک نمایش عددی غنی از آن تولید می‌کند.
دیکودر (Decoder): دیکودر این نمایش عددی را از انکودر دریافت کرده و وظیفه پیش‌بینی متن متناظر با آن را بر عهde دارد. این کار به صورت “توکن به توکن” انجام می‌شود تا در نهایت توالی کامل کلمات ساخته شود.
آموزش روی ۶۸۰٬۰۰۰ ساعت داده صوتی، که یک-سوم آن غیرانگلیسی است، توانایی مدل در درک زمینه‌ها، زبان‌ها و لهجه‌های مختلف را به شدت تقویت کرده است.

۴. چگونه می‌توان از Whisper استفاده کرد؟

دو روش اصلی برای استفاده از Whisper وجود دارد:

از طریق API رسمی OpenAI:
این روش برای توسعه‌دهندگانی مناسب است که می‌خواهند قابلیت تشخیص گفتار را به سادگی در برنامه‌ها و سرویس‌های خود ادغام کنند.
استفاده از API به صورت “پرداخت به ازای مصرف” (Pay-as-you-go) است.
مزیت آن سادگی، عدم نیاز به مدیریت زیرساخت و دسترسی به آخرین نسخه‌های مدل است.
اجرای مدل‌های متن‌باز (Open-Source):
OpenAI مدل‌ها و کد Whisper را در GitHub منتشر کرده است. کاربران می‌توانند آن را دانلود کرده و روی سرورها یا کامپیوترهای شخصی خود اجرا کنند.
این روش نیازمند سخت‌افزار مناسب (به خصوص یک کارت گرافیک یا GPU قدرتمend) برای دستیابی به سرعت приемлем است.
مزیت آن کنترل کامل بر داده‌ها (مناسب برای موارد حساس به حریم خصوصی) و عدم وجود هزینه به ازای هر درخواست است.

5.دقت Whisper چقدر است؟

دقت Whisper بسیار بالا و در سطح بهترین سیستم‌های تجاری موجود است. برای زبان انگلیسی، عملکرد آن به سطح دقت انسانی (Human-level) نزدیک می‌شود. با این حال، دقت به عوامل زیر بستگی دارد:

کیفیت صدا: صدای واضح و بدون نویز بهترین نتیجه را می‌دهد.
زبان: دقت برای زبان انگلیسی بالاتر از سایر زبان‌هاست. زبان‌هایی که داده‌های کمتری در مجموعه آموزشی داشته‌اند، ممکن است دقت پایین‌تری داشته باشند.
لهجه و گویش: اگرچه Whisper در برابر لهجه‌ها مقاوم است، لهجه‌های بسیار خاص ممکن است چالش‌برانگیز باشند.


6. آیا Whisper می‌تواند گفتار را به صورت آنی (Real-time) پردازش کند؟

مدل اصلی Whisper برای پردازش فایل‌های صوتی از پیش ضبط‌شده (Batch Processing) طراحی شده است و ذاتاً از استریمینگ یا پردازش آنی پشتیبانی نمی‌کند. معماری آن مبتنی بر پردازش قطعات ۳۰ ثانیه‌ای است که باعث ایجاد تاخیر می‌شود.

با این حال، جامعه توسعه‌دهندگان راه‌حل‌هایی مانند Whisper.cpp یا کتابخانه‌های دیگر را ایجاد کرده‌اند که با استفاده از ترفندهایی، پردازش شبه-آنی (pseudo real-time) را با تاخیر کم ممکن می‌سازند. اما این قابلیت به صورت رسمی در مدل پایه OpenAI وجود ندارد.

7. محدودیت‌ها و نقاط ضعف Whisper چیست؟

توهم (Hallucination): گاهی اوقات، به خصوص در بخش‌های سکوت یا نویز شدید، مدل ممکن است کلمات یا جملاتی را “اختراع” کند که در فایل صوتی اصلی وجود ندارند.
عدم تشخیص گوینده (Speaker Diarization): Whisper نمی‌تواند تشخیص دهد که چه کسی صحبت می‌کند. اگر چندین نفر در یک فایل صوتی صحبت کنند، متن آن‌ها به صورت یکپارچه و بدون تفکیک گوینده تولید می‌شود.
عملکرد ضعیف در پردازش آنی: همانطور که اشاره شد، مدل پایه برای پردازش real-time بهینه نشده است.
دقت متغیر برای زبان‌های کم‌منابع: دقت برای زبان‌هایی که داده‌های آموزشی کمتری داشته‌اند (Low-resource languages) به طور قابل توجهی پایین‌تر از زبان انگلیسی است.


8. سیاست حفظ حریم خصوصی OpenAI برای داده‌های ارسالی به API چیست؟

بر اساس سیاست‌های فعلی OpenAI (تا تاریخ ذکر شده در این پاسخ)، داده‌هایی که از طریق API به مدل‌هایی مانند Whisper ارسال می‌شوند، برای آموزش مجدد مدل‌ها استفاده نمی‌شوند.

داده‌ها به مدت حداکثر ۳۰ روز برای نظارت بر سوءاستفاده‌های احتمالی نگهداری شده و سپس حذف می‌گردند، مگر اینکه قوانین خاصی OpenAI را ملزم به نگهداری طولانی‌تر کند. برای اطمینان از آخرین سیاست‌ها، همیشه مراجعه به مستندات رسمی OpenAI توصیه می‌شود.

فراخوان به اقدام (Call-to-Action)

آیا به دنبال پیاده‌سازی راه‌حل‌های پیشرفته مبتنی بر OpenAI Whisper در کسب‌وکار خود هستید اما نمی‌دانید از کجا شروع کنید؟ آیا نیاز به ترکیب Whisper با تفکیک گوینده یا ساخت یک سیستم رونویسی زنده دارید؟

تیم متخصصان ما در هیجده آماده‌اند تا به شما در زمینه یکپارچه‌سازی، بهینه‌سازی و استفاده از این فناوری قدرتمند برای رسیدن به اهدافتان مشاوره تخصصی ارائه دهند.

همین امروز با ما تماس بگیرید و اولین قدم را برای تحول دیجیتال کسب و کار خود بردارید.

منابع (References)

  • Radford, A., Kim, J. W., Xu, T., Brockman, G., McLeavey, C., & Sutskever, I. (2023). Robust Speech Recognition via Large-Scale Weak Supervision. arXiv preprint arXiv:2212.04356. Available at: https://arxiv.org/abs/2212.04356
  • OpenAI. (2022, September 21). Introducing Whisper. OpenAI Blog. Retrieved from https://openai.com/blog/whisper/
  • OpenAI Whisper GitHub Repository. (n.d.). Retrieved from https://github.com/openai/whisper
  • Garis, H. (n.d.). Faster-Whisper: A reimplementation of OpenAI’s Whisper model. GitHub Repository. Retrieved from https://github.com/guillaumekln/faster-whisper
  • Bredin, H., et al. (2020). pyannote.audio: neural building blocks for speaker diarization. In ICASSP 2020 – 2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP).

نحوه استفاده از پرامپت

  1. دستور را کپی کنید و مستقیماً در ChatGPT یا هوش مصنوعی مورد علاقه خود از آن استفاده کنید.
  2. اگر قسمتی داخل {براکت} وجود دارد، آن را با اطلاعات خود جایگزین کنید.
  3. مراحل یا نکات داخل پرامپت را دنبال کنید.

می‌خواهید دستورالعمل‌های هوشمندانه‌تری بنویسید؟

برای دریافت اطلاعات بیشتر و پرامپت های تخصصی برای کسب و کارتان همین حالا با ما تماس بگیرید.