/ Модель

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

Лицензия
MIT
Библиотека
peft
Опубликована
4 апр 2024

LLM2Vec-Mistral-7B-Instruct-v2-mntp-unsup-simcse

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

LLM2Vec-Mistral-7B-Instruct-v2-mntp-unsup-simcse — модель для получения текстовых эмбеддингов на основе Mistral-7B-Instruct-v2, представленная организацией или исследовательской группой McGill-NLP.

8 767скачиваний за 30 дней7лайковвеса обновлены11 апр 2024

Бенчмарки

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

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

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

  • SIB200ClusteringS2S

    main_score

    Результат

    0,0507

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

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

  • NusaX-senti

    main_score

    Результат

    0,572

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

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

  • MLQARetrieval

    main_score

    Результат

    0,085

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

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

  • MassiveScenarioClassification

    main_score

    Результат

    0,5036

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

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

  • MasakhaNEWSClassification

    main_score

    Результат

    0,902

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

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

  • FaroeseSTS

    main_score

    Результат

    0,4043

    MTEB

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

  • SemRel24STS

    main_score

    Результат

    0,3228

    MTEB

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

  • CovidRetrieval

    main_score

    Результат

    0,0796

    MTEB

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

  • STS22

    main_score

    Результат

    0,5857

    MTEB

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

  • STSBenchmarkMultilingualSTS

    main_score

    Результат

    0,5004

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

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

  • MassiveIntentClassification

    main_score

    Результат

    0,3951

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

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

  • StackExchangeClustering

    main_score

    Результат

    0,6734

    MTEB

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

  • MIRACLRetrievalHardNegatives

    main_score

    Результат

    0,0536

    MTEB

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

  • MultiHateClassification

    main_score

    Результат

    0,566

    MTEB

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

  • CodeSearchNetCCRetrieval

    main_score

    Результат

    0,4967

    MTEB

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

  • NLPJournalTitleAbsRetrieval

    main_score

    Результат

    0,2718

    MTEB

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

  • RuSciBenchOECDClusteringP2P

    main_score

    Результат

    0,2818

    MTEB

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

  • MTOPDomainClassification

    main_score

    Результат

    0,8262

    MTEB

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

  • GermanQuAD-Retrieval

    main_score

    Результат

    0,6062

    MTEB

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

  • WikipediaRerankingMultilingual

    main_score

    Результат

    0,7222

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

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

  • NLPJournalAbsIntroRetrieval

    main_score

    Результат

    0,0069

    MTEB

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

  • MIRACLReranking

    main_score

    Результат

    0,2932

    MTEB

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

  • PublicHealthQA

    main_score

    Результат

    0,5242

    MTEB

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

  • STS22.v2

    main_score

    Результат

    0,8452

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

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

  • WikipediaRetrievalMultilingual

    main_score

    Результат

    0,5165

    MTEB

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

  • LEMBPasskeyRetrieval

    main_score

    Результат

    0,04

    MTEB

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

  • LEMBQMSumRetrieval

    main_score

    Результат

    0,1792

    MTEB

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

  • MLSUMClusteringP2P

    main_score

    Результат

    0,4208

    MTEB

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

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

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

В репозитории указано, что модель распространяется с использованием PEFT и предназначена для преобразования текста в векторные представления, пригодные для сравнения семантической близости.

Модель ориентирована на семантический поиск и информационный retrieval, reranking, классификацию, кластеризацию, оценку текстовой семантической близости и извлечение признаков. В README заявлен английский язык и приведены результаты на наборах MTEB, включая задачи классификации, поиска, кластеризации, reranking и STS. Архитектура основана на модели класса Mistral с 7 млрд параметров; сведения о поддерживаемых модальностях, размере контекста и точных процедурах инференса не указаны. Сильная сторона — универсальность эмбеддингов для широкого спектра задач обработки текста; ограничения, включая качество на других языках и зависимость результатов от конкретного домена, требуют дополнительной проверки. Лицензия — MIT.

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

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

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

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

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

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

Открыть на Hugging Face

LLM2Vec: Large Language Models Are Secretly Powerful Text Encoders

LLM2Vec is a simple recipe to convert decoder-only LLMs into text encoders. It consists of 3 simple steps: 1) enabling bidirectional attention, 2) masked next token prediction, and 3) unsupervised contrastive learning. The model can be further fine-tuned to achieve state-of-the-art performance.

Installation

pip install llm2vec

Usage

from llm2vec import LLM2Vec

import torch
from transformers import AutoTokenizer, AutoModel, AutoConfig
from peft import PeftModel

# Loading base Mistral model, along with custom code that enables bidirectional connections in decoder-only LLMs. MNTP LoRA weights are merged into the base model.
tokenizer = AutoTokenizer.from_pretrained(
    "McGill-NLP/LLM2Vec-Mistral-7B-Instruct-v2-mntp"
)
config = AutoConfig.from_pretrained(
    "McGill-NLP/LLM2Vec-Mistral-7B-Instruct-v2-mntp", trust_remote_code=True
)
model = AutoModel.from_pretrained(
    "McGill-NLP/LLM2Vec-Mistral-7B-Instruct-v2-mntp",
    trust_remote_code=True,
    config=config,
    torch_dtype=torch.bfloat16,
    device_map="cuda" if torch.cuda.is_available() else "cpu",
)
model = PeftModel.from_pretrained(
    model,
    "McGill-NLP/LLM2Vec-Mistral-7B-Instruct-v2-mntp",
)
model = model.merge_and_unload()  # This can take several minutes on cpu

# Loading unsupervised SimCSE model. This loads the trained LoRA weights on top of MNTP model. Hence the final weights are -- Base model + MNTP (LoRA) + SimCSE (LoRA).
model = PeftModel.from_pretrained(
    model, "McGill-NLP/LLM2Vec-Mistral-7B-Instruct-v2-mntp-unsup-simcse"
)

# Wrapper for encoding and pooling operations
l2v = LLM2Vec(model, tokenizer, pooling_mode="mean", max_length=512)

# Encoding queries using instructions
instruction = (
    "Given a web search query, retrieve relevant passages that answer the query:"
)
queries = [
    [instruction, "how much protein should a female eat"],
    [instruction, "summit define"],
]
q_reps = l2v.encode(queries)

# Encoding documents. Instruction are not required for documents
documents = [
    "As a general guideline, the CDC's average requirement of protein for women ages 19 to 70 is 46 grams per day. But, as you can see from this chart, you'll need to increase that if you're expecting or training for a marathon. Check out the chart below to see how much protein you should be eating each day.",
    "Definition of summit for English Language Learners. : 1  the highest point of a mountain : the top of a mountain. : 2  the highest level. : 3  a meeting or series of meetings between the leaders of two or more governments.",
]
d_reps = l2v.encode(documents)

# Compute cosine similarity
q_reps_norm = torch.nn.functional.normalize(q_reps, p=2, dim=1)
d_reps_norm = torch.nn.functional.normalize(d_reps, p=2, dim=1)
cos_sim = torch.mm(q_reps_norm, d_reps_norm.transpose(0, 1))

print(cos_sim)
"""
tensor([[0.6175, 0.2535],
        [0.2298, 0.5792]])
"""

Questions

If you have any question about the code, feel free to email Parishad (parishad.behnamghader@mila.quebec) and Vaibhav (vaibhav.adlakha@mila.quebec).

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

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

GPU в ailist

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

Нельзя запустить

Репозиторий содержит только адаптер (LoRA/PEFT) без базовой модели.

Ревизия весов
2c055a5

0 моделей