/ Модель

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

Контекст
514 токенов
Параметры
305 млн
Архитектура
xlm-roberta · dense

mstsb-paraphrase-multilingual-mpnet-base-v2

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

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

5 452скачиваний за 30 дней12лайковвеса обновлены13 июл 2021

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

AIDA-UPM выпустила многоязычную модель эмбеддингов предложений на базе XLM-RoBERTa. Модель дообучена на расширенном до 15 языков наборе STSb и кодирует предложения и абзацы в плотные векторы размерности 768 для оценки семантического сходства, семантического поиска и кластеризации. Для получения эмбеддинга предложения применяется mean pooling.

Модель поддерживает арабский, чешский, немецкий, английский, испанский, французский, хинди, итальянский, японский, нидерландский, польский, португальский, русский и турецкий языки, а также варианты китайского zh-CN и zh-TW. Контекст составляет до 514 токенов. В опубликованном сравнении средняя корреляция Спирмена по 31 моноязычной и кросс-языковой задаче сходства составила 0,836; результат зависит от языка и данных. Репозиторий содержит веса PyTorch; сведения о лицензии в предоставленных данных отсутствуют.

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

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

Ограничения

Контекст ограничен 514 токенами, а показатели сходства различаются между языками и задачами. В предоставленных данных не указана лицензия.

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

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

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

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

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

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

Открыть на Hugging Face

mstsb-paraphrase-multilingual-mpnet-base-v2

This is a fine-tuned version of paraphrase-multilingual-mpnet-base-v2 from sentence-transformers model with Semantic Textual Similarity Benchmark extended to 15 languages: It maps sentences & paragraphs to a 768 dimensional dense vector space and can be used for tasks like clustering, semantic search and measuring the similarity between two sentences.

This model is fine-tuned version of paraphrase-multilingual-mpnet-base-v2 for semantic textual similarity with multilingual data. The dataset used for this fine-tuning is STSb extended to 15 languages with Google Translator. For mantaining data quality the sentence pairs with a confidence value below 0.7 were dropped. The extended dataset is available at GitHub. The languages included in the extended version are: ar, cs, de, en, es, fr, hi, it, ja, nl, pl, pt, ru, tr, zh-CN, zh-TW. The pooling operation used to condense the word embeddings into a sentence embedding is mean pooling (more info below).

Usage (HuggingFace Transformers)

Without sentence-transformers, you can use the model like this: First, you pass your input through the transformer model, then you have to apply the right pooling-operation on-top of the contextualized word embeddings.

from transformers import AutoTokenizer, AutoModel
import torch

# We should define the proper pooling function: Mean pooling
# Mean Pooling - Take attention mask into account for correct averaging
def mean_pooling(model_output, attention_mask):
    token_embeddings = model_output[0] #First element of model_output contains all token embeddings
    input_mask_expanded = attention_mask.unsqueeze(-1).expand(token_embeddings.size()).float()
    return torch.sum(token_embeddings * input_mask_expanded, 1) / torch.clamp(input_mask_expanded.sum(1), min=1e-9)


# Sentences we want sentence embeddings for
sentences = ["This is an example sentence", "Esta es otra frase de ejemplo", "最後の例文"]

# Load model from HuggingFace Hub
tokenizer = AutoTokenizer.from_pretrained('AIDA-UPM/mstsb-paraphrase-multilingual-mpnet-base-v2')
model = AutoModel.from_pretrained('AIDA-UPM/mstsb-paraphrase-multilingual-mpnet-base-v2')

# Tokenize sentences
encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt')

# Compute token embeddings
with torch.no_grad():
    model_output = model(**encoded_input)

# Perform pooling. In this case, max pooling.
sentence_embeddings = mean_pooling(model_output, encoded_input['attention_mask'])

print("Sentence embeddings:")
print(sentence_embeddings)

Evaluation Results

Check the test results in the Semantic Textual Similarity Tasks. The 15 languages available at the Multilingual STSB have been combined into monolingual and cross-lingual tasks, giving a total of 31 tasks. Monolingual tasks have both sentences from the same language source (e.g., Ar-Ar, Es-Es), while cross-lingual tasks have two sentences, each in a different language being one of them English (e.g., en-ar, en-es).

Here we compare the average multilingual semantic textual similairty capabilities between the paraphrase-multilingual-mpnet-base-v2 based model and the mstsb-paraphrase-multilingual-mpnet-base-v2 fine-tuned model across the 31 tasks. It is worth noting that both models are multilingual, but the second model is adjusted with multilingual data for semantic similarity. The average of correlation coefficients is computed by transforming each correlation coefficient to a Fisher's z value, averaging them, and then back-transforming to a correlation coefficient.

ModelAverage Spearman Cosine Test
mstsb-paraphrase-multilingual-mpnet-base-v20.835890
paraphrase-multilingual-mpnet-base-v20.818896

The following tables breakdown the performance of mstsb-paraphrase-multilingual-mpnet-base-v2 according to the different tasks. For the sake of readability tasks have been splitted into monolingual and cross-lingual tasks.

Monolingual TaskPearson Cosine testSpearman Cosine test
en;en0.8680483106925060.8740170943535747
ar;ar0.82671394541934870.8284459741532022
cs;cs0.84668217209421570.8485417688803879
de;de0.85172859618121830.8557680051557893
es;es0.85191853090646910.8552243211580456
fr;fr0.84309510679850640.8466614534379704
hi;hi0.81782586305780920.8176462079184331
it;it0.84759095743056370.8494216064459076
ja;ja0.84355888593864770.8456031494178619
nl;nl0.84867651045270320.8520856765262531
pl;pl0.84078401778834070.8443070467300299
pt;pt0.85348801782492960.8578544068829622
ru;ru0.83908975854556780.8423041443534423
tr;tr0.83821254518205720.8421587450058385
zh-CN;zh-CN0.8262336789466440.8248515460782744
zh-TW;zh-TW0.82426838096754220.8235506799952028
Cross-lingual TaskPearson Cosine testSpearman Cosine test
en;ar0.79908303404625350.7956792016468148
en;cs0.83812748790612650.8388713450024455
en;de0.84144396009287390.8441971698649943
en;es0.84423375113569520.8445035292903559
en;fr0.83784376446050630.8387903367907733
en;hi0.79519550860555270.7905052217683244
en;it0.84156863729787660.8419480899107785
en;ja0.80943066652833880.8032512280936449
en;nl0.83895261401297670.8409310421803277
en;pl0.82613091639795780.825976253023656
en;pt0.84755462090707650.8506606391790897
en;ru0.82485149142637230.8224871183202255
en;tr0.81918036612078680.8194200775744044
en;zh-CN0.81476780833782490.8102089470690433
en;zh-TW0.81072721603749550.8056129680510944

Training

The model was trained with the parameters:

DataLoader:

torch.utils.data.dataloader.DataLoader of length 687 with parameters:

{'batch_size': 132, 'sampler': 'torch.utils.data.sampler.RandomSampler', 'batch_sampler': 'torch.utils.data.sampler.BatchSampler'}

Loss:

sentence_transformers.losses.CosineSimilarityLoss.CosineSimilarityLoss

Parameters of the fit()-Method:

{
    "callback": null,
    "epochs": 2,
    "evaluation_steps": 1000,
    "evaluator": "sentence_transformers.evaluation.EmbeddingSimilarityEvaluator.EmbeddingSimilarityEvaluator",
    "max_grad_norm": 1,
    "optimizer_class": "<class 'transformers.optimization.AdamW'>",
    "optimizer_params": {
        "lr": 2e-05
    },
    "scheduler": "WarmupLinear",
    "steps_per_epoch": null,
    "warmup_steps": 140,
    "weight_decay": 0.01
}

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 128, 'do_lower_case': False}) with Transformer model: XLMRobertaModel 
  (1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False})
)

Citing & Authors

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
XLMRobertaModel
Ревизия весов
7c1614a

0 моделей