/ Модель

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

Контекст
514 токенов
Параметры
138 млн
Лицензия
MIT
Архитектура
camembert · dense
Базовая модель
camembert-base
Библиотека
transformers
Опубликована
6 мая 2024

splade-max-camembert-base-mmarcoFR

Заполнение пропусковТекст → текст7 профессий

Дообученная франкоязычная SPLADE-max модель преобразует запросы и документы в разреженные векторы для семантического поиска и оценки релевантности.

4 713скачиваний за 30 дней1лайквеса обновлены6 мая 2024

Бенчмарки

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

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

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

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

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

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

SPLADE-max CamemBERT-base mMARCO-FR — франкоязычная модель для семантического поиска, разработанная и дообученная на французской части mMARCO. Она преобразует запросы и документы в разреженные векторы размерностью 32 000, а релевантность оценивает по косинусному сходству. Модель основана на almanach/camembert-base и содержит 137,8 млн параметров; архитектура CamemBERT использует masked language modeling. Контекст модели — до 514 токенов.

Модель предназначена для поиска релевантных документов по запросам на французском языке, в том числе в больших коллекциях текстов. Обучение проводилось на парах запросов и passages из mMARCO с ранжирующей функцией потерь InfoNCE и регуляризацией разреженности FLOPS. В README приведена оценка на dev-наборе mMARCO-FR с 6 980 запросами и корпусом из 8,8 млн passages.

Лицензия — MIT. Оценка качества описана для французского набора mMARCO; результаты на других языках и типах данных в карточке не приведены. Для поискового применения модель формирует разреженные векторы, поэтому при интеграции нужно обеспечить совместимый способ вычисления сходства и поиска.

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

  • семантический поиск документов на французском языке
  • поиск passages по запросам на французском
  • ранжирование документов по релевантности запросу
  • извлечение релевантных текстов из большого корпуса

Ограничения

Обучение и оценка ориентированы на французский язык и набор mMARCO-FR; качество на других языках и корпусах не установлено по приведённым данным. Для входных вопросов и документов при обучении использовались максимальные длины 32 и 128 токенов соответственно.

Для каких профессий подходит7

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

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

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

Открыть на Hugging Face

spladev2-camembert-base-mmarcoFR

This is a SPLADE-max model for French that can be used for semantic search. The model maps queries and passages to 32k-dimensional sparse vectors which are used to compute relevance through cosine similarity.

Usage

Start by installing the library: pip install -U transformers. Then, you can use the model like this:

import torch
from torch.nn.functional import relu, normalize
from transformers import AutoTokenizer, AutoModel

queries = ["Ceci est un exemple de requête.", "Voici un second exemple."]
passages = ["Ceci est un exemple de passage.", "Et voilà un deuxième exemple."]

tokenizer = AutoTokenizer.from_pretrained('antoinelouis/spladev2-camembert-base-mmarcoFR')
model = AutoModel.from_pretrained('antoinelouis/spladev2-camembert-base-mmarcoFR')

q_input = tokenizer(queries, padding=True, truncation=True, return_tensors='pt')
p_input = tokenizer(passages, padding=True, truncation=True, return_tensors='pt')

with torch.no_grad():
    q_output = model(**q_input)
    p_output = model(**p_input)

q_activations = torch.amax(torch.log1p(relu(q_output.logits * q_input['attention_mask'].unsqueeze(-1))), dim=1)
p_activations = torch.amax(torch.log1p(relu(p_output.logits * p_input['attention_mask'].unsqueeze(-1))), dim=1)

q_activations = normalize(q_activations, p=2, dim=1)
p_activations = normalize(p_activations, p=2, dim=1)

similarity = q_embeddings @ p_embeddings.T
print(similarity)

Evaluation

The model is evaluated on the smaller development set of mMARCO-fr, which consists of 6,980 queries for a corpus of 8.8M candidate passages. We report the mean reciprocal rank (MRR), normalized discounted cumulative gainand (NDCG), mean average precision (MAP), and recall at various cut-offs (R@k). To see how it compares to other neural retrievers in French, check out the DécouvrIR leaderboard.

Training

Data

The model is trained on the French training samples of the mMARCO dataset, a multilingual machine-translated version of MS MARCO that contains 8.8M passages and 539K training queries. We sample 12.8M (q, p+, p-) triples from the official ~39.8M training triples with BM25 negatives.

Implementation

The model is initialized from the almanach/camembert-base checkpoint and optimized via a combination of the InfoNCE ranking loss with a temperature of 0.05 and the FLOPS regularization loss with quadratic increase of lambda until step 33k after which it remains constant with lambda_q=3e-4 and lambda_d=1e-4. The model is fine-tuned on one 80GB NVIDIA H100 GPU for 100k steps using the AdamW optimizer with a batch size of 128, a peak learning rate of 2e-5 with warm up along the first 4000 steps and linear scheduling. The maximum sequence lengths for questions and passages length were fixed to 32 and 128 tokens. Relevance scores are computed with the cosine similarity.

Citation

@online{louis2024decouvrir,
	author    = 'Antoine Louis',
	title     = 'DécouvrIR: A Benchmark for Evaluating the Robustness of Information Retrieval Models in French',
	publisher = 'Hugging Face',
	month     = 'mar',
	year      = '2024',
	url       = 'https://huggingface.co/spaces/antoinelouis/decouvrir',
}

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
CamembertForMaskedLM
Ревизия весов
77c4a1f

0 моделей