نظام Meta مفتوح المصدر للتعرف على الكلام متعدد اللغات، يدعم أكثر من 1600 لغة

NOASSERTIONPythonomnilingual-asrfacebookresearch 1.6k Last Updated: November 13, 2025

نظام Omnilingual ASR - نظام التعرف على الكلام متعدد اللغات المفتوح المصدر من Meta

نظرة عامة على المشروع

يعد نظام Omnilingual ASR نظامًا ثوريًّا مفتوح المصدر للتعرف على الكلام طوّره فريق أبحاث الذكاء الاصطناعي الأساسية (FAIR) في Meta. يدعم هذا النظام التعرف على الكلام لأكثر من 1600 لغة، بما في ذلك مئات اللغات التي لم تُغطَّها أي تقنية سابقة للتعرف على الكلام (ASR). يتميّز هذا المشروع بأنه لا يقتصر فقط على دعم 1600 لغة تم تدريب النموذج عليها، بل يمكنه أيضًا التوسّع عبر التعلّم السياقي دون أمثلة (zero-shot contextual learning) ليشمل أكثر من 5400 لغة — أي ما يكاد يغطي جميع أنظمة الكتابة المعروفة للغات المنطوقة.

الميزات الأساسية

1. تغطية لغوية غير مسبوقة

  • أكثر من 1600 لغة مدعومة رسميًّا: لغات خضعت لتدريب كامل.
  • أكثر من 5400 لغة قابلة للدعم: يمكن توسيع الدعم إليها عبر التعلّم دون أمثلة (zero-shot learning).
  • دعم اللغات ذات الموارد المحدودة: معدل خطأ الأحرف (CER) أقل من 10% لـ 78% من اللغات المدعومة.
  • يشمل دعم اللغة اليابانية: رمز اللغة هو jpn_Jpan.

2. ترخيص مفتوح المصدر

يتم توزيع المشروع بموجب ترخيص Apache 2.0 بالكامل، وليس الترخيص التقييدي Llama الذي استخدمته Meta سابقًا. هذا يعني أنه يمكن للباحثين والمطورين استخدام النظام فورًا مجانًا، حتى في المشاريع التجارية ومشاريع المؤسسات، دون أي قيود.

3. قدرة التعلّم دون أمثلة (Zero-shot Learning)

من خلال ميزة التعلّم السياقي دون أمثلة، يمكن للمستخدمين تقديم بضع عيّنات من أزواج الصوت-النص بلغة جديدة أثناء الاستنتاج (inference)، مما يمكّن النموذج من تحويل جُمل إضافية بتلك اللغة دون الحاجة إلى إعادة تدريب. وهذا يمنح النظام قابلية توسع غير مسبوقة.

البنية التقنية

عائلة النماذج

يتضمّن المشروع عدة متغيرات من النماذج:

  1. سلسلة مشفرات W2V (Wav2Vec 2.0)

    • أحجام المعلمات: 300 مليون، 1 مليار، 3 مليار، 7 مليار.
    • تُستخدم لاستخراج تمثيلات صوتية متعددة اللغات.
  2. سلسلة فكّ التشفير CTC

    • تعتمد على إطار تصنيف التسلسل التوصيلي (CTC).
    • أحجام المعلمات: 300 مليون، 1 مليار، 3 مليار، 7 مليار.
  3. سلسلة فكّ التشفير LLM

    • تعتمد على بنية Transformer.
    • أحجام المعلمات: 300 مليون، 1 مليار، 3 مليار، 7 مليار.
    • تتضمّن متغيرًا للتعلّم دون أمثلة (7B_ZS).

الابتكارات التقنية الأساسية

حقق النظام لأول مرة تمثيلات دلالية غنية وواسعة النطاق متعددة اللغات من بيانات صوتية أولية غير محوّلة إلى نص، وذلك من خلال توسيع مشفر wav2vec 2.0 ليصل إلى 7 مليارات معلمة.

مجموعة البيانات

مجموعة Omnilingual ASR Corpus

تعاونت Meta مع باحثين ومنظمات مجتمعية في أفريقيا وآسيا لإنشاء مجموعة Omnilingual ASR Corpus، وهي مجموعة بيانات تضم 3350 ساعة من الكلام تغطي 348 لغة ذات موارد محدودة.

المنظمات المشاركة:

  • African Next Voices (بدعم من مؤسسة Gates)
  • مشروع Common Voice التابع لمؤسسة Mozilla
  • Lanfrica / NaijaVoices

خصائص مجموعة البيانات:

  • مرخّصة بموجب ترخيص CC-BY-4.0 المفتوح.
  • تتضمّن كلامًا طبيعيًّا غير مكتوب مسبقًا.
  • تصميم محفزات مفتوحة مرتبطة ثقافيًّا.

التثبيت والاستخدام

التثبيت الأساسي

# باستخدام pip
pip install omnilingual-asr

# باستخدام uv
uv add omnilingual-asr

ملاحظة: يتطلب دعم الصوت مكتبة libsndfile (Mac: brew install libsndfile)

مثال استخدام أساسي

from omnilingual_asr.models.inference.pipeline import ASRInferencePipeline

# تهيئة خط الأنابيب
pipeline = ASRInferencePipeline(model_card="omniASR_LLM_7B")

