/ Модель

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

Контекст
512 токенов
Параметры
137 млн
Архитектура
bert · dense
Базовая модель
bert-base-uncased-fineweb100bt-smae
Библиотека
sentence-transformers
Опубликована
17 окт 2024

Starbucks_STS

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

Англоязычная модель BERT создаёт эмбеддинги предложений и абзацев для семантического поиска и сравнения текстов.

120скачиваний за 30 дней2лайкавеса обновлены3 июн 2025

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ielabgroup/Starbucks_STS — модель Sentence Transformers на основе BERT, дообученная командой ielabgroup на наборе all-nli для создания текстовых эмбеддингов. Она преобразует предложения и абзацы в плотные векторы размерностью 768, пригодные для сравнения косинусным сходством. Модель представлена в работе Starbucks: Improved Training for 2D Matryoshka Embeddings и обучалась с использованием Matryoshka-подхода для работы с несколькими размерностями эмбеддингов.

Модель предназначена для оценки семантической близости текстов, семантического поиска, поиска перефразировок, кластеризации и классификации текста. Она принимает текст на английском языке, использует архитектуру BERT с усреднением токенов и поддерживает последовательности до 512 токенов. В README приведён результат Spearman 0,8274 на sts-test для косинусного сходства.

Для работы нужны библиотека Sentence Transformers или совместимый движок эмбеддингов; веса доступны в формате safetensors. Лицензия в предоставленных данных не указана. Модель обучена на англоязычных данных, поэтому её применение к другим языкам не подтверждено.

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

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

Ограничения

Модель рассчитана на английский язык; качество для других языков не подтверждено. Максимальная длина входа составляет 512 токенов.

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

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

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

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

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

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

Открыть на Hugging Face

SentenceTransformer based on ielabgroup/bert-base-uncased-fineweb100bt-matryoshka-mae

This is a sentence-transformers model finetuned from ielabgroup/bert-base-uncased-fineweb100bt-matryoshka-mae on the all-nli dataset. It maps sentences & paragraphs to a 768-dimensional dense vector space and can be used for semantic textual similarity, semantic search, paraphrase mining, text classification, clustering, and more.

Model Details

This model was presented in the paper Starbucks: Improved Training for 2D Matryoshka Embeddings.

Model Description

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: BertModel 
  (1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True})
)

Usage

Direct Usage (Sentence Transformers)

First install the Sentence Transformers library:

pip install -U sentence-transformers

Then you can load this model and run inference.

from sentence_transformers import SentenceTransformer

# Download from the 🤗 Hub
model = SentenceTransformer("ielabgroup/Starbucks_STS")
# Run inference
sentences = [
    'A dog is in the water.',
    'Wet brown dog swims towards camera.',
    'The dog is rolling around in the grass.',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]

# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]

Evaluation

Metrics

Semantic Similarity

MetricValue
pearson_cosine0.817
spearman_cosine0.8274
pearson_manhattan0.8085
spearman_manhattan0.805
pearson_euclidean0.8123
spearman_euclidean0.8093
pearson_dot0.7658
spearman_dot0.7565
pearson_max0.817
spearman_max0.8274

Training Details

Training Dataset

