/ Модель

Характеристики

Контекст
512 токенов
Параметры
124 млн
Лицензия
CC BY-NC-ND 4.0
Архитектура
bert · dense
Библиотека
transformers
Опубликована
31 мая 2024

miniDense_hindi_v1

Сходство предложенийТекст → score

Плотная модель эмбеддингов для поиска и извлечения релевантных документов на хинди.

110скачиваний за 30 дней4лайкавеса обновлены3 сен 2024

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Эмбеддинги» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

miniDense_hindi_v1 — модель плотных текстовых эмбеддингов для поиска на хинди, разработанная в рамках серии miniMiracle. Она предназначена для извлечения релевантных документов и поиска по запросу; авторы оценивают её на наборе MIRACL для хинди. В README модель описана как BERT с токенизатором XLM-Roberta, а метаданные указывают 124,3 млн параметров и контекст до 512 токенов.

Модель выдаёт векторы текста, которые можно сравнивать по внутреннему произведению. По README предусмотрен вариант ONNX FP16 для более лёгкого развёртывания; также предлагаются бинарная и скалярная квантизация векторного хранилища и гибридный поиск с BM25. Лицензия CC-BY-NC-ND-4.0 запрещает коммерческое использование и распространение производных материалов на иных условиях. Авторы предупреждают о возможных смещениях, унаследованных от базовых моделей и обучающих данных.

Сценарии применения

  • семантический поиск по документам на хинди
  • поиск релевантных фрагментов для RAG на хинди
  • ранжирование документов по запросу на хинди
  • гибридный поиск на хинди с BM25 и векторными эмбеддингами

Ограничения

Контекст ограничен 512 токенами; модель ориентирована преимущественно на задачи поиска и извлечения, а не на универсальную оценку эмбеддингов. Авторы отмечают возможные смещения, унаследованные от базовых моделей и датасетов.

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Architecture:

  • Model: BERT.
  • Tokenizer: XLM-Roberta's Tokenizer.

License and Terms:

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.

Full set of evaluation numbers for our model

{'NDCG@1': 0.42571, 'NDCG@3': 0.42062, 'NDCG@5': 0.44842, 'NDCG@10': 0.5039, 'NDCG@100': 0.56175, 'NDCG@1000': 0.57772}
{'MAP@1': 0.22683, 'MAP@3': 0.33514, 'MAP@5': 0.37345, 'MAP@10': 0.40861, 'MAP@100': 0.42833, 'MAP@1000': 0.42916}
{'Recall@10': 0.63964, 'Recall@50': 0.80537, 'Recall@100': 0.87136, 'Recall@200': 0.9211, 'Recall@500': 0.96851, 'Recall@1000': 0.97987}
{'P@1': 0.42571, 'P@3': 0.27429, 'P@5': 0.212, 'P@10': 0.13943, 'P@100': 0.01911, 'P@1000': 0.00211}
{'MRR@10': 0.53057, 'MRR@100': 0.53736, 'MRR@1000': 0.5377}

ONNX & GGUF Status:

VariantStatus
FP16 ONNX✅
GGUFWIP

Usage:

With Sentence Transformers:

from sentence_transformers import SentenceTransformer
import scipy.spatial


model = SentenceTransformer('prithivida/miniMiracle_hi_v1')

corpus = [
    'एक आदमी खाना खा रहा है।',
    'लोग ब्रेड का एक टुकड़ा खा रहे हैं।',
    'लड़की एक बच्चे को उठाए हुए है।',
    'एक आदमी घोड़े पर सवार है।',
    'एक महिला वायलिन बजा रही है।',
    'दो आदमी जंगल में गाड़ी धकेल रहे हैं।',
    'एक आदमी एक सफेद घोड़े पर एक बंद मैदान में सवारी कर रहा है।',
    'एक बंदर ड्रम बजा रहा है।',
    'एक चीता अपने शिकार के पीछे दौड़ रहा है।',
    'एक बड़ा डिनर है।'
]

corpus_embeddings = model.encode(corpus)

queries = [
    'एक आदमी पास्ता खा रहा है।',
    'एक गोरिल्ला सूट पहने व्यक्ति ड्रम बजा रहा है।'
]

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 miniMiracle_hi_v1 should give a even better hybrid performance.

LanguageISOnDCG@10 BM25nDCG@10 mDPRnDCG@10 Hybrid
Hindihi0.4580.3830.616

Why not run MTEB?

MTEB is a general purpose embedding evaluation bechmark covering wide range of tasks available currently only for English, Chinese, French and few other languages but not Indic languages. Besides like BGE-M3, miniMiracle models are predominantly tuned for retireval tasks aimed at search & IR based usecases. At the moment MIRACL is the gold standard for a subset of Indic languages.

Roadmap

We will add miniMiracle 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
  • Arabic
  • German
  • English ?

Notes on reproducing:

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

  • Use CLS Pooling and Inner Product.
  • 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].

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers

Можно запустить

Подбираем GPU…

Класс архитектуры
BertModel
Ревизия весов
b2e2e86

0 моделей