/ Модель

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

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

udever-bloom-3b

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

Дообученная на задачах ранжирования и семантического сопоставления модель BLOOM-3B для создания эмбеддингов и поиска по текстам и коду.

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

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

  • SIB200ClusteringS2S

    main_score

    Результат

    0,0254

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

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

  • WikipediaRerankingMultilingual

    main_score

    Результат

    0,5369

    MTEB

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

  • DiaBlaBitextMining

    main_score

    Результат

    0,0624

    MTEB

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

  • IndicGenBenchFloresBitextMining

    main_score

    Результат

    0,1183

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

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

  • AfriSentiClassification

    main_score

    Результат

    0,4002

    MTEB

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

  • NusaXBitextMining

    main_score

    Результат

    0,0175

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

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

  • ArXivHierarchicalClusteringP2P

    main_score

    Результат

    0,5797

    MTEB

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

  • MLQARetrieval

    main_score

    Результат

    0,1064

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

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

  • SemRel24STS

    main_score

    Результат

    0,5308

    MTEB

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

  • TweetSentimentClassification

    main_score

    Результат

    0,3949

    MTEB

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

  • MTOPDomainClassification

    main_score

    Результат

    0,8348

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

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

  • MTOPIntentClassification

    main_score

    Результат

    0,5727

    MTEB

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

  • Tatoeba

    main_score

    Результат

    0,4825

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

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

  • MassiveIntentClassification

    main_score

    Результат

    0,4373

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

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

  • StackExchangeClustering.v2

    main_score

    Результат

    0,4566

    MTEB

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

  • CUREv1

    main_score

    Результат

    0,0636

    MTEB

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

  • PublicHealthQA

    main_score

    Результат

    0,6595

    MTEB

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

  • DBPedia

    main_score

    Результат

    0,3454

    MTEB

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

  • XQuADRetrieval

    main_score

    Результат

    0,2824

    MTEB

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

  • IndicCrosslingualSTS

    main_score

    Результат

    −0,0577

    MTEB

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

  • XNLI

    main_score

    Результат

    0,5495

    MTEB

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

  • PoemSentimentClassification

    main_score

    Результат

    0,4171

    MTEB

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

  • NollySentiBitextMining

    main_score

    Результат

    0,384

    MTEB

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

  • SICKFr

    main_score

    Результат

    0,5539

    MTEB

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

  • WikipediaRetrievalMultilingual

    main_score

    Результат

    0,0997

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

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

  • WebLINXCandidatesReranking

    main_score

    Результат

    0,0644

    MTEB

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

  • MewsC16JaClustering

    main_score

    Результат

    0,2677

    MTEB

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

  • MassiveScenarioClassification

    main_score

    Результат

    0,5843

    MTEB

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

  • NLPJournalTitleIntroRetrieval

    main_score

    Результат

    0,156

    MTEB

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

  • STSBenchmarkMultilingualSTS

    main_score

    Результат

    0,3819

    MTEB

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

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

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

Udever-bloom-3b — модель для построения текстовых эмбеддингов, разработанная Alibaba Group на основе decoder-only Transformer BLOOM-3B. Она дообучена методом BitFit на MS MARCO Passage Ranking, SNLI и MultiNLI с контрастивной функцией потерь и трудными отрицательными примерами; авторы описывают её как универсальную модель представлений для естественных и программных языков.

Модель предназначена для поиска и сопоставления текстов, классификации, кластеризации, оценки семантического сходства и ранжирования пассажей. В карточке приведены результаты на MTEB и CodeSearchNet, включая задачи поиска кода. Размер составляет 3,8 млрд параметров, контекст — до 2048 токенов; доступны веса PyTorch. Поддерживаются многочисленные естественные языки и код.

Модель создана на базе bigscience/bloom-3b и распространяется по лицензии bigscience-bloom-rail-1.0. Эмбеддинги и результаты зависят от задачи и языка; приведённые в карточке оценки не гарантируют такого же качества на пользовательских данных.

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

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

Ограничения

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

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

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

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

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

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

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

Открыть на Hugging Face

Model Card for udever-bloom

udever-bloom-3b is finetuned from bigscience/bloom-3b 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

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-3b')
model = BloomModel.from_pretrained('izhx/udever-bloom-3b')

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
Ревизия весов
4edd8af

0 моделей