/ Модель

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

Контекст
32 768 токенов
Параметры
7,1 млрд
Размер весов
14,2 ГБ
Лицензия
CC BY-NC 4.0
Архитектура
mistral · dense
Опубликована
24 янв 2024

SFR-Embedding-Mistral

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

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

44 421скачиваний за 30 дней299лайковвеса обновлены4 фев 2025

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

  • NusaX-senti

    main_score

    Результат

    0,737

    MTEB

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

  • MassiveScenarioClassification

    main_score

    Результат

    0,6442

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

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

  • Tatoeba

    main_score

    Результат

    0,7214

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

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

  • SIB200ClusteringS2S

    main_score

    Результат

    0,5847

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

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

  • MIRACLRetrievalHardNegatives

    main_score

    Результат

    0,691

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

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

  • HUMESIB200ClusteringS2S

    main_score

    Результат

    0,7312

    MTEB

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

  • EPBench

    main_score

    Результат

    1

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

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

  • PoemSentimentClassification

    main_score

    Результат

    0,5752

    MTEB

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

  • WikipediaRetrievalMultilingual

    main_score

    Результат

    0,9321

    MTEB

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

  • CEDRClassification

    main_score

    Результат

    0,5174

    MTEB

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

  • IndicGenBenchFloresBitextMining

    main_score

    Результат

    0,0194

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

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

  • HagridRetrieval

    main_score

    Результат

    0,9882

    MTEB

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

  • CodeTransOceanDL

    main_score

    Результат

    0,3293

    MTEB

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

  • HotpotQA

    main_score

    Результат

    0,7702

    MTEB

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

  • STS22.v2

    main_score

    Результат

    0,5272

    MTEB

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

  • KnowMeBench

    main_score

    Результат

    0,5212

    MTEB

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

  • CzechProductReviewSentimentClassification

    main_score

    Результат

    0,5917

    MTEB

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

  • MTOPDomainClassification

    main_score

    Результат

    0,917

    MTEB

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

  • XPQARetrieval

    main_score

    Результат

    0,4453

    MTEB

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

  • HUMERedditClusteringP2P

    main_score

    Результат

    0,8141

    MTEB

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

  • MassiveIntentClassification

    main_score

    Результат

    0,4187

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

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

  • NusaXBitextMining

    main_score

    Результат

    0,5314

    MTEB

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

  • MLQARetrieval

    main_score

    Результат

    0,7522

    MTEB

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

  • NollySentiBitextMining

    main_score

    Результат

    0,2585

    MTEB

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

  • STS22

    main_score

    Результат

    0,8452

    MTEB

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

  • MemGovern

    main_score

    Результат

    0,9155

    MTEB

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

  • SNLRetrieval

    main_score

    Результат

    0,9718

    MTEB

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

  • SprintDuplicateQuestions

    main_score

    Результат

    0,9646

    MTEB

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

  • ScalaClassification

    main_score

    Результат

    0,5107

    MTEB

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

  • StackExchangeClustering

    main_score

    Результат

    0,7425

    MTEB

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

  • TMD

    main_score

    Результат

    0,1465

    MTEB

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

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

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

SFR-Embedding-Mistral — текстовая модель эмбеддингов, разработанная Salesforce Research. Она основана на E5-mistral-7b-instruct и Mistral-7B-v0.1 и предназначена для преобразования текста в векторы, которые можно использовать для поиска и сравнения семантической близости. Архитектура — плотная Mistral с 7,1 млрд параметров, контекст — до 32 768 токенов; доступны веса в формате safetensors. В карточке заявлена поддержка английского языка.

Модель подходит для создания векторного поиска, поиска похожих предложений и оценки сходства текстов; она также отмечена в контексте бенчмарка MTEB. Выпуск предназначен для исследований, а датасеты третьих сторон могут иметь дополнительные условия лицензирования. Лицензия модели — CC BY-NC 4.0, поэтому коммерческое использование не разрешено её условиями. Перед применением следует отдельно оценивать точность, безопасность и возможную предвзятость.

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

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

Ограничения

Релиз предназначен для исследований; качество, безопасность и предвзятость следует оценивать для конкретного применения. Лицензия CC BY-NC 4.0 ограничивает коммерческое использование, а сторонние датасеты могут иметь дополнительные условия.

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

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

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

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

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

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

Открыть на Hugging Face

SFR-Embedding by Salesforce Research.

The model is trained on top of E5-mistral-7b-instruct and Mistral-7B-v0.1.

This project is for research purposes only. Third-party datasets may be subject to additional terms and conditions under their associated licenses. Please refer to specific papers for more details:

More technical details will be updated later.

Ethical Considerations

This release is for research purposes only in support of an academic paper. Our models, datasets, and code are not specifically designed or evaluated for all downstream purposes. We strongly recommend users evaluate and address potential concerns related to accuracy, safety, and fairness before deploying this model. We encourage users to consider the common limitations of AI, comply with applicable laws, and leverage best practices when selecting use cases, particularly for high-risk scenarios where errors or misuse could significantly impact people’s lives, rights, or safety. For further guidance on use cases, refer to our AUP and AI AUP.

How to run

Transformers

The models can be used as follows:

import torch
import torch.nn.functional as F
from torch import Tensor
from transformers import AutoTokenizer, AutoModel

def last_token_pool(last_hidden_states: Tensor,
                 attention_mask: Tensor) -> Tensor:
    left_padding = (attention_mask[:, -1].sum() == attention_mask.shape[0])
    if left_padding:
        return last_hidden_states[:, -1]
    else:
        sequence_lengths = attention_mask.sum(dim=1) - 1
        batch_size = last_hidden_states.shape[0]
        return last_hidden_states[torch.arange(batch_size, device=last_hidden_states.device), sequence_lengths]

