/ Модель

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

Лицензия
Apache 2.0
Опубликована
20 апр 2024

gte-Qwen1.5-7B-instruct

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

Многоязычная модель Alibaba-NLP, создающая текстовые эмбеддинги для семантического поиска и сравнения предложений.

248скачиваний за 30 дней111лайковвеса обновлены11 янв 2025

Бенчмарки

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

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

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

  • MassiveScenarioClassification

    main_score

    Результат

    0,549

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

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

  • MMarcoRetrieval

    recall_at_100 · выше — лучше

    Результат

    0,9395

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

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

  • MIRACLRetrievalHardNegatives

    main_score

    Результат

    0,2234

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

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

  • StatcanDialogueDatasetRetrieval

    main_score

    Результат

    0,2445

    MTEB

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

  • ArguAna

    precision_at_1 · выше — лучше

    Результат

    0,3641

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

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

  • CQADupstackStatsRetrieval

    mrr_at_10 · выше — лучше

    Результат

    0,3652

    MTEB

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

  • MassiveIntentClassification

    main_score

    Результат

    0,6401

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

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

  • PhincBitextMining

    main_score

    Результат

    0,8163

    MTEB

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

  • MLQARetrieval

    main_score

    Результат

    0,8499

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

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

  • EstonianValenceClassification

    main_score

    Результат

    0,4263

    MTEB

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

  • ClimateFEVER

    recall_at_10 · выше — лучше

    Результат

    0,5045

    MTEB

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

  • Touche2020

    recall_at_100 · выше — лучше

    Результат

    0,4037

    MTEB

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

  • MasakhaNEWSClassification

    main_score

    Результат

    0,668

    MTEB

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

  • MedicalRetrieval

    ndcg_at_1000 · выше — лучше

    Результат

    0,6567

    MTEB

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

  • CUREv1

    main_score

    Результат

    0,4512

    MTEB

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

  • OpusparcusPC

    main_score

    Результат

    0,9494

    MTEB

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

  • VGHierarchicalClusteringS2S

    main_score

    Результат

    0,4225

    MTEB

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

  • FEVER

    map_at_1000 · выше — лучше

    Результат

    0,9112

    MTEB

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

  • CQADupstackAndroidRetrieval

    ndcg_at_100 · выше — лучше

    Результат

    0,5685

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

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

  • NQ

    mrr_at_10 · выше — лучше

    Результат

    0,5742

    MTEB

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

  • SciFact

    map_at_10 · выше — лучше

    Результат

    0,7007

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

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

  • TempReasonL2Pure

    main_score

    Результат

    0,0534

    MTEB

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

  • PublicHealthQA

    main_score

    Результат

    0,8629

    MTEB

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

  • Tatoeba

    main_score

    Результат

    0,9194

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

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

  • CEDRClassification

    main_score

    Результат

    0,5477

    MTEB

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

  • STSBenchmarkMultilingualSTS

    main_score

    Результат

    0,8133

    MTEB

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

  • CQADupstackPhysicsRetrieval

    mrr_at_3 · выше — лучше

    Результат

    0,4966

    MTEB

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

  • Ocnli

    cos_sim.accuracy · выше — лучше

    Результат

    0,8013

    MTEB

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

  • ATEC

    cos_sim.spearman · выше — лучше

    Результат

    0,5546

    MTEB

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

  • NollySentiBitextMining

    main_score

    Результат

    0,1313

    MTEB

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

  • SIB200ClusteringS2S

    main_score

    Результат

    0,4577

    MTEB

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

  • CQADupstackTexRetrieval

    precision_at_1000 · выше — лучше

    Результат

    0,0014

    MTEB

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

  • BrightRetrieval

    main_score

    Результат

    0,1772

    MTEB

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

  • T2Retrieval

    recall_at_100 · выше — лучше

    Результат

    0,9566

    MTEB

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

  • CQADupstackGisRetrieval

    mrr_at_5 · выше — лучше

    Результат

    0,3499

    MTEB

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

  • CQADupstackEnglishRetrieval

    map_at_1 · выше — лучше

    Результат

    0,2785

    MTEB

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

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

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

gte-Qwen1.5-7B-instruct — многоязычная модель эмбеддингов из семейства gte, разработанная Alibaba-NLP на основе языковой модели Qwen1.5-7B. Она преобразует текст в векторы размерности 4096 для поиска семантически похожих предложений и других задач, основанных на сходстве текстов. Модель использует двунаправленное внимание и настройку инструкциями для запросов; обучалась на многоязычном корпусе из разных областей с сочетанием слабой и контролируемой разметки.

