Table 1: Arabic retrieval performance on the MIRACL dev set (measured by nDCG@10)

Architecture:

  • Model: BERT.
  • Tokenizer: XLM-Roberta's Tokenizer.
  • Vocab: 250K

Table Of Contents

Request, Terms, Disclaimers:

https://github.com/sponsors/PrithivirajDamodaran

Detailed comparison & Our Contribution:

English language famously have all-minilm series models which were great for quick experimentations and for certain production workloads. The Idea is to have same for the other popular langauges, starting with Indo-Aryan and Indo-Dravidian languages. Our innovation is in bringing high quality models which easy to serve and embeddings are cheaper to store without ANY pretraining or expensive finetuning. For instance, all-minilm are finetuned on 1-Billion pairs. We offer a very lean model but with a huge vocabulary - around 250K. We will add more details here.

Table 2: Detailed Arabic retrieval performance on the MIRACL dev set (measured by nDCG@10)

Full set of evaluation numbers for our model

{'NDCG@1': 0.50449, 'NDCG@3': 0.52437, 'NDCG@5': 0.55649, 'NDCG@10': 0.60599, 'NDCG@100': 0.64745, 'NDCG@1000': 0.65717}
{'MAP@1': 0.34169, 'MAP@3': 0.45784, 'MAP@5': 0.48922, 'MAP@10': 0.51316, 'MAP@100': 0.53012, 'MAP@1000': 0.53069}
{'Recall@10': 0.72479, 'Recall@50': 0.87686, 'Recall@100': 0.91178, 'Recall@200': 0.93593, 'Recall@500': 0.96254, 'Recall@1000': 0.97557}
{'P@1': 0.50449, 'P@3': 0.29604, 'P@5': 0.21581, 'P@10': 0.13149, 'P@100': 0.01771, 'P@1000': 0.0019}
{'MRR@10': 0.61833, 'MRR@100': 0.62314, 'MRR@1000': 0.62329}

ONNX & GGUF Status:

Variant Status
FP16 ONNX
GGUF WIP

Usage:

With Sentence Transformers:

from sentence_transformers import SentenceTransformer
import scipy.spatial


model = SentenceTransformer('prithivida/miniDense_arabic_v1')

