/ Модель

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

Контекст
131 072 токена
Параметры
1,5 млрд
Размер весов
7,1 ГБ
Лицензия
Apache 2.0
Архитектура
qwen2 · dense
Опубликована
29 июн 2024

gte-Qwen2-1.5B-instruct

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

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

463 тыс.скачиваний за 30 дней239лайковвеса обновлены28 мая 2025

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

  • KorSTS

    main_score

    Результат

    0,76

    MTEB

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

  • NoRecClassification

    main_score

    Результат

    0,5425

    MTEB

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

  • XNLI

    main_score

    Результат

    0,8964

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

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

  • LongMemEval

    main_score

    Результат

    0,0312

    MTEB

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

  • MemGovern

    main_score

    Результат

    0,8377

    MTEB

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

  • BUCC.v2

    main_score

    Результат

    0,9897

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

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

  • FilipinoShopeeReviewsClassification

    main_score

    Результат

    0,3583

    MTEB

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

  • MassiveScenarioClassification

    main_score

    Результат

    0,4644

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

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

  • MultiHateClassification

    main_score

    Результат

    0,6347

    MTEB

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

  • ArXivHierarchicalClusteringS2S

    main_score

    Результат

    0,6322

    MTEB

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

  • SIB200ClusteringS2S

    main_score

    Результат

    0,5325

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

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

  • MLQARetrieval

    main_score

    Результат

    0,7356

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

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

  • WebLINXCandidatesReranking

    main_score

    Результат

    0,0602

    MTEB

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

  • MassiveIntentClassification

    main_score

    Результат

    0,378

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

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

  • STS22.v2

    main_score

    Результат

    0,7263

    MTEB

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

  • NusaX-senti

    main_score

    Результат

    0,6323

    MTEB

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

  • NusaParagraphEmotionClassification

    main_score

    Результат

    0,4084

    MTEB

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

  • OpusparcusPC

    main_score

    Результат

    0,9763

    MTEB

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

  • LEMBPasskeyRetrieval

    main_score

    Результат

    0,14

    MTEB

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

  • DiaBlaBitextMining

    main_score

    Результат

    0,8555

    MTEB

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

  • ArguAna

    main_score

    Результат

    0,6972

    MTEB

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

  • XPQARetrieval

    main_score

    Результат

    0,3184

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

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

  • MIRACLRetrievalHardNegatives.v2

    main_score

    Результат

    0

    MTEB

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

  • BlurbsClusteringS2S

    main_score

    Результат

    0,1716

    MTEB

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

  • MLSUMClusteringS2S

    main_score

    Результат

    0,538

    MTEB

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

  • MLSUMClusteringP2P

    main_score

    Результат

    0,4694

    MTEB

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

  • MTOPDomainClassification

    main_score

    Результат

    0,8647

    MTEB

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

  • TMD

    main_score

    Результат

    0,1471

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

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

  • STS22

    main_score

    Результат

    0,8452

    MTEB

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

  • CQADupstackMathematicaRetrieval

    main_score

    Результат

    0,3457

    MTEB

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

  • ArXivHierarchicalClusteringP2P

    main_score

    Результат

    0,6474

    MTEB

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

  • ThuNewsClusteringP2P

    main_score

    Результат

    0,6824

    MTEB

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

  • IndicGenBenchFloresBitextMining

    main_score

    Результат

    0,7949

    MTEB

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

  • indonli

    main_score

    Результат

    0,5952

    MTEB

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

  • MultiEURLEXMultilabelClassification

    main_score

    Результат

    0,0442

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

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

  • JSTS

    main_score

    Результат

    0,8223

    MTEB

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

  • Tatoeba

    main_score

    Результат

    0,1496

    MTEB

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

  • SwednClusteringP2P

    main_score

    Результат

    0,5036

    MTEB

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

  • XQuADRetrieval

    main_score

    Результат

    0,9498

    MTEB

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

  • STSBenchmarkMultilingualSTS

    main_score

    Результат

    0,8159

    MTEB

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

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

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

gte-Qwen2-1.5B-instruct — модель текстовых эмбеддингов из семейства GTE, разработанная Alibaba NLP на базе Qwen2-1.5B. Она преобразует тексты в векторы размерности 1536 и предназначена для поиска по смыслу, сравнения предложений, ранжирования и других задач, использующих текстовые представления. Модель поддерживает инструкции для запросов и обучалась на многоязычных данных из разных областей; в карточке указано контекстное окно 131 072 токена, тогда как README описывает максимальную длину входа 32 000 токенов.

