/ Модель

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

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

bert-base-uncased-augmentation-indomain-bm25-sts

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

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

108скачиваний за 30 дней2лайкавеса обновлены26 ноя 2024

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Эта модель Sentence Transformers разработана на основе google-bert/bert-base-uncased и дообучена на наборе sentence-transformers/stsb для оценки смыслового сходства предложений. Она кодирует предложения и абзацы в плотные векторы размерностью 768, сравниваемые косинусной близостью; архитектура включает BERT и усреднение токенных представлений. Модель рассчитана на английский язык. В метаданных указан контекст до 512 токенов, а в карточке модели — максимальная длина последовательности 128 токенов.

Подходит для семантического поиска, поиска перефразировок, кластеризации и классификации текста на основе эмбеддингов. В README приведены результаты оценки на STS-test, однако агрегированные показатели могут различаться между таблицами. Лицензия в предоставленных данных не указана.

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

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

Ограничения

Модель ориентирована на английский язык и ограничена максимальной длиной последовательности 128 токенов согласно README; в метаданных при этом указан контекст 512 токенов. Приведённые в карточке результаты оценки различаются между таблицами.

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

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

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

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

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

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

Открыть на Hugging Face

SentenceTransformer based on google-bert/bert-base-uncased

This is a sentence-transformers model finetuned from google-bert/bert-base-uncased on the sentence-transformers/stsb 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

Model Description

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 128, '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("armaniii/bert-base-uncased-augmentation-indomain-bm25-sts")
# Run inference
sentences = [
    'While Queen may refer to both Queen regent (sovereign) or Queen consort, the King has always been the sovereign.',
    'There is a very good reason not to refer to the Queen\'s spouse as "King" - because they aren\'t the King.',
    'A man sitting on the floor in a room is strumming a guitar.',
]
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.8704
spearman_cosine0.8723
pearson_manhattan0.824
spearman_manhattan0.8326
pearson_euclidean0.8243
spearman_euclidean0.8328
pearson_dot0.7561
spearman_dot0.7733
pearson_max0.8704
spearman_max0.8723

Semantic Similarity

MetricValue
pearson_cosine0.8341
spearman_cosine0.8312
pearson_manhattan0.8121
spearman_manhattan0.8103
pearson_euclidean0.8124
spearman_euclidean0.8106
pearson_dot0.6947
spearman_dot0.6858
pearson_max0.8341
spearman_max0.8312

Training Details

Training Dataset

sentence-transformers/stsb

  • Dataset: sentence-transformers/stsb
  • Size: 20,127 training samples
  • Columns: sentence1, sentence2, and score
  • Approximate statistics based on the first 1000 samples:
    sentence1sentence2score
    typestringstringfloat
    detailsmin: 6 tokensmean: 10.0 tokensmax: 28 tokensmin: 5 tokensmean: 9.95 tokensmax: 25 tokensmin: 0.0mean: 0.47max: 1.0
  • Samples:
    sentence1sentence2score
    A plane is taking off.An air plane is taking off.1.0
    A man is playing a large flute.A man is playing a flute.0.76
    A man is spreading shreded cheese on a pizza.A man is spreading shredded cheese on an uncooked pizza.0.76
  • Loss: CosineSimilarityLoss with these parameters:
    {
        "loss_fct": "torch.nn.modules.loss.MSELoss"
    }
    

Evaluation Dataset

sentence-transformers/stsb

  • Dataset: sentence-transformers/stsb
  • Size: 1,500 evaluation samples
  • Columns: sentence1, sentence2, and score
  • Approximate statistics based on the first 1000 samples:
    sentence1sentence2score
    typestringstringfloat
    detailsmin: 5 tokensmean: 15.1 tokensmax: 45 tokensmin: 6 tokensmean: 15.11 tokensmax: 53 tokensmin: 0.0mean: 0.47max: 1.0
  • Samples:
    sentence1sentence2score
    A man with a hard hat is dancing.A man wearing a hard hat is dancing.1.0
    A young child is riding a horse.A child is riding a horse.0.95
    A man is feeding a mouse to a snake.The man is feeding a mouse to the snake.1.0
  • Loss: CosineSimilarityLoss with these parameters:
    {
        "loss_fct": "torch.nn.modules.loss.MSELoss"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • per_device_train_batch_size: 16
  • per_device_eval_batch_size: 16
  • num_train_epochs: 1
  • warmup_ratio: 0.1
  • fp16: True

All Hyperparameters

  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: steps
  • prediction_loss_only: True
  • per_device_train_batch_size: 16
  • per_device_eval_batch_size: 16
  • 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: False
  • 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 Losslosssts-test_spearman_cosine
0.07951000.05260.03900.8215
0.15902000.02180.03350.8415
0.23853000.01860.03100.8561
0.31804000.01660.03410.8479
0.39755000.01760.03130.8503
0.47696000.01550.02810.8652
0.55647000.01480.02700.8656
0.63598000.0140.02770.8669
0.71549000.01490.02860.8694
0.794910000.01250.02810.8724
0.874411000.0130.02850.8694
0.953912000.01270.02690.8723
1.01258--0.8312

Framework Versions

  • Python: 3.9.2
  • Sentence Transformers: 3.0.1
  • Transformers: 4.43.1
  • PyTorch: 2.3.1+cu121
  • Accelerate: 0.34.2
  • Datasets: 2.14.7
  • 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
Ревизия весов
ad2ba03

0 моделей