التعرف على الكلام2022متوسط14 دقيقة قراءة
التعرّف على الكلام بمتانة عالية من خلال إشراف ضعيف على نطاق واسع
Robust Speech Recognition via Large-Scale Weak Supervision
Radford, A. · Kim, J. W. · Xu, T. · Brockman, G. · McLeavey, C. · Sutskever, I. — ICML
المشكلة
حتى عام 2022 كانت الوصفة السائدة تمرّ بمرحلتين: أولاً تدريب مسبق ذاتي الإشراف على صوت خام بلا توسيمات — كما في Wav2Vec 2.0 — ثم ضبط دقيق على مجموعة بيانات موسومة صغيرة ومحدودة المجال. النتائج على المجموعة نفسها كانت مبهرة، لكن النماذج الناتجة كانت هشّة: نظام دُرِّب على LibriSpeech يحقق أداءً «فوق بشري» عليها، ثم يتعثر بشدة حين تعطيه بودكاست أو مكالمة هاتفية أو كلاماً بلهجة مختلفة. السبب أن يجعل النموذج يحفظ أنماط المجموعة بدل أن يتعلم فهم الكلام فعلاً. وفوق ذلك، كل مجال جديد — طبي، قانوني، إعلامي — يحتاج مرحلة ضبط خاصة به مع بيانات نظيفة وخبرة فنية.
الإسهام
قدّمت الورقة Whisper: عائلة من نماذج المُحوِّل بمعمارية مُرمِّز-فاكّ ترميز، دُرِّبت على 680,000 ساعة من أزواج صوت-نص متعددة اللغات جُمعت من الإنترنت بإشراف ضعيف. الفكرة الأساسية: بدل مرحلتين — تدريب ذاتي ثم ضبط دقيق — يكتفي Whisper بمرحلة تدريب مُشرَف واحدة على بيانات صاخبة لكنها بالغة التنوع. النموذج يستخدم صيغة رموز متعددة المهام تمكّنه من التعرّف على الكلام وترجمته — كل ذلك بنموذج واحد. في التقييم من الصفر على أي مجموعة مستهدفة — أي بدون ضبط مسبق — حقق Whisper أداءً يقترب من دقة البشر، مع خفض نسبي في الأخطاء بنسبة 55.2% مقارنة بالنماذج المضبوطة على مجموعات بيانات .
الأثر
أثبت Whisper عملياً أن على نطاق واسع بديل حقيقي — وربما أبسط — من منهجية التدريب الذاتي ثم الضبط الدقيق التي كانت مهيمنة على مجال التعرّف على الكلام. بعد إصداره مفتوح المصدر، ظهرت حوله منظومة كاملة من الأدوات: تطبيقات تفريغ صوتي فوري، ومحركات بحث داخل البودكاست، ومولّدات ترجمة مرئية متعددة اللغات، وأنظمة إملاء طبي. صار Whisper بمثابة البنية التحتية الافتراضية للكلام في كثير من التطبيقات، وأثّر نهجه — المبني على مقايضة جودة البيانات بكميتها وتنوعها — في أبحاث لاحقة عبر أنماط بيانات مختلفة.
تخيّل طاهياً تدرّب طوال حياته في مطبخ واحد فقط: يعرف كل وصفة في ذلك المطبخ بإتقان مذهل، لكن أعطه مكوّنات من مطبخ آخر وسيرتبك تماماً. هذا هو حال التعرّف التقليدي على الكلام.
Whisper يشبه رحّالة أكل في كل بلد — من المطاعم الفاخرة إلى عربات الشارع. القوائم أحياناً غير مقروءة والأطباق لا تأتي دائماً كما هو متوقع، لكن بعد 680,000 ساعة من التجربة أصبح يميّز أي طبق تضعه أمامه، في أي ظرف. اتساع التجربة — لا كمال أي وجبة بعينها — هو ما يبني ذائقة متينة لا تتزعزع.
المشكلة: التدريب الضيق يُنتج نماذج هشّة
قبل Whisper، كان الوصول إلى أفضل أداء في التعرّف على الكلام يتطلب وصفة من مرحلتين:
-
المرحلة الأولى: تدريب مسبق ذاتي الإشراف. تأخذ صوتياً مثل Wav2Vec 2.0 وتدرّبه على مليون ساعة من الصوت الخام بدون أي توسيمات. المُرمِّز يتعلّم غنية لأصوات الكلام، لكنه لا يستطيع إنتاج نصوص وحده — ببساطة لأنه لا يملك .
-
المرحلة الثانية: ضبط دقيق مُشرَف. تضيف فاكّ ترميز وتضبط النظام كله على مجموعة بيانات صغيرة موسومة بعناية — غالباً ألف ساعة فقط. هذه الخطوة هي التي تعلّم النموذج إخراج كلمات.
أين المشكلة؟ الضبط الدقيق يجعل النموذج يتخصص في أنماط مجموعة التدريب بالتحديد. نموذج مضبوط على LibriSpeech — وهي تسجيلات كتب مسموعة نظيفة — قد يحقق معدل خطأ كلمات لا يتجاوز 1.4% عليها، لكنه يرتكب ضعف أخطاء الإنسان حين تشغّل له بودكاست أو مكالمة هاتفية أو تسجيلاً صاخباً. النموذج تعلّم أسلوب LibriSpeech، لا مهارة فهم الكلام.
الفكرة: استبدل جودة البيانات بكميتها وتنوعها
فكرة Whisper بسيطة بشكل جذري: بدل أن تنفق جهداً كبيراً في بناء مجموعة بيانات صغيرة ذهبية المعيار، اجمع 680,000 ساعة من الصوت مع أي نصوص مرافقة متاحة على الإنترنت — سواء ترجمات مرئية أو تعليقات توضيحية أو ترجمات بين لغات — ثم درّب نموذجاً مُشرَفاً واحداً على كل هذا الكم.
النصوص بطبيعتها ليست نظيفة: بعضها مُولَّد آلياً، وبعضها محاذاته سيئة مع الصوت، وبعضها بلغة خاطئة. لكن الحجم الضخم والتنوع الشديد يعوّضان عن هذه العيوب بسهولة. النموذج يتعرّض لعدد هائل من اللهجات وظروف التسجيل والموضوعات واللغات، فلا يستطيع في أي توزيع بعينه — لا مفرّ أمامه إلا أن يتعلم فهماً عاماً للكلام.
هذا هو جوهر الإشراف الضعيف على نطاق واسع: التوسيمات ليست مثالية، لكن كثرتها وتنوعها يجعلان الإشارة المفيدة تطغى على الضوضاء. النتيجة: نموذج يعمل مباشرة بلا حاجة لضبط دقيق على أي مجال محدد.
بناء مجموعة البيانات: 680,000 ساعة من البيانات البرّية
مجموعة البيانات مبنية من صوتيات مقترنة بنصوص متاحة على الإنترنت — وهذا مصدر واسع يشمل بيئات تسجيل مختلفة ومتحدثين ولغات متنوعة. هنا ملاحظة مهمة: تنوع جودة الصوت شيء مفيد لأنه يبني المتانة، لكن تنوع جودة النصوص مشكلة لأن النصوص الرديئة تُفسد التعلّم. لذلك طُبّقت عدة مرشّحات آلية:
-
كشف النصوص المُولَّدة آلياً. كثير من نصوص الإنترنت هي في الأصل مخرجات أنظمة تعرّف على الكلام وليست نصوصاً بشرية. لو تدرّب النموذج عليها سيتعلم إنتاج نصوص بلا ترقيم ولا تنسيق — أي «نصوص آلية الطابع». قواعد استدلالية بسيطة تكشف هذه النصوص وتستبعدها (مثلاً: نص كامل بأحرف كبيرة أو كامل بأحرف صغيرة هو على الأغلب مُولَّد آلياً).
-
التحقق من تطابق اللغة. كاشف لغة صوتي يتحقق من أن لغة الكلام هي نفسها لغة النص المرافق. إن لم تتطابق يُستبعد الزوج من تدريب التعرّف على الكلام — لكن إذا كان النص بالإنجليزية والكلام بلغة أخرى، يُحوَّل الزوج إلى بيانات تدريب .
-
إزالة التكرار. تُجرى إزالة تكرار ضبابية للتخلص من المحتوى المكرر والمُولَّد تلقائياً. بعد تدريب نموذج أولي، تُفحص المصادر ذات معدل الأخطاء العالي يدوياً وتُحذف.
يُقسم كل الصوت إلى مقاطع بطول 30 ثانية مقترنة بالنص المقابل. المقاطع الخالية من الكلام تُدرج أيضاً — بنسبة أقل — كبيانات تدريب لاكتشاف النشاط الصوتي.
النموذج: Transformer بمعمارية مرمِّز-فاكّ ترميز
اختار فريق Whisper عمداً معمارية قياسية — بنمط — حتى تعكس النتائج قوة البيانات والمنهجية لا ابتكاراً معمارياً. القرار واضح: إذا أبقيت البنية ثابتة، فأي تحسّن لا بد أن يكون مصدره البيانات.
المُرمِّز يعالج الصوت. أولاً يُعاد تعيين الصوت إلى 16 كيلوهرتز ثم يُحوَّل إلى مخطط ميل الطيفي اللوغاريتمي بـ80 قناة — بنوافذ عرضها 25 مللي ثانية وخطوة 10 مللي ثانية. يمرّ هذا التمثيل بطبقتي أُحاديتي البُعد مع تفعيل GELU — الثانية بخطوة 2 لتقليل الأبعاد — ثم جيبي تليه وحدات المُحوِّل القياسية مع .
فاكّ الترميز هو مُحوِّل ينتبه لمخرجات المُرمِّز عبر . يستخدم مُتعلَّمة، وتمثيلات مشتركة بين المدخل والمخرج. المُرمِّز وفاكّ الترميز لهما نفس العرض ونفس عدد الطبقات. أما فهو — نفس المستخدم في GPT-2 للنماذج الإنجليزية، مع إعادة ضبط القاموس للنماذج متعددة اللغات.
عائلة Whisper تأتي بخمسة أحجام، من 39 مليون إلى 1.55 مليار :
نموذج واحد، مهام عديدة: صيغة الرموز متعددة المهام
في الأنظمة التقليدية، كل مهمة فرعية في معالجة الكلام لها نموذج منفصل — نموذج لاكتشاف النشاط الصوتي، ونموذج لتحديد اللغة، ونموذج للتفريغ، ونموذج للترجمة، وهكذا. Whisper يستبدل هذا كله بفاكّ ترميز واحد يقرأ سلسلة من الرموز الخاصة تخبره بالمطلوب.
فاكّ الترميز في جوهره مشروط بالصوت: يأخذ التمثيل الصوتي من المُرمِّز وبادئة من رموز خاصة، ثم يُولّد النص بشكل انحداري ذاتي. سلسلة الرموز هي ببساطة أوامر تحدد المهمة:
<|startoftranscript|> ← وسم اللغة (مثلاً <|en|>) ← وسم المهمة (<|transcribe|> أو <|translate|>) ← خيار الطوابع الزمنية (<|notimestamps|> أو رموز وقت البداية) ← النص الناتج ← <|endoftranscript|>
الجميل في هذا التصميم أن إضافة مهمة جديدة لا تتطلب تغييراً في المعمارية — فقط رموز خاصة جديدة. النموذج نفسه يتعامل مع التفريغ بالإنجليزية، والتفريغ بلغات أخرى، والترجمة من أي لغة إلى الإنجليزية، واكتشاف النشاط الصوتي (عبر رمز <|nospeech|>)، والتفريغ مع طوابع زمنية.
التدريب: وصفة بسيطة على نطاق ضخم
وصفة التدريب بسيطة بشكل متعمّد. النماذج تُدرَّب بـ مع دقة مختلطة ومُحسِّن ، بـ يبلغ 256 مقطعاً وانحلال خطي لـ بعد إحماء أولي. التدريب يمرّ على مجموعة البيانات الكاملة 2–3 مرات تقريباً.
وبما أن مجموعة البيانات ضخمة ومتنوعة بهذا الشكل، لا حاجة لـ أو — التنوع الطبيعي للبيانات هو نفسه التنظيم. التخصص المفرط لا يشكّل خطراً عند هذا الحجم. في النسخة المحسَّنة Large V2 فقط أُضيفت ثلاث تقنيات إضافية: SpecAugment (إخفاء أجزاء من المخطط الطيفي زمنياً وترددياً)، وعمق عشوائي (إسقاط طبقات عشوائياً أثناء التدريب)، وإسقاط BPE (تقسيم بطرق مختلفة عشوائياً).
ملاحظة عملية مثيرة: في البداية حاولت النماذج التنبؤ بأسماء المتحدثين لأن بعض النصوص تتضمنها — لكن 30 ثانية من الصوت لا تكفي غالباً لمعرفة هوية المتحدث. الحل كان ضبطاً دقيقاً قصيراً على نصوص بدون أسماء متحدثين، فتوقف هذا السلوك.
النتائج: متانة حيث تنهار النماذج الأخرى
النتيجة الأهم في الورقة ليست تحقيق أقل معدل خطأ على مجموعة بيانات بعينها — بل هي ثبات الأداء عبر مجموعات مختلفة. المقياس المحوري هنا هو : كم يتراجع الأداء حين تنتقل من المجموعة المرجعية LibriSpeech إلى مجموعات أخرى خارج التوزيع؟
Whisper Large V2 بدون أي ضبط مسبق يسجّل 2.7% معدل خطأ كلمات على LibriSpeech test-clean — وهذا يكافئ تقريباً نموذج wav2vec 2.0 المضبوط على LibriSpeech. لكن الفارق يظهر على 12 مجموعة أخرى (بودكاست، مكالمات هاتفية، اجتماعات، كلام بلهجات): Whisper يرتكب أخطاء أقل بنسبة 55.2% في المتوسط. الأداء «الفوق بشري» للنموذج المضبوط على LibriSpeech كان وهماً — كان يحفظ أنماط المجموعة لا يفهم الكلام.
وحين قورن Whisper بناسخين بشريين محترفين على تسجيلات متنوعة، جاء أداؤه ضمن أجزاء من النقطة المئوية من دقة البشر.
المتانة ضد الضوضاء: Whisper يتألق في العالم الحقيقي
في الواقع، الصوت نادراً ما يكون نظيفاً. لاختبار المتانة تجاه الضوضاء، أضاف الباحثون بيضاء وضوضاء بيئية — أحاديث مطعم مزدحم وضجيج خلفية — بنسب إشارة إلى ضوضاء متفاوتة على تسجيلات LibriSpeech test-clean، وقارنوا Whisper بـ14 نموذجاً مدرباً على LibriSpeech.
عند SNR مرتفعة (ضوضاء قليلة، 40 ديسيبل)، كثير من النماذج المضبوطة تتفوق على Whisper — وهذا متوقع لأنها دُرِّبت على صوت نظيف مشابه. لكن بمجرد أن تزداد الضوضاء تتدهور هذه النماذج بسرعة كبيرة. تحت 10 ديسيبل SNR يتفوق Whisper على كل النماذج المُقارَنة. والنتائج مع ضوضاء المطعم لافتة بشكل خاص: Whisper تعرّض لكمّ هائل من التسجيلات الصاخبة أثناء التدريب حتى أن ضجيج المطعم لا يكاد يؤثر فيه.
القدرات المتعددة اللغات والترجمة
من أصل 680,000 ساعة في مجموعة البيانات، هناك 117,000 ساعة تغطي 96 لغة غير الإنجليزية، و125,000 ساعة هي بيانات ترجمة كلامية من لغات مختلفة إلى الإنجليزية. هذا يجعل Whisper متعدد اللغات بطبيعته دون أي جهد هندسي إضافي.
نتيجة لافتة للانتباه: لأي لغة يمكن التنبؤ به بدقة عالية من كمية بيانات التدريب المتاحة لتلك اللغة. معامل الارتباط يبلغ 0.83 على مقياس لوغاريتمي، والخطأ يتراجع تقريباً للنصف مع كل زيادة 16 ضعفاً في حجم البيانات. اللغات ذات أنظمة الكتابة المختلفة (كالصينية والكورية والعبرية) أو البعيدة عن اللغات الهندوأوروبية المهيمنة على المجموعة تظهر كقيم شاذة بمعدلات خطأ أعلى من المتوقع.
أما في الترجمة الكلامية (أي لغة ← الإنجليزية)، فيحقق Whisper بدون ضبط نتيجة تبلغ 29.1 على مجموعة CoVoST2 — متفوقاً على نماذج مُشرَفة سابقة في اللغات ذات الموارد المنخفضة والمتوسطة. السبب واضح: Whisper يملك 68,000 ساعة من بيانات الترجمة مقابل 861 ساعة فقط في مجموعة تدريب CoVoST2.
خصائص التدريج
هناك محوران رئيسيان للتدريج يستحقان الانتباه: حجم النموذج وحجم البيانات.
تدريج حجم النموذج: الأداء يتحسن باطّراد كلما كبر النموذج عبر جميع المهام، باستثناء التعرّف على الكلام الإنجليزي الذي تبدأ فيه العوائد بالتناقص — والسبب على الأرجح أن أكبر النماذج اقتربت من الأداء البشري (تأثير السقف).
تدريج حجم البيانات: التدريب على 0.5% فقط من البيانات (3,400 ساعة) يعطي معدل خطأ 30.5% بالإنجليزية. التوسيع إلى 680,000 ساعة كاملة يُنزله إلى 9.9% — وكل خطوة وسيطة تُظهر تحسناً واضحاً. الأداء متعدد اللغات يتبع حتى 54,000 ساعة ثم تبدأ العوائد بالتناقص، مما يشير إلى أن أكبر النماذج ربما لم تتدرب كفاية نسبةً لحجم البيانات المتاح.
النقل متعدد المهام: في النماذج الصغيرة، التدريب المشترك على لغات ومهام متعددة يُضر بالأداء الإنجليزي — وهذا ما يُعرف بالنقل السلبي. لكن عند الأحجام الأكبر ينعكس الأمر: التدريب المشترك يساعد لأن اللغات والمهام تتشارك تمثيلات مفيدة، بل إن أكبر النماذج المشتركة تتفوق على نماذج الإنجليزية فقط حتى بعد ضبط الحوسبة.
التفريغ الطويل واستراتيجيات فك الترميز
Whisper يعالج مقاطع بطول 30 ثانية، لكن الصوت الحقيقي قد يمتد لساعات. الحل هو التفريغ المُخزَّن مؤقتاً: فرّغ كل نافذة من 30 ثانية، ثم انزح للأمام بناءً على الطوابع الزمنية التي تنبأ بها النموذج. مجموعة من الحيل العملية تمنع أنماط الفشل:
- بـ5 حزم يقلل حلقات التكرار التي تظهر في .
- جدولة : يبدأ النموذج بحرارة 0 (حتمي تماماً). إذا انخفض متوسط اللوغاريتم الاحتمالي عن −1 أو تجاوز معدل ضغط النص 2.4 — وهي علامات أو تكرار — تُرفع الحرارة بمقدار 0.2 حتى 1.0.
- التهيئة بالنص السابق: يُدخَل النص المُفرَّغ من المقطع السابق كسياق حين تكون الحرارة أقل من 0.5، مما يحسّن التماسك بين المقاطع.
- اكتشاف النشاط الصوتي: يُدمج احتمال رمز <|nospeech|> (بعتبة 0.6) مع عتبة متوسط اللوغاريتم الاحتمالي (−1) لاكتشاف الصمت بشكل موثوق.
- تقييد الطابع الزمني الأول: يُجبر أول طابع زمني ليقع بين 0.0 و1.0 ثانية حتى لا يتخطى النموذج بداية المقطع.
على سبع مجموعات بيانات طويلة — محادثات TED، برامج ليلية، بودكاست، مكالمات أرباح — يتفوق Whisper على أفضل نموذج مفتوح المصدر وعلى معظم خدمات التعرّف التجارية.
القيود والاتجاهات المستقبلية
رغم قوة Whisper، هناك قيود واضحة يعترف بها الباحثون:
- مشاكل فك الترميز. نماذج قد تُهلوس، أو تدخل في حلقات تكرار، أو تتخطى كلمات عند حدود المقاطع. هذه أخطاء «غير إدراكية» — أي لا علاقة لها بجودة فهم الصوت — ولا تتناقص بسلاسة مع تكبير النموذج.
- اللغات ذات الموارد المنخفضة. أداء Whisper على كثير من اللغات لا يزال ضعيفاً بسبب هيمنة الإنجليزية على بيانات التدريب. لكن العلاقة اللوغاريتمية الواضحة بين كمية البيانات ومعدل الخطأ تعني أن جمع بيانات مستهدف لهذه اللغات سيحسّنها بشكل ملموس.
- لم تُدرس فوائد الضبط الدقيق. الورقة ركّزت على التقييم ؛ من المرجّح أن ضبط النموذج على مجال محدد سيحسّن النتائج أكثر، لكن هذا لم يُختبر بشكل منهجي.
- دور النموذج اللغوي غير واضح. لا نعرف كم من متانة Whisper مصدره المُرمِّز (الذي يفهم الصوت) وكم مصدره فاكّ الترميز (الذي يعمل كنموذج لغوي). دراسة حذف كل مكوّن على حدة ستوضّح هذا السؤال.
لماذا كانت هذه الورقة مهمة
2020
Wav2Vec 2.0
تدريب مسبق ذاتي الإشراف على الصوت الخام بدون توسيمات. يتعلم تمثيلات غنية للكلام لكنه يحتاج ضبطاً دقيقاً لكل مهمة — وهذا تحديداً ما انتقده Whisper لاحقاً.
2021
BigSSL — مليون ساعة صوت غير مُشرَف
وسّع التدريب الذاتي للكلام إلى مليون ساعة. أثبت أن الحجم مفيد، لكن المشكلة بقيت: لا تزال تحتاج ضبطاً دقيقاً — فاكّ الترميز ظلّ هو عنق الزجاجة.
2021
SpeechStew — 5,140 ساعة إشراف مختلط
جمعت سبع مجموعات بيانات مُشرَفة عالية الجودة معاً لتحسين المتانة. أثبتت أن التنوع في البيانات المُشرَفة يفيد، لكن على نطاق أصغر بكثير مما فعله Whisper.
2022
Whisper — 680,000 ساعة إشراف ضعيف
سدّ الفجوة بتوسيع البيانات ذات الإشراف الضعيف بمرتبة حجم كاملة. حقق أداءً من الصفر يقترب من دقة البشر، وأُصدر مفتوح المصدر.
2023
Whisper Large V3 — 5 ملايين ساعة
دُرِّب على مليون ساعة بيانات موسومة و4 ملايين ساعة بتوسيم زائف، مع رفع قنوات الميل إلى 128 بدلاً من 80. حقق تحسّناً بنسبة 10–20% في معدل الخطأ مقارنة بـV2 عبر اللغات المختلفة.
الفكرة في كود
مبسَّط لإظهار الفكرة — ليس التنفيذ الحقيقي.
import whisper
import numpy as np
# تحميل النموذج — يعمل مباشرة بدون ضبط
model = whisper.load_model("large-v2")
# تفريغ صوتي: بدون ضبط مسبق، بأي لغة
result = model.transcribe("audio.mp3")
print(result["text"])
# ماذا يحدث داخلياً:
# 1. الصوت ← إعادة تعيين إلى 16 كيلوهرتز ← مخطط ميل طيفي لوغاريتمي 80 قناة (مقاطع 30 ثانية)
# 2. المخطط الطيفي ← المُرمِّز (Encoder) ← تمثيلات صوتية
# 3. رموز خاصة ← فاكّ الترميز (Decoder) ← نص ناتج
# [SOT] [EN] [TRANSCRIBE] [NOTIMESTAMPS] ← "..."
#
# فاكّ الترميز هو في جوهره نموذج لغوي مشروط بالصوت:
# P(token_t | audio, token_1, ..., token_{t-1})
#
# هذا هو كل شيء. لا كاشف لغة منفصل،
# ولا كاشف نشاط صوتي، ولا معالج نصي عكسي.
# نموذج واحد. تمريرة أمامية واحدة لكل مقطع 30 ثانية.المرجعRadford, Kim, Xu, Brockman, McLeavey, Sutskever. Robust Speech Recognition via Large-Scale Weak Supervision. ICML, 2023.
مصطلحات هذه الورقة
- الإشراف الضعيفWeak Supervision
- التعرّف على الكلامSpeech Recognition
- معدل خطأ الكلماتWord Error Rate
- المتانة الفعّالةEffective Robustness
- انزياح التوزيعDistribution Shift
- خارج التوزيعOut-of-Distribution
- المخطط الطيفي ميلMel Spectrogram
- اكتشاف النشاط الصوتيVoice Activity Detection
- الترجمة الكلاميةSpeech Translation
- تحديد اللغةLanguage Identification
- التعلّم متعدد المهامMulti-Task Learning