def get_detailed_instruct(task_description: str, query: str) -> str:
    return f'Instruct: {task_description}\nQuery: {query}'

# Each query must come with a one-sentence instruction that describes the task
task = 'Given a web search query, retrieve relevant passages that answer the query'
queries = [
    get_detailed_instruct(task, 'How to bake a chocolate cake'),
    get_detailed_instruct(task, 'Symptoms of the flu')
]
# No need to add instruction for retrieval documents
passages = [
    "To bake a delicious chocolate cake, you'll need the following ingredients: all-purpose flour, sugar, cocoa powder, baking powder, baking soda, salt, eggs, milk, vegetable oil, and vanilla extract. Start by preheating your oven to 350°F (175°C). In a mixing bowl, combine the dry ingredients (flour, sugar, cocoa powder, baking powder, baking soda, and salt). In a separate bowl, whisk together the wet ingredients (eggs, milk, vegetable oil, and vanilla extract). Gradually add the wet mixture to the dry ingredients, stirring until well combined. Pour the batter into a greased cake pan and bake for 30-35 minutes. Let it cool before frosting with your favorite chocolate frosting. Enjoy your homemade chocolate cake!",
    "The flu, or influenza, is an illness caused by influenza viruses. Common symptoms of the flu include a high fever, chills, cough, sore throat, runny or stuffy nose, body aches, headache, fatigue, and sometimes nausea and vomiting. These symptoms can come on suddenly and are usually more severe than the common cold. It's important to get plenty of rest, stay hydrated, and consult a healthcare professional if you suspect you have the flu. In some cases, antiviral medications can help alleviate symptoms and reduce the duration of the illness."
]

# load model and tokenizer
tokenizer = AutoTokenizer.from_pretrained('Salesforce/SFR-Embedding-Mistral')
model = AutoModel.from_pretrained('Salesforce/SFR-Embedding-Mistral')

# get the embeddings
max_length = 4096
input_texts = queries + passages
batch_dict = tokenizer(input_texts, max_length=max_length, padding=True, truncation=True, return_tensors="pt")
outputs = model(**batch_dict)
embeddings = last_token_pool(outputs.last_hidden_state, batch_dict['attention_mask'])

# normalize embeddings
embeddings = F.normalize(embeddings, p=2, dim=1)
scores = (embeddings[:2] @ embeddings[2:].T) * 100
print(scores.tolist())
# [[86.7153549194336, 36.64569091796875], [35.00493621826172, 82.0738525390625]]

Sentence Transformers


from sentence_transformers import SentenceTransformer, util

model = SentenceTransformer("Salesforce/SFR-Embedding-Mistral")

def get_detailed_instruct(task_description: str, query: str) -> str:
    return f'Instruct: {task_description}\nQuery: {query}'

# Each query must come with a one-sentence instruction that describes the task
task = 'Given a web search query, retrieve relevant passages that answer the query'
queries = [
    get_detailed_instruct(task, 'How to bake a chocolate cake'),
    get_detailed_instruct(task, 'Symptoms of the flu')
]
# No need to add instruction for retrieval documents
passages = [
    "To bake a delicious chocolate cake, you'll need the following ingredients: all-purpose flour, sugar, cocoa powder, baking powder, baking soda, salt, eggs, milk, vegetable oil, and vanilla extract. Start by preheating your oven to 350°F (175°C). In a mixing bowl, combine the dry ingredients (flour, sugar, cocoa powder, baking powder, baking soda, and salt). In a separate bowl, whisk together the wet ingredients (eggs, milk, vegetable oil, and vanilla extract). Gradually add the wet mixture to the dry ingredients, stirring until well combined. Pour the batter into a greased cake pan and bake for 30-35 minutes. Let it cool before frosting with your favorite chocolate frosting. Enjoy your homemade chocolate cake!",
    "The flu, or influenza, is an illness caused by influenza viruses. Common symptoms of the flu include a high fever, chills, cough, sore throat, runny or stuffy nose, body aches, headache, fatigue, and sometimes nausea and vomiting. These symptoms can come on suddenly and are usually more severe than the common cold. It's important to get plenty of rest, stay hydrated, and consult a healthcare professional if you suspect you have the flu. In some cases, antiviral medications can help alleviate symptoms and reduce the duration of the illness."
]

embeddings = model.encode(queries + passages)
scores = util.cos_sim(embeddings[:2], embeddings[2:]) * 100
print(scores.tolist())
# [[86.71537780761719, 36.645721435546875], [35.00497055053711, 82.07388305664062]]

MTEB Benchmark Evaluation

Check out unilm/e5 to reproduce evaluation results on the BEIR and MTEB benchmark.

SFR-Embedding Team (∗indicates lead contributors).

  • Rui Meng*
  • Ye Liu*
  • Shafiq Rayhan Joty
  • Caiming Xiong
  • Yingbo Zhou
  • Semih Yavuz

Citation

@misc{SFRAIResearch2024,
  title={SFR-Embedding-Mistral:Enhance Text Retrieval with Transfer Learning},
  author={Rui Meng, Ye Liu, Shafiq Rayhan Joty, Caiming Xiong, Yingbo Zhou, Semih Yavuz},
  howpublished={Salesforce AI Research Blog},
  year={2024},
  url={https://www.salesforce.com/blog/sfr-embedding/}
}

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
MistralModel
Ревизия весов
33a60fe

0 моделей