corpus = [
    'أرق يمكن أن يحدث الأرق بشكل مستقل أو نتيجة لمشكلة أخرى. وتشمل الظروف التي يمكن أن تؤدي إلى الأرق : توتر، ألم مزمن، قصور القلب، فرط الدرقية، حرقة الفؤاد، متلازمة تململ الساقين، سن اليأس وبعض الأدوية، مثل كافيين، نيكوتين، و الكحول. وتشمل عوامل الخطر الأخرى العمل ليلا وانقطاع النفس النومي. ويستند التشخيص على عادات النوم للبحث عن الأسباب الكامنة. كما يمكن إجراء دراسة على النوم للبحث عن اضطرابات النوم الكامنة.  ويتم هذا الإجراء بسؤالين: "هل تواجه صعوبة في النوم؟" و "هل لديك صعوبة في الدخول في النوم أو البقاء نائما؟',
    'أرق في كثير من الحالات، يشترك الأرق مع مرض آخر، كما يمكن حدوثه بسبب الآثار الجانبية من الأدوية، أو المشاكل النفسية. ما يقرب من نصف الأشخاص المصابين بالأرق يرتبطون باضطرابات نفسية. بينما في الاكتئاب "ينبغي اعتبار الأرق حالة مرضية، بدلا من أن تكون حالة ثانوية؛" والأرق عادة ما يسبق الأعراض النفسية. " فمن الممكن أن يشكل الأرق خطرا كبيرا لتطوير اضطراب نفسي لاحق". يحدث الأرق في ما بين 60٪ و 80٪ من الأشخاص الذين يعانون من الاكتئاب. وقد يرجع ذلك جزئيا إلى العلاج المستخدم لعلاج الاكتئاب.',
    'وخز جانبي لا يوجد سبب واحد دقيق معروف للوخز الجانبي، ولكن يوجد عدد من التفاسير لسبب هذا الألم ولكنها ليست تفاسير حتمية، النظرية السائدة والمنتشرة هي أن الألم من الممكن أن يحدث بسبب ارتفاع منسوب الدم إلى الكبد أو الطحال. ويؤدي ازدياد معدل نبضات القلب أثناء ممارسة الرياضة إلى دفع كرات الدم الحمراء للتوجه إلى الكبد والذي يؤدي إلى تضخم كبد وفرط ضغط الدم البابي[4][4]. فعند ممارسة الرياضة يتم ضخ الدم تدريجياً إلى العضلات وينخفض تدفق الدم في نفس الوقت إلى أجهزة الجسم الداخلية. ويمكن أن يؤدي ذلك إلى تقلصات في الكبد والمعدة والأمعاء والشعور بالألم الجانبي. وقد لوحظ أيضاً أن ألم الجنب غالباً ما يحدث عندما تكون المعدة ممتلئة، وعند الأشخاص الذين لا يتدربون بشكل كامل. فعندما تكون المعدة ممتلئة يحتاج الجسم إلى مزيد من الدم من أجل عملية الهضم. كما أن هناك أيضاً مؤشرات بأنه في حالة المعدة الممتلئة يمكن أن يتقلص الحجاب الحاجز لأعلى ويتسبب في ألم الجنب. ويمكن لألم الجنب أن يظهر عند ممارسة الأنشطة الرياضية الشاقة ولكنه شائع بصفة خاصة أثناء الجري ولا يُعرف سبب ذلك.',
    "قطع الودي الصدري بالتنظير هذه الدراسة أيضا تثبت العديد من المرضى قد ادعوا، أن الجراحة تسبب تغيرات نفسية. لا يمكننا الحد من 'رداءة' الاستجابات العاطفية، مثل الخوف أو القلق. إذا كنت تريد التقليل من الاستجابات العاطفية، أنها سوف تؤثر على المدى الكامل للعواطف وكثافتها. بازالة معدل التغير في دقات القلب ،العواطف هي أيضا 'تغطى'. {50}  العصب الحشوي واستقلال الوظائف هي المفتاح  لفهم العمليات النفسية. بول د.ماكلين يعتقد أن التجربة العاطفية  يمكن أن تكون أدق وصف بأنها استجابة ل  المركب من المحفزات في الدماغ التي تتلقاها من  البيئة الخارجية، ونتيجة للتصورات المستمرة في العالم الخارجي، والأحاسيس الداخلية أو  ردود الفعل التي تنتقل إلى الدماغ من أعضاء الجسم  واجهزته.",
    'غسيل دماغ ولا يقل الإجهاد تأثيراً على الانسان عن الجوع، بل قد يزيده إذ أن الجسم يحتاج يومياً لعدد معين من الساعات للراحة والنوم. قد يحتمل بعض الناس قلة النوم لفترة معينة، إلا ان الاستمرار في ذلك من شأنه ان يقضي على صفاء الذهن، ويسبب للمتعرض له إضطراب عقلي وفقدان إحساس قد يقوده إلى الجنون والإنتحار. ويصبح الفرد الذي عانى الحرمان أكثر قابلية لتقبل الإيحاء وأكثر إستعداداً لتنفيذ تعليمات الذين يطلبون منه ان يسلك سلوكاً معيناً، كما يقل احتمال مقاومته لمطلب اي انسان من ذوي السلطة. ويستغل المستجوبون في السجون السياسية هذا كله مهيئين بيئة يصبح فيها النوم شبه مستحيل إذ يوقظون الفرد في ساعة غير عادية أو يجبره على الإستيقاظ كلما نام، ويكون الإيقاظ بأسلوب خشن، ثم يستجوب لفترة ويعاد ثانية لزنزانته، والهدف من هذا كله إجهاد المتهم او الأسير حتى يصل في النهاية إلى درجة من الانهيار تمكن المستجوب من الايحاء اليه بما يريد.',
    'اختبار إجهاد القلب خلال الاختبار يكون قلب المريض تحت الضغط  نتيجة للمجهود الرياضي أو تحفيز كيميائيا، هذا الأخير الذي يكون عادة عن طريق حقن ""الدوبوتامين"" في وريد المريض، الشئ الذي يحاكي عملية الإجهاد الجسماني لدى المرضى الذين لا يستطيعون القيام بجهد جسماني. يكون الهدف من هذا الضغط الممارس على القلب هو مقارنة صور مخططات صدى القلب لتقييم قدرة تقلص عضلة القلب وعمل الصمامات القلبية أثناء الجهد وكشف أي تشوه قد يطال القلب أو الصمامات.',
    "المسألة الشرقية المسألة الشرقية (بالإنجليزية: Eastern Question) (بالفرنسية: Question de l'orient) : هي مسألة وجود العثمانيين المسلمين في أوروبا وطردهم منها واستعادة القسطنطينية من العثمانيين بعد سقوطها في 1453 وتهديد مصالح الدول الأوروبية في هذه المنطقة. كما يدل المصطلح على تصفية أملاك رجل أوروبا المريض في البلقان من طرف الدول الأوروبية.",
    'أرق الأرق هو عبارة عن اضطراب في النوم أو تقطعه أو انخفاض جودته، مما يعود سلباً على صحة المريض النفسية والجسدية. ويمكن أن يعرف بإنه الشكوى من صعوبة بدء النوم، أو الاستمرار فيه، أو عدم الحصول على نوم مريح خلال الليل، أو النهوض مبكراً بغير المعتاد، وهو يؤثر على نشاط المصاب خلال النهار. وتختلف أسبابه وعلاجاته من شخص لآخر حسب حالته وظروفه.',
    'الشرقية (عمارة) في الهندسة المعمارية ، الشرقية هي تجويف نصف دائري تعلوه نصف قبة، في كثير من الأحيان يقع على واجهة المبنى (ولكن يستخدم أيضاً كفتحة في الجدار الداخلي). اعتمدت الشرقية من قبل الرومان ، واستخدمت بكثرة في الحقب التاريخية المتعاقبة (من العمارة الرومانية والبيزنطية).',
    'المسألة الشرقية قامت هذه المرحلة على تعميق الحقد والكراهية للرأي العام الأوروبي ضد الدولة العثمانية عبر حملات تحسيسية من طرف الدول والجماعات الدينية والكنيسة المسيحية بتبيان الإجرام العثماني في حق أوروبا من خلال احتلال أوروبا ونشر الإسلام في نظر المسيحيين، لكن الممارسة والتطبيق أصعب من الكلام حيث جعلت القوة العثمانية من الرغبة الأوروبية في طردها أمرا مستحيلا وبعيد المدى. كانت الرغبة الدفينة في منأى عن علم العثمانيين بها ؛ فقد كان الوجه الظاهر هو الترحاب والموافقة على نقيض الوجه الآخر',
    'مسيحية شرقية المسيحية الشرقية هي عوائل الكنائس التي تطورت خارج العالم الغربي، وهي اليوم متوزعة ضمن ثلاث عوائل وهي الكنائس الأرثوذكسية الشرقية، والكنائس الأرثوذكسية المشرقية، والكنائس الكاثوليكية الشرقية، بالإضافة لكنيستين انحدرتا من كنيسة المشرق التاريخية، وهما الكنيسة المشرقية الآشورية وكنيسة المشرق القديمة. ويقابلها من الجهة الأخرى التقليد المسيحي الغربي والممثل بالكنائس الكاثوليكية والبروتستانتية الغربية. ويشير المصطلح إلى كل ما حملته وتحمله هذه الكنائس من تراث وتقليد مسيحي على مدى العصور، وتتكون الكنائس المسيحية الشرقية من التقاليد المسيحية التي تطورت بشكل مميز على مدى عدة قرون في الشرق الأوسط وشمال وشرق أفريقيا وأوروبا الشرقية وآسيا الصغرى وساحل مالابار في جنوب الهند وأجزاء من الشرق الأقصى. ولا يصف المصطلح لا يصف شركة واحدة أو طائفة دينية واحدة، وعلى الرغم من ذلك تشاركت الكنائس الشرقية بالتقليد الديني ولكنها انقسمت على نفسها خلال القرون الأولى للمسيحية وذلك بسبب خلافات عقائدية كرستولوجية ولاهوتية بالإضافة لأسباب سياسية.',
    'تاريخ المسيحية الشرقية تنشر التقاليد المسيحية الشرقية وتمثلها بشكل شامل الكنائس المنتشرة في اليونان وروسيا والبلقان وأوروبا الشرقية وآسيا الصغرى والشرق الأوسط وشمال شرق أفريقيا وجنوبي الهند. وتشير كمصطلح إلى كل ما حملته وتحمله هذه الكنائس من تراث وتقليد مسيحي على مدى العصور. ويقابلها من الجهة الأخرى التقليد المسيحي الغربي والممثل بالكنائس الكاثوليكية والبروتستانتية الغربية. وقد تشاركت الكنائس الشرقية بالتقليد الديني ولكنها انقسمت على نفسها خلال القرون الأولى للمسيحية وذلك بسبب خلافات عقائدية  كرستولوجية ولاهوتية بالإضافة لأسباب سياسية.',
    'ية (باليونانية:Ορθοδοξία) "(تعني بالعربية الصراطية المستقيمة)"، هي مذهب مسيحي يُرجع جذوره بحسب أتباعه إلى المسيح والخلافة الرسولية والكهنوتية تؤمن الكنيسة الأرثوذكسية الشرقية بالتقليد وكتابات آباء الكنيسة والمجامع إلى جانب الكتاب المقدس، فضلاً عن تمسكها بالتراتبية الهرمية للسلطة في الكنيسة والطقوس والأسرار السبعة المقدسة.',
    'ديانات غربية بالمقابل فإت المسيحية الشرقية هي عوائل الكنائس التي تطورت خارج العالم الغربي، وهي اليوم متوزعة ضمن ثلاث عوائل وهي الكنائس الأرثوذكسية الشرقية، والكنائس المشرقية، والكنائس الكاثوليكية الشرقية، بالإضافة لكنيستين انحدرتا من كنيسة المشرق التاريخية، وهما الكنيسة المشرقية الآشورية وكنيسة المشرق القديمة. ويقابلها من الجهة الأخرى التقليد المسيحي الغربي والممثل بالكنائس الكاثوليكية والبروتستانتية الغربية. ويشير المصطلح إلى كل ما حملته وتحمله هذه الكنائس من تراث وتقليد مسيحي على مدى العصور، وتتكون الكنائس المسيحية الشرقية من التقاليد المسيحية التي تطورت بشكل مميز على مدى عدة قرون في الشرق الأوسط وشمال وشرق أفريقيا وأوروبا الشرقية وآسيا الصغرى وساحل مالابار في جنوب الهند وأجزاء من الشرق الأقصى.',
    'الزي الإسلامي في أوروبا على الرغم من أن دول البلقان وأوروبا الشرقية تضم عددً كبيرًا من المسلمين الذين يُعدون السكان الأصليين في الكثير من تلك الدول، إلا أن مسألة الزي الإسلامي عادة ما ترتبط بقضايا الهجرة وموقف الإسلام من المجتمع الغربي. في تشرين الثاني/نوفمبر 2006 أكد المفوض الأوروبي فرانكو فراتيني أنه لا يؤيد فرض حظر على البرقع، ليكون بذلك هذا هو أول بيان رسمي بشأن مسألة حظر الزي الإسلامي من المفوضية الأوروبية في الاتحاد الأوروبي. أسباب حظر هذا الزي تختلف من دولة لأخرى، لكن الحظر القانوني الذي يشمل الملابس التي تُغطي الوجه عادة ما يتم تبريره لأسباب أمنية مثل تدابير مكافحة الإرهاب.',
    'المسألة المصرية لقد فتح المسألة الشرقية في مصر محمد علي باشا، إثر تفكيره بتكوين دولة عربية تقوم على أنقاض الدولة العثمانية يحكمها هو وأسرته من بعده، وكان أول ما طرح إليه محمد علي هو سوريا لأنها تكون منطقة متكاملة طبيعية مع مصر، وقد استطاع تحقيق ذلك وساعدته على ذلك ظروف هي: قام بالهجوم على بلاد الشام بقيادة إبنه إبراهيم باشا الذي إجتاحها وواصل انتصاراته إلى أن وصلت جيوشه إلى كوتاهية وأصبحت تهدد القسطنطينية نفسها فأصيب السلطاب بفزع كبير وتدخلت الدول الأوروبية وأضطر إلى توقيع صلح كوتاهية عام 1833، تضمن ما يلي: لقد أقلقت انتصارات محمد علي دول أوروبا المسيحية كما أزعجها وحدة البلاد العربية في ظل قيادة مصرية لأن ذلك يهدد مصالحها في المنطقة ويفوت عليها فرصة اقتسام أملاك الدولة العثمانية لذا رأت ضرورة إضعافها. قامت بريطانيا بحث السلطان العثماني وتحضيره لإستعادة أملاكه وخاض السلطان العثماني حربا ثانية مع إبراهيم باشا في نصيين على الفرات في 25 يونيو 1839 فانهزمت برا فيما إنظم الأسطول العثماني إلى مصر وهكذا رأت بريطانيا أن طريق الهند أصبح مهددا بالخطر، لذا سارعت دون أن تطلع فرنسا على نواياها وعقدت مع كل من بروسيا والنمسا وروسيا مرتمرا انتهى بمعاهدة لندن في 5 يوليو 1840 فأرسلت دول هذا التكتل إنذارا إلى محمد علي جاء فيه: و عندما تباطأ محمد علي على أمل أن تصله إمدادات عسكرية من فرنسا صديقته، قامت الدول بانتزاع ولايته عكا منه، ولذلك عندا أدرك أن الأمر جدي أعلن قبوله لشروط الصلح وبهذا انتهت المسألة الشرقية في مصر وبذلك ضمنت الدول الأوروبية سلامة الدولة العثمانية وبالتالي مصالحها الاستعمارية.',
    'المسألة الشرقية اعتبرت المرحلة تاريخيا تمهيدا للمرحلة الثالثة ألا وهي التنفيذ، فكانت غنية بالامتيازات العثمانية للأوروبيين والبعثات المسيحية التبشيرية والثقافية والتجارية مما وسع مناطق النفوذ الأوروبي في الدولة العثمانية ؛ كان التناسق والتكامل بين مختلف المجالات جد دقيق ومدروس.'
]