all-nli

  • Dataset: all-nli at d482672
  • Size: 557,850 training samples
  • Columns: anchor, positive, and negative
  • Approximate statistics based on the first 1000 samples:
    anchorpositivenegative
    typestringstringstring
    detailsmin: 7 tokensmean: 10.46 tokensmax: 46 tokensmin: 6 tokensmean: 12.81 tokensmax: 40 tokensmin: 5 tokensmean: 13.4 tokensmax: 50 tokens
  • Samples:
    anchorpositivenegative
    A person on a horse jumps over a broken down airplane.A person is outdoors, on a horse.A person is at a diner, ordering an omelette.
    Children smiling and waving at cameraThere are children presentThe kids are frowning
    A boy is jumping on skateboard in the middle of a red bridge.The boy does a skateboarding trick.The boy skates down the sidewalk.
  • Loss: starbucks_loss.StarbucksLoss with these parameters:
    {
        "loss": "MatryoshkaLoss",
        "n_selections_per_step": -1,
        "last_layer_weight": 1.0,
        "prior_layers_weight": 1.0,
        "kl_div_weight": 1.0,
        "kl_temperature": 0.3,
        "matryoshka_layers": [
            1,
            3,
            5,
            7,
            9,
            11
        ],
        "matryoshka_dims": [
            32,
            64,
            128,
            256,
            512,
            768
        ]
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • per_device_train_batch_size: 128
  • per_device_eval_batch_size: 128
  • num_train_epochs: 1
  • warmup_ratio: 0.1
  • fp16: True
  • gradient_checkpointing: True

All Hyperparameters

  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: no
  • prediction_loss_only: True
  • per_device_train_batch_size: 128
  • per_device_eval_batch_size: 128
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: None
  • gradient_accumulation_steps: 1
  • eval_accumulation_steps: None
  • torch_empty_cache_steps: None
  • learning_rate: 5e-05
  • weight_decay: 0.0
  • adam_beta1: 0.9
  • adam_beta2: 0.999
  • adam_epsilon: 1e-08
  • max_grad_norm: 1.0
  • num_train_epochs: 1
  • max_steps: -1
  • lr_scheduler_type: linear
  • lr_scheduler_kwargs: {}
  • warmup_ratio: 0.1
  • warmup_steps: 0
  • log_level: passive
  • log_level_replica: warning
  • log_on_each_node: True
  • logging_nan_inf_filter: True
  • save_safetensors: True
  • save_on_each_node: False
  • save_only_model: False
  • restore_callback_states_from_checkpoint: False
  • no_cuda: False
  • use_cpu: False
  • use_mps_device: False
  • seed: 42
  • data_seed: None
  • jit_mode_eval: False
  • use_ipex: False
  • bf16: False
  • fp16: True
  • fp16_opt_level: O1
  • half_precision_backend: auto
  • bf16_full_eval: False
  • fp16_full_eval: False
  • tf32: None
  • local_rank: 0
  • ddp_backend: None
  • tpu_num_cores: None
  • tpu_metrics_debug: False
  • debug: []
  • dataloader_drop_last: False
  • dataloader_num_workers: 0
  • dataloader_prefetch_factor: None
  • past_index: -1
  • disable_tqdm: False
  • remove_unused_columns: True
  • label_names: None
  • load_best_model_at_end: False
  • ignore_data_skip: False
  • fsdp: []
  • fsdp_min_num_params: 0
  • fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}
  • fsdp_transformer_layer_cls_to_wrap: None
  • accelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}
  • deepspeed: None
  • label_smoothing_factor: 0.0
  • optim: adamw_torch
  • optim_args: None
  • adafactor: False
  • group_by_length: False
  • length_column_name: length
  • ddp_find_unused_parameters: None
  • ddp_bucket_cap_mb: None
  • ddp_broadcast_buffers: False
  • dataloader_pin_memory: True
  • dataloader_persistent_workers: False
  • skip_memory_metrics: True
  • use_legacy_prediction_loop: False
  • push_to_hub: False
  • resume_from_checkpoint: None
  • hub_model_id: None
  • hub_strategy: every_save
  • hub_private_repo: False
  • hub_always_push: False
  • gradient_checkpointing: True
  • gradient_checkpointing_kwargs: None
  • include_inputs_for_metrics: False
  • eval_do_concat_batches: True
  • fp16_backend: auto
  • push_to_hub_model_id: None
  • push_to_hub_organization: None
  • mp_parameters:
  • auto_find_batch_size: False
  • full_determinism: False
  • torchdynamo: None
  • ray_scope: last
  • ddp_timeout: 1800
  • torch_compile: False
  • torch_compile_backend: None
  • torch_compile_mode: None
  • dispatch_batches: None
  • split_batches: None
  • include_tokens_per_second: False
  • include_num_input_tokens_seen: False
  • neftune_noise_alpha: None
  • optim_target_modules: None
  • batch_eval_metrics: False
  • eval_on_start: False
  • eval_use_gather_object: False
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: proportional

Training Logs

EpochStepTraining Losssts-test_spearman_cosine
0.022910016.7727-
0.04592009.653-
0.06883008.3187-
0.09184007.748-
0.11475007.2587-
0.13766006.734-
0.16067006.4463-
0.18358006.299-
0.20659005.9946-
0.229410005.9348-
0.252411005.7723-
0.275312005.5822-
0.298213005.4233-
0.321214005.3427-
0.344115005.3132-
0.367116005.3149-
0.390017005.3007-
0.412918004.9539-
0.435919004.9308-
0.458820004.8171-
0.481821005.0181-
0.504722004.9631-
0.527623004.8125-
0.550624004.7133-
0.573525004.5809-
0.596526004.6093-
0.619427004.6723-
0.642328004.5526-
0.665329004.4967-
0.688230004.4178-
0.711231004.4333-
0.734132004.3289-
0.757133004.5199-
0.780034004.3389-
0.802935004.3394-
0.825936004.2423-
0.848837004.3219-
0.871838004.3297-
0.894739004.3132-
0.917640004.2616-
0.940641004.2233-
0.963542004.1912-
0.986543004.1838-
1.04359-0.8274

Framework Versions

  • Python: 3.10.13
  • Sentence Transformers: 3.1.1
  • Transformers: 4.44.2
  • PyTorch: 2.4.1+cu121
  • Accelerate: 0.33.0
  • Datasets: 2.21.0
  • Tokenizers: 0.19.1

Citation

BibTeX

Sentence Transformers

@inproceedings{reimers-2019-sentence-bert,
    title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks",
    author = "Reimers, Nils and Gurevych, Iryna",
    booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing",
    month = "11",
    year = "2019",
    publisher = "Association for Computational Linguistics",
    url = "https://arxiv.org/abs/1908.10084",
}

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей