/ Модель

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

Контекст
8 192 токена
Параметры
137 млн
Лицензия
Apache 2.0
Архитектура
new · dense
Библиотека
transformers
Опубликована
20 апр 2024

gte-base-en-v1.5

Заполнение пропусковТекст → текст11 профессий

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

458 тыс.скачиваний за 30 дней72лайкавеса обновлены15 ноя 2024

Бенчмарки

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

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

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

  • EPBench

    main_score

    Результат

    0,672

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

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

  • RedditClusteringP2P

    main_score

    Результат

    0,6687

    MTEB

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

  • MemGovern

    main_score

    Результат

    0,8067

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

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

  • STS16

    main_score

    Результат

    0,8502

    MTEB

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

  • NovelQA

    main_score

    Результат

    0,3418

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

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

  • KnowMeBench

    main_score

    Результат

    0,3277

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

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

  • LooGLE

    main_score

    Результат

    0,3922

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

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

  • MemBench

    main_score

    Результат

    0,6962

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

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

  • STS22

    main_score

    Результат

    0,6863

    MTEB

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

  • CUREv1

    main_score

    Результат

    0,2441

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

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

  • LoCoMo

    main_score

    Результат

    0,4376

    MTEB

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

  • SummEval

    main_score

    Результат

    0,3117

    MTEB

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

  • French1Retrieval

    main_score

    Результат

    0,7248

    MTEB

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

  • MIRACLRetrievalHardNegatives

    main_score

    Результат

    0,1332

    MTEB

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

  • RedditClustering

    main_score

    Результат

    0,5861

    MTEB

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

  • ClimateFEVER

    main_score

    Результат

    0,4036

    MTEB

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

  • EnglishHealthcare1Retrieval

    main_score

    Результат

    0,5798

    MTEB

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

  • DeepPlanning

    main_score

    Результат

    0,4564

    MTEB

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

  • SciFact

    main_score

    Результат

    0,7677

    MTEB

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

  • AppsRetrieval

    main_score

    Результат

    0,0533

    MTEB

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

  • BIOSSES

    main_score

    Результат

    0,8365

    MTEB

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

  • ReMe

    main_score

    Результат

    0,6321

    MTEB

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

  • SCIDOCS

    main_score

    Результат

    0,2192

    MTEB

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

  • MBPPRetrieval

    main_score

    Результат

    0,7175

    MTEB

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

  • STS13

    main_score

    Результат

    0,8471

    MTEB

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

  • German1Retrieval

    main_score

    Результат

    0,5686

    MTEB

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

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

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

gte-base-en-v1.5 — англоязычная модель текстовых эмбеддингов, разработанная Institute for Intelligent Computing группы Alibaba. Она построена на энкодерной архитектуре transformer++ (BERT с RoPE и GLU) и содержит 136,7 млн параметров. Модель кодирует текст в векторы размерности 768 и поддерживает последовательности длиной до 8192 токенов.

Модель предназначена для поиска и сравнения текстов, семантической близости предложений и извлечения релевантных документов, в том числе в длинном контексте. По данным карточки, серия gte-v1.5 показывает высокие результаты на англоязычном бенчмарке MTEB для своего размерного класса и конкурентоспособные результаты в тестах длинноконтекстного поиска LoCo. Модель принимает текст и выдаёт векторы; это не генеративная модель.

Доступна по лицензии Apache-2.0. В карточке приведены оценки на бенчмарках; они не гарантируют аналогичного качества на конкретных данных и сценариях.

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

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

Ограничения

Модель рассчитана на английский язык и возвращает векторы, а не готовые текстовые ответы. Результаты бенчмарков из карточки не гарантируют качество для конкретного набора данных.

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

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

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

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

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

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

Открыть на Hugging Face

gte-base-en-v1.5

We introduce gte-v1.5 series, upgraded gte embeddings that support the context length of up to 8192, while further enhancing model performance. The models are built upon the transformer++ encoder backbone (BERT + RoPE + GLU).

The gte-v1.5 series achieve state-of-the-art scores on the MTEB benchmark within the same model size category and prodvide competitive on the LoCo long-context retrieval tests (refer to Evaluation).

We also present the gte-Qwen1.5-7B-instruct, a SOTA instruction-tuned multi-lingual embedding model that ranked 2nd in MTEB and 1st in C-MTEB.

Model list

ModelsLanguageModel SizeMax Seq. LengthDimensionMTEB-enLoCo
gte-Qwen1.5-7B-instructMultiple772032768409667.3487.57
gte-large-en-v1.5English4348192102465.3986.71
gte-base-en-v1.5English137819276864.1187.44

How to Get Started with the Model

Use the code below to get started with the model.

# Requires transformers>=4.36.0

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

input_texts = [
    "what is the capital of China?",
    "how to implement quick sort in python?",
    "Beijing",
    "sorting algorithms"
]

model_path = 'Alibaba-NLP/gte-base-en-v1.5'
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModel.from_pretrained(model_path, trust_remote_code=True)

# Tokenize the input texts
batch_dict = tokenizer(input_texts, max_length=8192, padding=True, truncation=True, return_tensors='pt')

outputs = model(**batch_dict)
embeddings = outputs.last_hidden_state[:, 0]
 
# (Optionally) normalize embeddings
embeddings = F.normalize(embeddings, p=2, dim=1)
scores = (embeddings[:1] @ embeddings[1:].T) * 100
print(scores.tolist())

It is recommended to install xformers and enable unpadding for acceleration, refer to enable-unpadding-and-xformers.

Use with sentence-transformers:

# Requires sentence_transformers>=2.7.0

from sentence_transformers import SentenceTransformer
from sentence_transformers.util import cos_sim

sentences = ['That is a happy person', 'That is a very happy person']

model = SentenceTransformer('Alibaba-NLP/gte-base-en-v1.5', trust_remote_code=True)
embeddings = model.encode(sentences)
print(cos_sim(embeddings[0], embeddings[1]))

Use with transformers.js:

// npm i @xenova/transformers
import { pipeline, dot } from '@xenova/transformers';

// Create feature extraction pipeline
const extractor = await pipeline('feature-extraction', 'Alibaba-NLP/gte-base-en-v1.5', {
    quantized: false, // Comment out this line to use the quantized version
});

// Generate sentence embeddings
const sentences = [
    "what is the capital of China?",
    "how to implement quick sort in python?",
    "Beijing",
    "sorting algorithms"
]
const output = await extractor(sentences, { normalize: true, pooling: 'cls' });

// Compute similarity scores
const [source_embeddings, ...document_embeddings ] = output.tolist();
const similarities = document_embeddings.map(x => 100 * dot(source_embeddings, x));
console.log(similarities); // [34.504930869007296, 64.03973265120138, 19.520042686034362]

Use with infinity: Infinity is a MIT licensed server for OpenAI-compatible deployment.

docker run --gpus all -v $PWD/data:/app/.cache -p "7997":"7997" \
michaelf34/infinity:0.0.68 \
v2 --model-id Alibaba-NLP/gte-base-en-v1.5 --revision "4c742dc2b781e4ab062a4a77f4f7cbad4bdee970" --dtype bfloat16 --batch-size 32 --device cuda --engine torch --port 7997

Training Details

Training Data

  • Masked language modeling (MLM): c4-en
  • Weak-supervised contrastive pre-training (CPT): GTE pre-training data
  • Supervised contrastive fine-tuning: GTE fine-tuning data

Training Procedure

To enable the backbone model to support a context length of 8192, we adopted a multi-stage training strategy. The model first undergoes preliminary MLM pre-training on shorter lengths. And then, we resample the data, reducing the proportion of short texts, and continue the MLM pre-training.

The entire training process is as follows:

  • MLM-2048: lr 5e-4, mlm_probability 0.3, batch_size 4096, num_steps 70000, rope_base 10000
  • MLM-8192: lr 5e-5, mlm_probability 0.3, batch_size 1024, num_steps 20000, rope_base 500000
  • CPT: max_len 512, lr 2e-4, batch_size 32768, num_steps 100000
  • Fine-tuning: TODO

Evaluation

MTEB

The results of other models are retrieved from MTEB leaderboard.

The gte evaluation setting: mteb==1.2.0, fp16 auto mix precision, max_length=8192, and set ntk scaling factor to 2 (equivalent to rope_base * 2).

Model NameParam Size (M)DimensionSequence LengthAverage (56)Class. (12)Clust. (11)Pair Class. (3)Reran. (4)Retr. (15)STS (10)Summ. (1)
gte-large-en-v1.54341024819265.3977.7547.9584.6358.5057.9181.4330.91
mxbai-embed-large-v1335102451264.6875.6446.7187.260.1154.398532.71
multilingual-e5-large-instruct560102451464.4177.5647.186.1958.5852.4784.7830.39
bge-large-en-v1.5335102451264.2375.9746.0887.1260.0354.2983.1131.61
gte-base-en-v1.5137768819264.1177.1746.8285.3357.6654.0981.9731.17
bge-base-en-v1.510976851263.5575.5345.7786.5558.8653.2582.431.07

LoCo

Model NameDimensionSequence LengthAverage (5)QsmsumRetrievalSummScreenRetrievalQasperAbastractRetrievalQasperTitleRetrievalGovReportRetrieval
gte-qwen1.5-7b40963276887.5749.3793.1099.6797.5498.21
gte-large-v1.51024819286.7144.5592.6199.8297.8198.74
gte-base-v1.5768819287.4449.9191.7899.8297.1398.58

Citation

If you find our paper or models helpful, please consider citing them as follows:

@misc{zhang2024mgte,
  title={mGTE: Generalized Long-Context Text Representation and Reranking Models for Multilingual Text Retrieval}, 
  author={Xin Zhang and Yanzhao Zhang and Dingkun Long and Wen Xie and Ziqi Dai and Jialong Tang and Huan Lin and Baosong Yang and Pengjun Xie and Fei Huang and Meishan Zhang and Wenjie Li and Min Zhang},
  year={2024},
  eprint={2407.19669},
  archivePrefix={arXiv},
  primaryClass={cs.CL},
  url={https://arxiv.org/abs/2407.19669}, 
}
@misc{li2023gte,
  title={Towards General Text Embeddings with Multi-stage Contrastive Learning}, 
  author={Zehan Li and Xin Zhang and Yanzhao Zhang and Dingkun Long and Pengjun Xie and Meishan Zhang},
  year={2023},
  eprint={2308.03281},
  archivePrefix={arXiv},
  primaryClass={cs.CL},
  url={https://arxiv.org/abs/2308.03281}, 
}

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей