/ Модель

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

Контекст
2 048 токенов
Параметры
660 млн
Лицензия
BigScience BLOOM RAIL 1.0
Архитектура
bloom · dense
Опубликована
24 окт 2023

udever-bloom-560m

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

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

467скачиваний за 30 дней1лайквеса обновлены7 ноя 2023

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

  • SIB200ClusteringS2S

    main_score

    Результат

    0,0509

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

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

  • MIRACLReranking

    main_score

    Результат

    0,1142

    MTEB

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

  • FloresBitextMining

    Среднее по поднаборам

    Результат

    0,0056

    MTEB

    Расчёт каталогаревизия совпадает

  • Tatoeba

    main_score

    Результат

    0,1072

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

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

  • WikipediaRetrievalMultilingual

    main_score

    Результат

    0,2414

    MTEB

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

  • WikipediaRerankingMultilingual

    main_score

    Результат

    0,567

    MTEB

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

  • Core17InstructionRetrieval

    main_score

    Результат

    −0,0094

    MTEB

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

  • TweetSentimentClassification

    main_score

    Результат

    0,4254

    MTEB

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

  • SwissJudgementClassification

    main_score

    Результат

    0,49

    MTEB

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

  • CMedQAv2-reranking

    main_score

    Результат

    0,3161

    MTEB

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

  • TempReasonL2Pure

    main_score

    Результат

    0,0013

    MTEB

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

  • CQADupstackPhysicsRetrieval

    main_score

    Результат

    0,3887

    MTEB

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

  • TRECCOVID

    main_score

    Результат

    0,7299

    MTEB

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

  • RTE3

    main_score

    Результат

    0,9092

    MTEB

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

  • MLQARetrieval

    main_score

    Результат

    0,1446

    MTEB

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

  • XNLI

    main_score

    Результат

    0,571

    MTEB

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

  • CUREv1

    main_score

    Результат

    0,0136

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

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

  • IndicGenBenchFloresBitextMining

    main_score

    Результат

    0

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

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

  • XPQARetrieval

    main_score

    Результат

    0,0047

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

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

  • BiorxivClusteringS2S

    main_score

    Результат

    0,2865

    MTEB

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

  • MultilingualSentiment

    main_score

    Результат

    0,6317

    MTEB

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

  • SwednClusteringP2P

    main_score

    Результат

    0,0057

    MTEB

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

  • MintakaRetrieval

    main_score

    Результат

    0,0211

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

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

  • MTOPIntentClassification

    fr.f1 · выше — лучше

    Результат

    0,0909

    MTEB

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

  • Ocnli

    main_score

    Результат

    0,6351

    MTEB

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

  • BUCC

    main_score

    Результат

    0,9616

    MTEB

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

  • NusaTranslationBitextMining

    main_score

    Результат

    0,0468

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

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

  • MalayalamNewsClassification

    main_score

    Результат

    0,5871

    MTEB

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

  • MasakhaNEWSClusteringS2S

    main_score

    Результат

    0,4153

    MTEB

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

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

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

udever-bloom-560m — модель для получения текстовых эмбеддингов, разработанная Alibaba Group на основе bigscience/bloom-560m. Это декодерный трансформер семейства BLOOM с 659,6 млн параметров и контекстом до 2048 токенов; модель дообучена методом BitFit на MS MARCO Passage Ranking, SNLI и MultiNLI с контрастивной функцией потерь и трудными отрицательными примерами.

Модель предназначена для представления естественного языка и кода в виде векторов для поиска, сравнения семантической близости, классификации, кластеризации и ранжирования текстов. В карточке заявлена поддержка множества естественных и программных языков; метаданные перечисляют языки, включая английский, китайский, французский, испанский и другие. Репозиторий содержит веса PyTorch и опубликован под лицензией BigScience BLOOM RAIL 1.0. Результаты в README приведены на MTEB и CodeSearchNet, но не дают полной картины качества по всем языкам и сценариям.

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

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

Ограничения

Контекст ограничен 2048 токенами. Приведённые в карточке бенчмарки не подтверждают одинаковое качество для всех заявленных языков и задач.

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

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

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

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

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

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

Открыть на Hugging Face

Model Card for udever-bloom

udever-bloom-560m is finetuned from bigscience/bloom-560m via BitFit on MS MARCO Passage Ranking, SNLI and MultiNLI data. It is a universal embedding model across tasks, natural and programming languages. (From the technical view, udever is merely with some minor improvements to sgpt-bloom)

Model Details

Model Description

Model Sources

Checkpoints

On ModelScope / 魔搭社区: udever-bloom-560m, udever-bloom-1b1, udever-bloom-3b, udever-bloom-7b1

How to Get Started with the Model

Use the code below to get started with the model.

import torch
from transformers import AutoTokenizer, BloomModel

tokenizer = AutoTokenizer.from_pretrained('izhx/udever-bloom-560m')
model = BloomModel.from_pretrained('izhx/udever-bloom-560m')

boq, eoq, bod, eod = '[BOQ]', '[EOQ]', '[BOD]', '[EOD]'
eoq_id, eod_id = tokenizer.convert_tokens_to_ids([eoq, eod])

if tokenizer.padding_side != 'left':
    print('!!!', tokenizer.padding_side)
    tokenizer.padding_side = 'left'