# إعداد ملفات الصوت واللغات
audio_files = ["/path/to/eng_audio1.flac", "/path/to/deu_audio2.wav"]
lang = ["eng_Latn", "deu_Latn"]

# تنفيذ التحويل إلى نص
transcriptions = pipeline.transcribe(audio_files, lang=lang, batch_size=2)

عرض اللغات المدعومة

from omnilingual_asr.models.wav2vec2_llama.lang_ids import supported_langs

# طباعة جميع اللغات المدعومة
print(f"Total supported languages: {len(supported_langs)}")
print(supported_langs)

# التحقق مما إذا كانت لغة معيّنة مدعومة
if "eng_Latn" in supported_langs:
    print("English (Latin script) is supported!")

تنسيق اللغة: {رمز_اللغة}_{نظام_الكتابة}، مثل:

  • eng_Latn - الإنجليزية (كتابة لاتينية)
  • cmn_Hans - الماندرين (الصينية المبسطة)
  • jpn_Jpan - اليابانية (كتابة يابانية)

استخدام مجموعة البيانات للتقييم

from datasets import load_dataset
from omnilingual_asr.models.inference.pipeline import ASRInferencePipeline

# تحميل مجموعة بيانات بلغة معيّنة
omni_dataset = load_dataset("facebook/omnilingual-asr-corpus", "lij_Latn", 
                             split="train", streaming=True)
batch = next(omni_dataset.iter(5))

# تحويلها إلى تنسيق مدخلات خط الأنابيب
audio_data = [{"waveform": x["array"], "sample_rate": x["sampling_rate"]}
              for x in batch["audio"]]

# تشغيل الاستنتاج
pipeline = ASRInferencePipeline(model_card="omniASR_LLM_7B")
transcriptions = pipeline.transcribe(audio_data, batch_size=2)

مؤشرات الأداء

حقق النموذج الأكبر 7B-LLM-ASR معدل خطأ أحرف (CER) أقل من 10 في حوالي 80% من اللغات المدعومة. ومن بين هذه اللغات:

  • 236 لغة تطلّبت أكثر من 50 ساعة من بيانات التدريب.
  • 195 لغة حقّقت نتائج جيدة باستخدام أقل من 10 ساعات من بيانات التدريب.

آفاق التطبيق

يكتسب هذا النظام أهمية كبيرة في مجالات التعليم والحكومات والمنظمات غير الحكومية:

  • التعليم: دعم تحويل المحاضرات أو التقاليد الشفهية باللغة الأم إلى نص وترجمتها.
  • الحكومات والمنظمات غير الحكومية: توفير واجهات صوتية وأدوات توثيق يمكن الوصول إليها للمجتمعات المهمّشة.
  • صناعة الذكاء الاصطناعي: إثبات إمكانية بناء أنظمة ذكاء اصطناعي عالمية على أساس مفتوح ومحفّز من المجتمع.

القيود الحالية

⚠️ ملاحظة هامة: حاليًّا، يقبل النظام فقط ملفات صوتية مدتها 40 ثانية أو أقل للاستنتاج. وتعتزم الفرق إضافة دعم لتحويل ملفات صوتية ذات طول غير محدود قريبًا.

موارد المشروع

تنسيق الاقتباس

إذا استخدمت Omnilingual ASR في بحثك، فالرجاء استخدام تنسيق BibTeX التالي:

@misc{omnilingualasr2025,
  title={{Omnilingual ASR}: Open-Source Multilingual Speech Recognition for 1600+ Languages},
  author={{Omnilingual ASR Team} and Keren, Gil and Kozhevnikov, Artyom and Meng, Yen and Ropers, Christophe and Setzler, Matthew and Wang, Skyler and Adebara, Ife and Auli, Michael and Chan, Kevin and Cheng, Chierh and Chuang, Joe and Droof, Caley and Duppenthaler, Mark and Duquenne, Paul-Ambroise and Erben, Alexander and Gao, Cynthia and Mejia Gonzalez, Gabriel and Lyu, Kehan and Miglani, Sagar and Pratap, Vineel and Sadagopan, Kaushik Ram and Saleem, Safiyyah and Turkatenko, Arina and Ventayol-Boada, Albert and Yong, Zheng-Xin and Chung, Yu-An and Maillard, Jean and Moritz, Rashel and Mourachko, Alexandre and Williamson, Mary and Yates, Shireen},
  year={2025},
  url={https://ai.meta.com/research/publications/omnilingual-asr-open-source-multilingual-speech-recognition-for-1600-languages/},
}

الخلاصة

يمثّل Omnilingual ASR اختراقًا كبيرًا في تقنية التعرف على الكلام، ليس فقط من حيث التغطية اللغوية غير المسبوقة من الناحية التقنية، بل والأهم من ذلك، من حيث الانفتاح والقابلية للتوسّع التي تجلب ديمقراطية تقنية حقيقية لمجتمعات اللغات حول العالم. ويُعدّ هذا تحوّلًا جوهريًّا في مجال التعرف على الكلام من خدمات مركزية ومغلقة تعتمد على السحابة إلى بنى تحتية قابلة للتوسّع بقيادة المجتمع، مما يجعل تقنية التعرف على الكلام أداة شاملة لا مقيدة.

Star History Chart