queries = [
    'هل عدم القيام بجهد جسماني ممكن ان يسبب الأرق؟',
    'ما هي المسألة الشرقية ؟'
]



corpus_embeddings = model.encode(corpus)
query_embeddings = model.encode(queries)

# Find the closest 3 sentences of the corpus for each query sentence based on cosine similarity
closest_n = 3
for query, query_embedding in zip(queries, query_embeddings):
    distances = scipy.spatial.distance.cdist([query_embedding], corpus_embeddings, "cosine")[0]

    results = zip(range(len(distances)), distances)
    results = sorted(results, key=lambda x: x[1])

    print("\n======================\n")
    print("Query:", query)
    print("\nTop 3 most similar sentences in corpus:\n")

    for idx, distance in results[0:closest_n]:
        print(corpus[idx].strip(), "(Score: %.4f)" % (1-distance))

# Optional: How to quantize the embeddings
# binary_embeddings = quantize_embeddings(embeddings, precision="ubinary")

With Huggingface Transformers:

  • T.B.A

FAQs:

How can I reduce overall inference cost?

  • You can host these models without heavy torch dependency using the ONNX flavours of these models via FlashEmbed library.

How do I reduce vector storage cost?

Use Binary and Scalar Quantisation

How do I offer hybrid search to improve accuracy?