def encode(texts: list, is_query: bool = True, max_length=300):
    bos = boq if is_query else bod
    eos_id = eoq_id if is_query else eod_id
    texts = [bos + t for t in texts]
    encoding = tokenizer(
        texts, truncation=True, max_length=max_length - 1, padding=True
    )
    for ids, mask in zip(encoding['input_ids'], encoding['attention_mask']):
        ids.append(eos_id)
        mask.append(1)
    inputs = tokenizer.pad(encoding, return_tensors='pt')
    with torch.inference_mode():
        outputs = model(**inputs)
        embeds = outputs.last_hidden_state[:, -1]
    return embeds

encode(['I am Bert', 'You are Elmo'])

Training Details

Training Data

Training Procedure

Preprocessing

MS MARCO hard negatives provided by (https://github.com/UKPLab/sentence-transformers/blob/master/examples/training/ms_marco/train_bi-encoder_mnrl.py#L86). Negatives for SNLI and MultiNLI are randomly sampled.

Training Hyperparameters

  • Training regime: tf32, BitFit
  • Batch size: 1024
  • Epochs: 3
  • Optimizer: AdamW
  • Learning rate: 1e-4
  • Scheduler: constant with warmup.
  • Warmup: 0.25 epoch

Evaluation

Table 1: Massive Text Embedding Benchmark MTEB

MTEBAvg.Class.Clust.PairClass.Rerank.Retr.STSSumm.
#Datasets ➡️5612113415101
bge-large-en-v1.564.2375.9746.0887.1260.0354.2983.1131.61
bge-base-en-v1.563.5575.5345.7786.5558.8653.2582.431.07
gte-large63.1373.3346.848559.1352.2283.3531.66
gte-base62.3973.0146.284.5758.6151.1482.331.17
e5-large-v262.2575.2444.4986.0356.6150.5682.0530.19
instructor-xl61.7973.1244.7486.6257.2949.2683.0632.32
instructor-large61.5973.8645.2985.8957.5447.5783.1531.84
e5-base-v261.573.8443.885.7355.9150.2981.0530.28
e5-large61.4273.1443.3385.9456.5349.9982.0630.97
text-embedding-ada-002 (OpenAI API)60.9970.9345.984.8956.3249.2580.9730.8
e5-base60.4472.6342.1185.0955.748.7580.9631.01
SGPT-5.8B-msmarco58.9368.1340.348256.5650.2578.131.46
sgpt-bloom-7b1-msmarco57.5966.1938.9381.955.6548.2277.7433.6
Udever-bloom-560m55.8068.0436.8981.0552.6041.1979.9332.06
Udever-bloom-1b158.2870.1839.1183.1154.2845.2781.5231.10
Udever-bloom-3b59.8671.9140.7484.0654.9047.6782.3730.62
Udever-bloom-7b160.6372.1340.8185.4055.9149.3483.0130.97

Table 2: CodeSearchNet

CodeSearchNetGoRubyPythonJavaJSPHPAvg.
CodeBERT69.370.684.086.874.870.676.0
GraphCodeBERT84.173.287.975.771.172.577.4
cpt-code S97.786.399.894.086.096.793.4
cpt-code M97.585.599.994.486.597.293.5
sgpt-bloom-7b1-msmarco76.7969.2595.6877.9370.3573.4577.24
Udever-bloom-560m75.3866.6796.2378.9969.3973.6976.73
Udever-bloom-1b178.7672.8597.6782.7774.3878.9780.90
Udever-bloom-3b80.6375.4098.0283.8876.1879.6782.29
Udever-bloom-7b179.3776.5998.3884.6877.4980.0382.76

Table 3: Chinese multi-domain retrieval Multi-cpr

E-commerceEntertainment videoMedical
ModelTrainBackboneMRR@10Recall@1kMRR@10Recall@1kMRR@10Recall@1k
BM25--0.2250.8150.2250.7800.1870.482
Doc2Query--0.2390.8260.2380.7940.2100.505
DPR-1In-DomainBERT0.2700.9210.2540.9340.3270.747
DPR-2In-DomainBERT-CT0.2890.9260.2630.9350.3390.769
text-embedding-ada-002GeneralGPT0.1830.8250.1590.7860.2450.593
sgpt-bloom-7b1-msmarcoGeneralBLOOM0.2420.8400.2270.8290.3110.675
Udever-bloom-560mGeneralBLOOM0.1560.8020.1490.7490.2450.571
Udever-bloom-1b1GeneralBLOOM0.2440.8630.2080.8150.2410.557
Udever-bloom-3bGeneralBLOOM0.2670.8710.2280.8360.2880.619
Udever-bloom-7b1GeneralBLOOM0.2960.8890.2670.9070.3430.705

More results refer to paper section 3.

Technical Specifications

Model Architecture and Objective

Compute Infrastructure

  • Nvidia A100 SXM4 80GB.
  • torch 2.0.0, transformers 4.29.2.

Citation

BibTeX:

@article{zhang2023language,
  title={Language Models are Universal Embedders},
  author={Zhang, Xin and Li, Zehan and Zhang, Yanzhao and Long, Dingkun and Xie, Pengjun and Zhang, Meishan and Zhang, Min},
  journal={arXiv preprint arXiv:2310.08232},
  year={2023}
}

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей