/ Модель

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

Контекст
512 токенов
Параметры
124 млн
Архитектура
bert · dense
Опубликована
26 окт 2023

ALL_679283

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

Модель Sentence-Transformers на базе BERT преобразует предложения и абзацы в векторы для семантического поиска, сравнения и кластеризации.

108скачиваний за 30 дней0лайковвеса обновлены26 окт 2023

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

В подключённых источниках результатов для этой модели пока нет.

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

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

thtang/ALL_679283 — модель Sentence-Transformers на архитектуре BERT для преобразования предложений и абзацев в плотные векторы размерности 384. Её можно применять для поиска семантически близких текстов и кластеризации; README также приводит результаты оценки на наборе Sentence Embeddings Benchmark.

Модель принимает текст и выдаёт векторные представления, которые можно сравнивать для оценки сходства или использовать в поисковом и кластеризационном конвейерах. Общее число параметров — 124,3 млн, длина контекста — 512 токенов. В README не указана лицензия или целевой язык, поэтому их нельзя подтвердить по доступным сведениям.

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

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

Ограничения

Векторные представления имеют размерность 384, а контекст ограничен 512 токенами. Языковая поддержка и лицензия в доступных сведениях не определены.

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

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

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

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

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

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

Открыть на Hugging Face

{MODEL_NAME}

This is a sentence-transformers model: It maps sentences & paragraphs to a 384 dimensional dense vector space and can be used for tasks like clustering or semantic search.

Usage (Sentence-Transformers)

Using this model becomes easy when you have sentence-transformers installed:

pip install -U sentence-transformers

Then you can use the model like this:

from sentence_transformers import SentenceTransformer
sentences = ["This is an example sentence", "Each sentence is converted"]

model = SentenceTransformer('{MODEL_NAME}')
embeddings = model.encode(sentences)
print(embeddings)

Usage (HuggingFace Transformers)

Without sentence-transformers, you can use the model like this: First, you pass your input through the transformer model, then you have to apply the right pooling-operation on-top of the contextualized word embeddings.

from transformers import AutoTokenizer, AutoModel
import torch


#Mean Pooling - Take attention mask into account for correct averaging
def mean_pooling(model_output, attention_mask):
    token_embeddings = model_output[0] #First element of model_output contains all token embeddings
    input_mask_expanded = attention_mask.unsqueeze(-1).expand(token_embeddings.size()).float()
    return torch.sum(token_embeddings * input_mask_expanded, 1) / torch.clamp(input_mask_expanded.sum(1), min=1e-9)


# Sentences we want sentence embeddings for
sentences = ['This is an example sentence', 'Each sentence is converted']

# Load model from HuggingFace Hub
tokenizer = AutoTokenizer.from_pretrained('{MODEL_NAME}')
model = AutoModel.from_pretrained('{MODEL_NAME}')

# Tokenize sentences
encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt')

# Compute token embeddings
with torch.no_grad():
    model_output = model(**encoded_input)

# Perform pooling. In this case, mean pooling.
sentence_embeddings = mean_pooling(model_output, encoded_input['attention_mask'])

print("Sentence embeddings:")
print(sentence_embeddings)

Evaluation Results

For an automated evaluation of this model, see the Sentence Embeddings Benchmark: https://seb.sbert.net

ModelAvgid_raw_accvn_raw_accbr_raw_accth_raw_accmy_raw_accph_raw_accsg_raw_acc
thtang_ALL_67928366.3972.3761.856.9465.2769.7169.2169.44
thtang_ALL_66092466.4472.6361.7457.2265.4469.7769.0669.23
sentence-transformers_sentence-t5-xxl44.3550.9818.3836.3716.9159.2564.8263.75
sentence-transformers_gtr-t5-xxl46.6859.9324.8240.7917.2358.4164.061.57
sentence-transformers_LaBSE45.6850.332.8233.1539.7954.9553.7155.06
sentence-transformers_all-MiniLM-L6-v241.9750.825.7627.0415.8154.6360.0759.68
sentence-transformers_all-mpnet-base-v240.0946.9723.1524.7516.3152.6659.0757.75
sentence-transformers_all-MiniLM-L12-v241.2848.9824.0525.7416.4154.5160.3858.9
sentence-transformers_paraphrase-MiniLM-L6-v239.1244.9223.5926.1214.2351.8457.1456.03
sentence-transformers_paraphrase-mpnet-base-v239.746.020.4526.9214.7552.8958.7158.2
sentence-transformers_paraphrase-multilingual-MiniLM-L12-v243.7244.8828.3229.4536.453.9756.8756.14
sentence-transformers_paraphrase-multilingual-mpnet-base-v246.1249.0332.5832.8238.4355.357.3657.34
sentence-transformers_all-distilroberta-v139.4646.7422.3424.0617.5951.4957.5456.45
sentence-transformers_distiluse-base-multilingual-cased-v240.5343.5123.8628.4126.953.1453.5454.38
sentence-transformers_clip-ViT-B-32-multilingual-v140.8244.4527.3428.028.2550.354.0553.39
intfloat_e5-large-v245.0755.128.0635.9517.1657.1661.2160.84
intfloat_e5-small-v242.8451.4126.8233.0416.354.9758.6658.68
intfloat_e5-large45.9155.4528.5436.6918.1557.7862.9261.83
intfloat_e5-small43.1451.3127.3632.0516.6655.1560.3959.06
intfloat_multilingual-e5-large49.7652.9942.033.9247.6955.8257.7658.16
intfloat_multilingual-e5-base49.5752.0643.2134.1747.4155.2857.3857.45
intfloat_multilingual-e5-small48.3549.542.6830.9647.4254.4456.4457.04
BAAI_bge-large-en-v1.543.5649.8125.5530.6817.4156.8962.8761.72
BAAI_bge-base-en-v1.543.4251.7324.331.5117.5356.2162.3760.25
BAAI_bge-small-en-v1.543.0751.3725.1629.9916.1356.1761.6961.01
thenlper_gte-large46.3155.128.1633.9618.7359.565.1963.52
thenlper_gte-base45.355.4627.8832.7717.258.0963.6862.03
llmrails_ember-v143.7950.8524.7631.0217.257.6263.0662.04
infgrad_stella-base-en-v244.2352.4226.2430.6118.8156.8463.0361.67

Training

The model was trained with the parameters:

DataLoader:

torch.utils.data.dataloader.DataLoader of length 1468721 with parameters:

{'batch_size': 160, 'sampler': 'torch.utils.data.sampler.RandomSampler', 'batch_sampler': 'torch.utils.data.sampler.BatchSampler'}

Loss:

sentence_transformers.losses.CosineSimilarityLoss.CosineSimilarityLoss

Parameters of the fit()-Method:

{
    "epochs": 1,
    "evaluation_steps": 0,
    "evaluator": "NoneType",
    "max_grad_norm": 1,
    "optimizer_class": "<class 'torch.optim.adamw.AdamW'>",
    "optimizer_params": {
        "lr": 2e-05
    },
    "scheduler": "WarmupLinear",
    "steps_per_epoch": null,
    "warmup_steps": 100,
    "weight_decay": 0.01
}

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 128, 'do_lower_case': False}) with Transformer model: BertModel 
  (1): Pooling({'word_embedding_dimension': 384, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False})
)

Citing & Authors

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей