اگر برای تبدیل گفتار به متن روی مدلهای بزرگ حساب کردهاید، احتمالاً متوجه شدهاید که حتی پیشرفتهترین سیستمها هم در برابر اصطلاحات تخصصی تسلیم میشوند. اما خبر خوب این است که برای رسیدن به دقت صنعتی، لزوماً به مدلهای سنگینتر یا آموزشهای گرانقیمت نیاز ندارید.
طبق گزارشی که در ۶ اکتبر ۲۰۲۶ منتشر شد، یک توسعهدهنده توانست نرخ خطای کلمه (Word Error Rate یا WER) مدل faster-whisper large-v3-turbo را از ۸.۵۱٪ به ۵.۴۹٪ کاهش دهد. نکته کلیدی اینجاست که او بهجای دستکاری در مغز مدل، روی لایهی «ویرایش» تمرکز کرد. او دریافت که اکثر خطاها ناشی از اشتباه در شنیدن نیستند، بلکه به دلیل تفاوت در فرمتبندی یا وجود کلمات پرکننده در گفتار هستند. بسیاری از کاربران با تبدیل گفتار به متن مانند یک «جعبه سیاه» برخورد میکنند و تصور میکنند نرخ خطای بالا لزوماً به معنای نیاز به مدلی بهتر است. در واقعیت، دیکته اغلب به این دلیل شکست میخورد که متن مرجع انتظار عبارتی مثل «3:30 PM» را دارد، در حالی که هوش مصنوعی خروجی را به صورت «three thirty p m» تولید میکند. این شکاف یک خطای «کاذب» ایجاد میکند که هیچ مقدار آموزشی نمیتواند آن را حل کند و تنها با قوانین فرمتبندی قابل اصلاح است.
همانطور که در تحلیلهای قبلی ما دربارهی بهینهسازی استنتاج مدلهای بازمتن اشاره کردیم، لایههای نرمافزاری اطراف مدل اغلب تعیینکنندهتر از خودِ مدل هستند. در این پروژه، آزمایشها روی ۱۰۱ کلیپ صوتی در محیطی آرام و با یک گوینده انجام شد. تنظیمات سیستم شامل اندازه Beam برابر با ۱، زبان تنظیم شده روی «en» و فعال بودن VAD بود. مجموعاً ۱۰۵۷ کلمه مرجع بررسی شدند تا اثر هر تغییر بهدقت اندازهگیری شود.
به نقل از مستندات این پروژه، نرخ خطای اولیه ۸.۵۱٪ گمراهکننده بود؛ چرا که ۶۰ مورد از ۹۰ خطای شناساییشده، در واقع اشتباه مدل نبودند. این خطاها شامل کلمات پرکننده مثل «اممم» یا «اوه»، اصلاحات لحظهای گوینده (مثلاً «سهشنبه، نه، چهارشنبه») یا دستورات صوتی مانند «پاراگراف جدید» بودند.
برای حل این مشکل، یک سیستم سهلایه طراحی شد:
- پاکسازی قاعدهمند: یک گذر ساده برای حذف کلمات پرکننده، دستورات صوتی و اصلاح فرمت اعداد، بدون هیچ تغییری در مدل، نرخ خطا را از ۸.۵۱٪ به ۶.۰۵٪ رساند.
- پرامپتنویسی جملهمحور: بهجای دادن یک لیست خشک از کلمات، از جملات طبیعی استفاده شد (مثلاً: «یادداشتهایی درباره Kubernetes و PostgreSQL و Jetpack Compose»). این کار دقت شناسایی اصطلاحات تخصصی را از ۱۲ به ۱۹ مورد (از ۱۹ مورد گفته شده) افزایش داد.
- بازنویس صوتی (Phonetic Rewriter): سیستمی با یک پنجره لغزان (۱ تا ۳ کلمه) که متن را با یک دیکشنری مقایسه کرده و اشتباهات صوتی (مثلاً تبدیل «Postgres sequel» به «PostgreSQL») را اصلاح میکند. در این بخش یک باگ حیاتی اصلاح شد؛ توسعهدهنده متوجه شد که باید وزندهی بر اساس «طول عبارت تطبیق داده شده» باشد، نه «طول پنجره». پیش از این، عبارت «to Kubernetes» بهدلیل طولانیتر بودن، بر کلمه دقیق «Kubernetes» غلبه میکرد و باعث میشد بازنویس در ۴ مورد از ۶ کلیپ، کلمه «to» را حذف کند.
البته این مسیر بدون چالش نبود. بر اساس بررسیهای توسعهدهنده، غیرفعال کردن سیستم تشخیص فعالیت صوتی (VAD) — که مثل یک نگهبان است و تشخیص میدهد چه زمانی کسی واقعاً در حال صحبت است — باعث شد پرامپتهای واژهنامه باعث شوند مدل در زمانهای سکوت در ۸۰ کلیپ مختلف دچار توهم (Hallucination) شود و متون خیالی تولید کند. همچنین، بودجه توکنهای پرامپت محدود به حدود ۲۲۳ توکن بود که تنها برای دهها اصطلاح کاربرد دارد. سیستم در تعداد حدود هزار کلمه بهدلیل قطع شدن متن (Truncation) و درجهای اشتباه، دچار شکست میشود.
همه بهینهسازیها موفق نبودند. پرامپتهای «یادداشتهایی درباره...» عوارض جانبی داشتند؛ مثلاً باعث میشد آیتمهای لیست با حروف بزرگ شروع شوند یا کلمات کوچک حذف شوند (مثلاً «a jacket, a charger» به «Jacket, Charger» تبدیل میشد). در برخی موارد، مدل کلمه «period» (نقطه) را بهجای گذاشتن علامت نقطه، به صورت متنی تایپ میکرد. همچنین نویز یک نقطه شکست بزرگ بود. ترکیب صدای همهمه چندین گوینده در سطح ۱۰ دسیبل، حدود ۲۰ واحد به نرخ خطای WER اضافه کرد که در این میان، ارقام بیشترین افت دقت را داشتند.
یک یافته تکاندهنده در این پروژه، شکست تنظیم دقیق (Fine-tuning) — که شبیه دادن تخصص پوست به یک پزشک عمومی است تا در یک حوزه دقیق شود — بود. آموزش مدل با استفاده از روش لورا (LoRA) روی دادههای عمومی جلسات، اگرچه بنچمارک کلی را در ۵ ساعت آموزش از ۱۲.۵٪ به ۵.۹٪ بهبود داد، اما نرخ خطای این پروژه خاص را در ۵۰ ساعت داده، از ۸.۲٪ به ۱۱.۳٪ افزایش داد. این یعنی دادههای عمومی میتوانند مدل را مجبور کنند فرمتهای دقیق عددی و ارزی مورد نیاز در یادداشتهای حرفهای را «فراموش» کند.
در نهایت، برای کاربر عادی این معنا را دارد که بهجای جستوجوی مدلهای بزرگتر، باید «فیلترهای» بهتری بسازند. اضافه کردن یک لایه پاکسازی با یک مدل زبانی کوچک (SLM) میتواند نرخ خطا را تا ۲.۵٪ پایین بیاورد، هرچند که حدود ۴۵۰ میلیثانیه به تأخیر سیستم اضافه میکند. این رویکرد بهینهسازی لایههای جانبی، مشابه تجربهای است که در پیادهسازی سیستمهای دیکته محلی برای کاهش تأخیر و حذف هزینههای اشتراکی مشاهده شد.
خلاصه عملکرد لولههای پردازشی در ۱۰۱ کلیپ:
- حالت خام: ۸.۵۱٪ WER
- پرامپت + بازنویس (با باگ): ۷.۹۵٪ WER
- پرامپت + بازنویس (اصلاح شده): ۷.۵۷٪ WER
- اصلاح شده + پاکسازی قاعدهمند: ۵.۴۹٪ WER
در یک مجموعه خاص شامل ۱۳ کلیپ «اصطلاحات تخصصی» (Jargon-clip)، نرخ خطا از ۱۲.۰۴٪ (حالت خام) به ۵.۵۶٪ (اصلاح شده + قوانین) کاهش یافت.
این رویکرد، بارِ دقت را از دوش شبکه عصبی برداشته و به پوشش نرمافزاری منتقل میکند. با تبدیل هوش مصنوعی به یک تولیدکننده سیگنال خام و بازنویس به یک ویراستار، میتوان بدون هزینههای سنگین آموزش، به دقت صنعتی رسید.
گام بعدی شما
- اگر ابزار تبدیل گفتار به متن میسازید، ابتدا فرضیات متن مرجع خود را بررسی کنید تا بفهمید مشکل شما «دقت مدل» است یا «تفاوت فرمتبندی».
- بهجای لیست کلمات کلیدی، از پرامپتهای جملهمحور برای معرفی اصطلاحات تخصصی به مدل استفاده کنید.
- لایهای برای پاکسازی کلمات پرکننده (Fillers) قبل از تحلیل نهایی متن اضافه کنید.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Blackwell مراجعه کنید.




گفتگو