MIRACL paper shows simply combining BM25 is a good starting point for a Hybrid option: The below numbers are with mDPR model, but miniDense_arabic_v1 should give a even better hybrid performance.

Language ISO nDCG@10 BM25 nDCG@10 mDPR nDCG@10 Hybrid
Arabic ar 0.395 0.499 0.673

Note: MIRACL paper shows a different (higher) value for BM25 Arabic, So we are taking that value from BGE-M3 paper, rest all are form the MIRACL paper.

MTEB Retrieval numbers:

MTEB is a general purpose embedding evaluation benchmark covering wide range of tasks, but miniDense models (like BGE-M3) are predominantly tuned for retireval tasks aimed at search & IR based usecases. So it makes sense to evaluate our models in retrieval slice of the MTEB benchmark.

MIRACL Retrieval

Refer tables above

Sadeem Question Retrieval

Table 3: Detailed Arabic retrieval performance on the SadeemQA eval set (measured by nDCG@10)

Long Document Retrieval

This is very ambitious eval because we have not trained for long context, the max_len was 512 for all the models below except BGE-M3 which had 8192 context and finetuned for long doc.

Table 4: Detailed Arabic retrieval performance on the MultiLongDoc dev set (measured by nDCG@10)

X-lingual Retrieval

Except BGE-M3 all are monolingual arabic models so they have no notion of any other languages. But the below table shows how our model understands arabic in context with other languages. This explains it's overall competitive performance when compared to models that are a LOT larger.