В основе — архитектура Qwen2 с причинной языковой моделью, дополненной двунаправленным механизмом внимания для контекстного представления текста. В README заявлены сценарии для широкого круга языков и задач, но конкретный список языков не приведён. Модель распространяется под лицензией Apache-2.0. Для запуска README указывает зависимости transformers версии 4.39.2 или новее и flash_attn версии 2.5.6 или новее.

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

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

Ограничения

README указывает максимальную длину входа 32 000 токенов, тогда как метаданные каталога задают контекстное окно 131 072 токена; фактический предел может зависеть от конфигурации и способа использования. Конкретные поддерживаемые языки и сравнительные показатели качества в доступном тексте не перечислены.

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

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

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

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

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

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

Открыть на Hugging Face

gte-Qwen2-1.5B-instruct

gte-Qwen2-1.5B-instruct is the latest model in the gte (General Text Embedding) model family. The model is built on Qwen2-1.5B LLM model and use the same training data and strategies as the gte-Qwen2-7B-instruct model.

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.

Model Information

  • Model Size: 1.5B
  • Embedding Dimension: 1536
  • 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-Qwen2-1.5B-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())

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-Qwen2-1.5B-instruct', trust_remote_code=True)
model = AutoModel.from_pretrained('Alibaba-NLP/gte-Qwen2-1.5B-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())

infinity_emb

Usage via infinity, MIT Licensed.

docker run \
--gpus "0" -p "7997":"7997" \
michaelf34/infinity:0.0.68-trt-onnx \
v2 --model-id Alibaba-NLP/gte-Qwen2-1.5B-instruct --revision "refs/pr/20" --dtype bfloat16 --batch-size 16 --device cuda --engine torch --port 7997 --no-bettertransformer

Evaluation

MTEB & C-MTEB

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

Model NameMTEB(56)C-MTEB(35)MTEB-fr(26)MTEB-pl(26)
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--
NV-Embed-v169.32---
gte-Qwen2-7B-instruct70.2472.0568.2567.86
gte-Qwen2-1.5B-instruct67.1667.6566.6064.04

GTE Models

The gte series models have consistently released two types of models: encoder-only models (based on the BERT architecture) and decode-only models (based on the LLM architecture).

ModelsLanguageMax Sequence LengthDimensionModel Size (Memory Usage, fp32)
GTE-large-zhChinese51210241.25GB
GTE-base-zhChinese5125120.41GB
GTE-small-zhChinese5125120.12GB
GTE-largeEnglish51210241.25GB
GTE-baseEnglish5125120.21GB
GTE-smallEnglish5123840.10GB
GTE-large-en-v1.5English819210241.74GB
GTE-base-en-v1.5English81927680.51GB
GTE-Qwen1.5-7B-instructMultilingual32000409626.45GB
GTE-Qwen2-7B-instructMultilingual32000358426.45GB
GTE-Qwen2-1.5B-instructMultilingual3200015366.62GB

Cloud API Services

In addition to the open-source GTE series models, GTE series models are also available as commercial API services on Alibaba Cloud.

  • Embedding Models: Three versions of the text embedding models are available: text-embedding-v1/v2/v3, with v3 being the latest API service.
  • ReRank Models: The gte-rerank model service is available.

Note that the models behind the commercial APIs are not entirely identical to the open-source models.

Community support

Fine-tuning

GTE models can be fine-tuned with a third party framework SWIFT.

pip install ms-swift -U
# check: https://swift.readthedocs.io/en/latest/BestPractices/Embedding.html
nproc_per_node=8
NPROC_PER_NODE=$nproc_per_node \
USE_HF=1 \
swift sft \
    --model Alibaba-NLP/gte-Qwen2-1.5B-instruct \
    --train_type lora \
    --dataset 'sentence-transformers/stsb' \
    --torch_dtype bfloat16 \
    --num_train_epochs 10 \
    --per_device_train_batch_size 2 \
    --per_device_eval_batch_size 1 \
    --gradient_accumulation_steps $(expr 64 / $nproc_per_node) \
    --eval_steps 100 \
    --save_steps 100 \
    --eval_strategy steps \
    --use_chat_template false \
    --save_total_limit 5 \
    --logging_steps 5 \
    --output_dir output \
    --warmup_ratio 0.05 \
    --learning_rate 5e-6 \
    --deepspeed zero3 \
    --dataloader_num_workers 4 \
    --task_type embedding \
    --loss_type cosine_similarity \
    --dataloader_drop_last true

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

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

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

Подбираем GPU…

Класс архитектуры
Qwen2ForCausalLM
Ревизия весов
a9af15a

0 моделей