Модель содержит 7 млрд параметров и принимает до 32 тыс. токенов. Подходит для семантического поиска, ранжирования кандидатов по смысловой близости и построения систем поиска по текстовым коллекциям. Для запуска README указывает Transformers версии 4.39.2 или новее и flash_attn версии 2.5.6 или новее. Распространяется по лицензии Apache-2.0.

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

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

Ограничения

Модель требует значительных вычислительных ресурсов из-за размера 7 млрд параметров; для запуска README указывает зависимость от flash_attn. Настройка инструкциями применяется только на стороне запроса.

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

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

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

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

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

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

Открыть на Hugging Face

gte-Qwen1.5-7B-instruct

gte-Qwen1.5-7B-instruct is the latest addition to the gte embedding family. This model has been engineered starting from the Qwen1.5-7B LLM, drawing on the robust natural language processing capabilities of the Qwen1.5-7B model. Enhanced through our sophisticated embedding training techniques, the model incorporates several key advancements:

  • Integration of bidirectional attention mechanisms, enriching its contextual understanding.
  • Instruction tuning, applied solely on the query side for streamlined efficiency
  • Comprehensive training across a vast, multilingual text corpus spanning diverse domains and scenarios. This training leverages both weakly supervised and supervised data, ensuring the model's applicability across numerous languages and a wide array of downstream tasks.

We also present gte-base-en-v1.5 and gte-large-en-v1.5, SOTA English embedding models that achieve state-of-the-art scores on the MTEB benchmark within the same model size category and support the context length of up to 8192.

Model Information

  • Model Size: 7B
  • Embedding Dimension: 4096
  • Max Input Tokens: 32k

Requirements

transformers>=4.39.2
flash_attn>=2.5.6

Usage

Sentence Transformers

from sentence_transformers import SentenceTransformer

model = SentenceTransformer("Alibaba-NLP/gte-Qwen1.5-7B-instruct", trust_remote_code=True)
# In case you want to reduce the maximum length:
model.max_seq_length = 8192

queries = [
    "how much protein should a female eat",
    "summit define",
]
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.",
]

query_embeddings = model.encode(queries, prompt_name="query")
document_embeddings = model.encode(documents)

scores = (query_embeddings @ document_embeddings.T) * 100
print(scores.tolist())
# [[70.00668334960938, 8.184843063354492], [14.62419319152832, 77.71407318115234]]

Observe the config_sentence_transformers.json to see all pre-built prompt names. Otherwise, you can use model.encode(queries, prompt="Instruct: ...\nQuery: " to use a custom prompt of your choice.

Transformers

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 much protein should a female eat'),
    get_detailed_instruct(task, 'summit define')
]
# No need to add instruction for retrieval 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."
]
input_texts = queries + documents

tokenizer = AutoTokenizer.from_pretrained('Alibaba-NLP/gte-Qwen1.5-7B-instruct', trust_remote_code=True)
model = AutoModel.from_pretrained('Alibaba-NLP/gte-Qwen1.5-7B-instruct', trust_remote_code=True)

max_length = 8192

# Tokenize the input texts
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())
# [[70.00666809082031, 8.184867858886719], [14.62420654296875, 77.71405792236328]]

Evaluation

MTEB & C-MTEB

You can use the scripts/eval_mteb.py to reproduce the following result of gte-Qwen1.5-7B-instruct on MTEB(English)/C-MTEB(Chinese):

Model NameMTEB(56)C-MTEB(35)
bge-base-en-1.564.23-
bge-large-en-1.563.55-
gte-large-en-v1.565.39-
gte-base-en-v1.564.11-
mxbai-embed-large-v164.68-
acge_text_embedding-69.07
stella-mrl-large-zh-v3.5-1792d]-68.55
gte-large-zh-66.72
multilingual-e5-base59.4556.21
multilingual-e5-large61.5058.81
e5-mistral-7b-instruct66.6360.81
gte-Qwen1.5-7B-instruct67.3469.52

Citation

If you find our paper or models helpful, please consider cite:

@article{li2023towards,
  title={Towards general text embeddings with multi-stage contrastive learning},
  author={Li, Zehan and Zhang, Xin and Zhang, Yanzhao and Long, Dingkun and Xie, Pengjun and Zhang, Meishan},
  journal={arXiv preprint arXiv:2308.03281},
  year={2023}
}

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

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

GPU в ailist

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

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

Доступ к модели ограничен автором; у платформы нет доступа к весам.

Ревизия весов
e2f771b

0 моделей