/ Модель

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

Контекст
512 токенов
Параметры
124 млн
Лицензия
Apache 2.0
Архитектура
bert · dense
Библиотека
sentence-transformers
Опубликована
22 июн 2023

text2vec-base-multilingual

ЭмбеддингиТекст → embedding10 профессий

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

123 тыс.скачиваний за 30 дней58лайковвеса обновлены31 июл 2024

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

  • NusaXBitextMining

    main_score

    Результат

    0,3708

    MTEB

    Публичная таблицаревизия совпадает

  • NorwegianCourtsBitextMining

    main_score

    Результат

    0,7997

    MTEB

    Публичная таблицаревизия совпадает

  • MLQARetrieval

    main_score

    Результат

    0,2211

    Общий результат 0,5573
    MTEB

    Публичная таблицаревизия совпадает

  • XPQARetrieval

    main_score

    Результат

    0,4179

    MTEB

    Публичная таблицаревизия совпадает

  • MassiveIntentClassification

    main_score

    Результат

    0,4869

    Общий результат 0,4453Общий результат 0,3424
    MTEB

    Публичная таблицаревизия совпадает

  • MIRACLRetrieval

    main_score

    Результат

    0,1744

    MTEB

    Публичная таблицаревизия совпадает

  • IndicGenBenchFloresBitextMining

    main_score

    Результат

    0,6302

    Общий результат 0,9014Общий результат 0,0545Общий результат 0,0537
    MTEB

    Публичная таблицаревизия совпадает

  • SyntecRetrieval

    main_score

    Результат

    0,4969

    MTEB

    Публичная таблицаревизия совпадает

  • MIRACLRetrievalHardNegatives

    main_score

    Результат

    0,1413

    MTEB

    Публичная таблицаревизия совпадает

  • WikiClusteringP2P.v2

    main_score

    Результат

    0,2615

    MTEB

    Публичная таблицаревизия совпадает

  • IconclassClassification

    main_score

    Результат

    0,4642

    MTEB

    Публичная таблицаревизия совпадает

  • NusaX-senti

    main_score

    Результат

    0,4843

    Общий результат 0,5633
    MTEB

    Публичная таблицаревизия совпадает

  • Tatoeba

    main_score

    Результат

    0,947

    Общий результат 0,9599Общий результат 0,9177Общий результат 0,2286
    MTEB

    Публичная таблицаревизия совпадает

  • STS17

    main_score

    Результат

    0,7634

    MTEB

    Публичная таблицаревизия не подтверждена

  • BSARDRetrieval

    main_score

    Результат

    0,2613

    MTEB

    Публичная таблицаревизия совпадает

  • SIB200ClusteringS2S

    main_score

    Результат

    0,0274

    Общий результат 0,0313Общий результат 0,0307
    MTEB

    Публичная таблицаревизия совпадает

  • CBD

    main_score

    Результат

    0,5794

    MTEB

    Публичная таблицаревизия совпадает

  • GermanSTSBenchmark

    main_score

    Результат

    0,8332

    MTEB

    Публичная таблицаревизия совпадает

  • AfriSentiClassification

    main_score

    Результат

    0,4101

    Общий результат 0,4712
    MTEB

    Публичная таблицаревизия совпадает

  • NusaTranslationBitextMining

    main_score

    Результат

    0,2877

    MTEB

    Публичная таблицаревизия совпадает

  • MassiveScenarioClassification

    main_score

    Результат

    0,598

    Общий результат 0,621Общий результат 0,4699
    MTEB

    Публичная таблицаревизия совпадает

  • WebLINXCandidatesReranking

    main_score

    Результат

    0,0808

    MTEB

    Публичная таблицаревизия совпадает

  • MintakaRetrieval

    main_score

    Результат

    0,1355

    MTEB

    Публичная таблицаревизия совпадает

  • WikipediaRetrievalMultilingual

    main_score

    Результат

    0,402

    MTEB

    Публичная таблицаревизия совпадает

  • NusaParagraphEmotionClassification

    main_score

    Результат

    0,4462

    MTEB

    Публичная таблицаревизия совпадает

  • VoyageMMarcoReranking

    main_score

    Результат

    0,389

    MTEB

    Публичная таблицаревизия совпадает

  • SwednClusteringS2S

    main_score

    Результат

    0,0571

    MTEB

    Публичная таблицаревизия совпадает

  • TweetSentimentClassification

    main_score

    Результат

    0,4117

    MTEB

    Публичная таблицаревизия совпадает

  • CodeEditSearchRetrieval

    main_score

    Результат

    0,1413

    MTEB

    Публичная таблицаревизия совпадает

  • FinanceBenchRetrieval

    main_score

    Результат

    0,1979

    MTEB

    Публичная таблицаревизия совпадает

  • SIB200Classification

    main_score

    Результат

    0,6053

    MTEB

    Публичная таблицаревизия совпадает

  • ArxivClusteringP2P

    main_score

    Результат

    0,3232

    MTEB

    Публичная таблицаревизия не подтверждена

  • MLSUMClusteringS2S

    main_score

    Результат

    0,3254

    MTEB

    Публичная таблицаревизия совпадает

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

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

shibing624/text2vec-base-multilingual — многоязычная модель эмбеддингов предложений, разработанная командой text2vec. Она дообучена методом CoSENT на базе sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2 и преобразует предложения или короткие абзацы в плотные векторы размерности 384 для сравнения семантической близости. Модель содержит 124,3 млн параметров, использует архитектуру BERT и библиотеку sentence-transformers; длина контекста — до 512 токенов по метаданным, а README указывает ограничение 256 word pieces, после которого вход усекается.

