/ Модель

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

Контекст
4 096 токенов
Параметры
137 млн
Лицензия
MIT
Архитектура
bert · dense
Опубликована
28 мар 2024

e5-base-4k

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

E5-base-4k — англоязычная модель эмбеддингов BERT для семантического поиска по длинным текстам с контекстом до 4096 токенов.

8 964скачиваний за 30 дней14лайковвеса обновлены14 мая 2024

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

  • MIRACLRetrievalHardNegatives

    main_score

    Результат

    0,1233

    MTEB

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

  • PublicHealthQA

    main_score

    Результат

    0,1264

    MTEB

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

  • Tatoeba

    main_score

    Результат

    0,0705

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

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

  • TenKGnadClusteringP2P

    main_score

    Результат

    0,3697

    MTEB

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

  • IndicGenBenchFloresBitextMining

    main_score

    Результат

    0,0755

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

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

  • KurdishSentimentClassification

    main_score

    Результат

    0,5793

    MTEB

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

  • SIB200ClusteringS2S

    main_score

    Результат

    0,0856

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

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

  • MIRACLRetrieval

    main_score

    Результат

    0,0002

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

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

  • MasakhaNEWSClusteringS2S

    main_score

    Результат

    0,4967

    MTEB

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

  • RARbMath

    main_score

    Результат

    0,6052

    MTEB

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

  • TweetSentimentClassification

    main_score

    Результат

    0,4125

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

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

  • NorwegianCourtsBitextMining

    main_score

    Результат

    0,9137

    MTEB

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

  • MultiEURLEXMultilabelClassification

    main_score

    Результат

    0,0113

    MTEB

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

  • MIRACLReranking

    main_score

    Результат

    0,0734

    MTEB

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

  • MLQARetrieval

    main_score

    Результат

    0,6704

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

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

  • AlloProfClusteringS2S.v2

    main_score

    Результат

    0,3129

    MTEB

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

  • NusaParagraphEmotionClassification

    main_score

    Результат

    0,2804

    MTEB

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

  • MLSUMClusteringS2S

    main_score

    Результат

    0,4162

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

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

  • MassiveScenarioClassification

    main_score

    Результат

    0,3179

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

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

  • MassiveIntentClassification

    main_score

    Результат

    0,4603

    MTEB

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

  • AfriSentiClassification

    main_score

    Результат

    0,3276

    MTEB

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

  • GerDaLIR

    main_score

    Результат

    0,0499

    MTEB

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

  • WikipediaRerankingMultilingual

    main_score

    Результат

    0,6366

    MTEB

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

  • MultiHateClassification

    main_score

    Результат

    0,5517

    MTEB

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

  • IndicCrosslingualSTS

    main_score

    Результат

    0,1113

    MTEB

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

  • TempReasonL1

    main_score

    Результат

    0,0147

    MTEB

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

  • PawsXPairClassification

    main_score

    Результат

    0,5538

    MTEB

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

  • RuBQRetrieval

    main_score

    Результат

    0,0312

    MTEB

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

  • XNLI

    main_score

    Результат

    0,5626

    MTEB

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

  • ARCChallenge

    main_score

    Результат

    0,0769

    MTEB

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

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

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

E5-base-4k — модель для получения векторных представлений текстов, представленная в работе LongEmbed: Extending Embedding Models for Long Context Retrieval. Авторы — Dawei Zhu, Liang Wang, Nan Yang, Yifan Song, Wenhao Wu, Furu Wei и Sujian Li. Модель предназначена для поиска и сопоставления запросов с длинными текстовыми фрагментами, в том числе в задачах retrieval.

Это плотная модель семейства BERT с 12 слоями и размерностью эмбеддинга 768. Она содержит 136,7 млн параметров, принимает текст и поддерживает контекст до 4096 токенов. Репозиторий содержит веса PyTorch; карточка указывает английский язык. Модель можно применять для поиска по коллекциям документов и семантического сравнения текстов.

В README приведены примеры кодирования запросов и пассажей из MS MARCO, а оценку предлагают воспроизводить на наборах BEIR и MTEB. Лицензия — MIT. Карточка не сообщает о других языках или ограничениях качества; практические результаты следует оценивать на данных целевого поиска.

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

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

Ограничения

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

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

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

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

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

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

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

Открыть на Hugging Face

E5-base-4k

LongEmbed: Extending Embedding Models for Long Context Retrieval. Dawei Zhu, Liang Wang, Nan Yang, Yifan Song, Wenhao Wu, Furu Wei, Sujian Li, arxiv 2024. Github Repo for LongEmbed: https://github.com/dwzhu-pku/LongEmbed.

This model has 12 layers and the embedding size is 768.

Usage

Below is an example to encode queries and passages from the MS-MARCO passage ranking dataset.

import torch
import torch.nn.functional as F

from torch import Tensor
from transformers import AutoTokenizer, AutoModel


def average_pool(last_hidden_states: Tensor,
                 attention_mask: Tensor) -> Tensor:
    last_hidden = last_hidden_states.masked_fill(~attention_mask[..., None].bool(), 0.0)
    return last_hidden.sum(dim=1) / attention_mask.sum(dim=1)[..., None]

def get_position_ids(input_ids: Tensor, max_original_positions: int=512, encode_max_length: int=4096) -> Tensor:

    position_ids = list(range(input_ids.size(1)))
    factor = max(encode_max_length // max_original_positions, 1)
    if input_ids.size(1) <= max_original_positions:
        position_ids = [(pid * factor) for pid in position_ids]
        
    position_ids = torch.tensor(position_ids, dtype=torch.long)
    position_ids = position_ids.unsqueeze(0).expand_as(input_ids)
    
    return position_ids

# Each input text should start with "query: " or "passage: ".
# For tasks other than retrieval, you can simply use the "query: " prefix.
input_texts = ['query: how much protein should a female eat',
               'query: summit define',
               "passage: 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.",
               "passage: 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."]

tokenizer = AutoTokenizer.from_pretrained('dwzhu/e5-base-4k')
model = AutoModel.from_pretrained('dwzhu/e5-base-4k')

# Tokenize the input texts
batch_dict = tokenizer(input_texts, max_length=4096, padding=True, truncation=True, return_tensors='pt')
batch_dict['position_ids'] = get_position_ids(batch_dict['input_ids'], max_original_positions=512, encode_max_length=4096)

outputs = model(**batch_dict)
embeddings = average_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())

Training Details

Please refer to our paper at https://arxiv.org/abs/2404.12096.pdf. Note that E5-Base-4k simply expands the position embedding matrix to allow for 4,096 position ids. The embedding vectors for the original pids {0,1,2,...,511} is mapped to represent {0,8,16,...,4088}. Embedding vectors for other pids are trained. So for inputs not exceeding 512 tokens, please multiply the position ids by 8 to maintain the original behavior, as shown in the code above.

Benchmark Evaluation

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

Citation

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

@article{zhu2024longembed,
  title={LongEmbed: Extending Embedding Models for Long Context Retrieval},
  author={Zhu, Dawei and Wang, Liang and Yang, Nan and Song, Yifan and Wu, Wenhao and Wei, Furu and Li, Sujian},
  journal={arXiv preprint arXiv:2404.12096},
  year={2024}
}

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
BertModel
Ревизия весов
1b5664b

0 моделей