Table 5: Detailed Arabic retrieval performance on the 3 X-lingual test set (measured by nDCG@10)


Roadmap

We will add miniDense series of models for all popular languages as we see fit or based on community requests in phases. Some of the languages we have in our list are

  • Spanish
  • Tamil
  • German
  • English ?

Notes on reproducing:

We welcome anyone to reproduce our results. Here are some tips and observations:

  • Use CLS Pooling (not mean) and Inner Product (not cosine).
  • There may be minor differences in the numbers when reproducing, for instance BGE-M3 reports a nDCG@10 of 59.3 for MIRACL hindi and we Observed only 58.9.

Here are our numbers for the full hindi run on BGE-M3

{'NDCG@1': 0.49714, 'NDCG@3': 0.5115, 'NDCG@5': 0.53908, 'NDCG@10': 0.58936, 'NDCG@100': 0.6457, 'NDCG@1000': 0.65336}
{'MAP@1': 0.28845, 'MAP@3': 0.42424, 'MAP@5': 0.46455, 'MAP@10': 0.49955, 'MAP@100': 0.51886, 'MAP@1000': 0.51933}
{'Recall@10': 0.73032, 'Recall@50': 0.8987, 'Recall@100': 0.93974, 'Recall@200': 0.95763, 'Recall@500': 0.97813, 'Recall@1000': 0.9902}
{'P@1': 0.49714, 'P@3': 0.33048, 'P@5': 0.24629, 'P@10': 0.15543, 'P@100': 0.0202, 'P@1000': 0.00212}
{'MRR@10': 0.60893, 'MRR@100': 0.615, 'MRR@1000': 0.6151}

Fair warning BGE-M3 is $ expensive to evaluate, probably* that's why it's not part of any of the retrieval slice of MTEB benchmarks.

Reference:

Note on model bias:

  • Like any model this model might carry inherent biases from the base models and the datasets it was pretrained and finetuned on. Please use responsibly.

How to cite?

Damodaran, P. (2024). MiniDense: Family of Low footprint multilingual retrievers for search and RAG pipelines (Version 1.0.0) [Computer software].

Downloads last month
51
Inference Examples
Inference API (serverless) is not available, repository is disabled.

Collection including prithivida/miniDense_arabic_v1