Модель предназначена для семантического поиска, сопоставления текстов, оценки сходства предложений, кластеризации и получения векторных представлений. В README заявлена поддержка немецкого, английского, испанского, французского, итальянского, нидерландского, польского, португальского, русского и китайского языков; метаданные подтверждают все перечисленные языки, кроме испанского. Для модели доступны веса PyTorch, safetensors и ONNX. Лицензия — Apache-2.0. Карточка сообщает об улучшении относительно базовой модели на тестах для китайского и английского языков, но не приводит здесь численных результатов именно для этой модели.

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

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

Ограничения

Входы длиннее 256 word pieces усекаются согласно README, хотя метаданные указывают контекст до 512 токенов. README описывает улучшение на китайских и английских тестах, но не приводит численных результатов для этой модели.

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

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

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

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

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

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

Открыть на Hugging Face

shibing624/text2vec-base-multilingual

This is a CoSENT(Cosine Sentence) model: shibing624/text2vec-base-multilingual.

It maps sentences to a 384 dimensional dense vector space and can be used for tasks like sentence embeddings, text matching or semantic search.

Evaluation

For an automated evaluation of this model, see the Evaluation Benchmark: text2vec

Languages

Available languages are: de, en, es, fr, it, nl, pl, pt, ru, zh

Release Models

  • 本项目release模型的中文匹配评测结果:
ArchBaseModelModelATECBQLCQMCPAWSXSTS-BSOHU-ddSOHU-dcAvgQPS
Word2Vecword2vecw2v-light-tencent-chinese20.0031.4959.462.5755.7855.0420.7035.0323769
SBERTxlm-roberta-basesentence-transformers/paraphrase-multilingual-MiniLM-L12-v218.4238.5263.9610.1478.9063.0152.2846.463138
Instructorhfl/chinese-roberta-wwm-extmoka-ai/m3e-base41.2763.8174.8712.2076.9675.8360.5557.932980
CoSENThfl/chinese-macbert-baseshibing624/text2vec-base-chinese31.9342.6770.1617.2179.3070.2750.4251.613008
CoSENThfl/chinese-lert-largeGanymedeNil/text2vec-large-chinese32.6144.5969.3014.5179.4473.0159.0453.122092
CoSENTnghuyong/ernie-3.0-base-zhshibing624/text2vec-base-chinese-sentence43.3761.4373.4838.9078.2570.6053.0859.873089
CoSENTnghuyong/ernie-3.0-base-zhshibing624/text2vec-base-chinese-paraphrase44.8963.5874.2440.9078.9376.7063.3063.083066
CoSENTsentence-transformers/paraphrase-multilingual-MiniLM-L12-v2shibing624/text2vec-base-multilingual32.3950.3365.6432.5674.4568.8851.1753.674004

说明:

模型训练实验报告:实验报告

Usage (text2vec)

Using this model becomes easy when you have text2vec installed:

pip install -U text2vec

Then you can use the model like this:

from text2vec import SentenceModel
sentences = ['如何更换花呗绑定银行卡', 'How to replace the Huabei bundled bank card']

model = SentenceModel('shibing624/text2vec-base-multilingual')
embeddings = model.encode(sentences)
print(embeddings)

Usage (HuggingFace Transformers)

Without text2vec, 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.

Install transformers:

pip install transformers

Then load model and predict:

from transformers import AutoTokenizer, AutoModel
import torch

# 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)

# Load model from HuggingFace Hub
tokenizer = AutoTokenizer.from_pretrained('shibing624/text2vec-base-multilingual')
model = AutoModel.from_pretrained('shibing624/text2vec-base-multilingual')
sentences = ['如何更换花呗绑定银行卡', 'How to replace the Huabei bundled bank card']
# 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, mean pooling.
sentence_embeddings = mean_pooling(model_output, encoded_input['attention_mask'])
print("Sentence embeddings:")
print(sentence_embeddings)

Usage (sentence-transformers)

sentence-transformers is a popular library to compute dense vector representations for sentences.

Install sentence-transformers:

pip install -U sentence-transformers

Then load model and predict:

from sentence_transformers import SentenceTransformer

m = SentenceTransformer("shibing624/text2vec-base-multilingual")
sentences = ['如何更换花呗绑定银行卡', 'How to replace the Huabei bundled bank card']

sentence_embeddings = m.encode(sentences)
print("Sentence embeddings:")
print(sentence_embeddings)

Full Model Architecture

CoSENT(
  (0): Transformer({'max_seq_length': 256, 'do_lower_case': False}) with Transformer model: BertModel 
  (1): Pooling({'word_embedding_dimension': 384, 'pooling_mode_mean_tokens': True})
)

Intended uses

Our model is intented to be used as a sentence and short paragraph encoder. Given an input text, it ouptuts a vector which captures the semantic information. The sentence vector may be used for information retrieval, clustering or sentence similarity tasks.

By default, input text longer than 256 word pieces is truncated.

Training procedure

Pre-training

We use the pretrained sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2 model. Please refer to the model card for more detailed information about the pre-training procedure.

Fine-tuning

We fine-tune the model using a contrastive objective. Formally, we compute the cosine similarity from each possible sentence pairs from the batch. We then apply the rank loss by comparing with true pairs and false pairs.

Citing & Authors

This model was trained by text2vec.

If you find this model helpful, feel free to cite:

@software{text2vec,
  author = {Ming Xu},
  title = {text2vec: A Tool for Text to Vector},
  year = {2023},
  url = {https://github.com/shibing624/text2vec},
}

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей