/ Модель

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

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

distilroberta-base-sentence-transformer-snli

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

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

105скачиваний за 30 дней0лайковвеса обновлены24 авг 2024

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

hcy5561 выпустил англоязычную модель Sentence Transformer, дообученную на SNLI на базе google-bert/bert-base-uncased. Она преобразует предложения и абзацы в плотные векторы размерности 768 и сравнивает их косинусным сходством; модель построена на BERT с усреднением токенных представлений и принимает последовательности длиной до 512 токенов.

Модель подходит для семантического поиска, оценки сходства текстов, поиска перефразировок, кластеризации и извлечения признаков для классификации. Её можно применять для поиска похожих предложений в корпусе или группировки англоязычных текстов по смыслу. Лицензия в предоставленных данных не указана.

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

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

Ограничения

Модель рассчитана на английский язык и ограничивает входную последовательность 512 токенами. Качество за пределами сценариев сходства предложений, представленных обучающим набором SNLI, в предоставленных данных не оценено.

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

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

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

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

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

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 stanfordnlp/snli 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 Type: Sentence Transformer
  • Base model: google-bert/bert-base-uncased
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 768 tokens
  • Similarity Function: Cosine Similarity
  • Training Dataset:
  • Language: en

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("hcy5561/distilroberta-base-sentence-transformer-snli")
# Run inference
sentences = [
    'A pilot dressed in a dark-colored sweater is sitting in the cock-pit of a plane with his hands crossed.',
    'A pilot is sitting in his plain with his hands crossed',
    'The boys are playing outside on a log.',
]
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]

Training Details

Training Dataset

stanfordnlp/snli

  • Dataset: stanfordnlp/snli at cdb5c3d
  • Size: 494,430 training samples
  • Columns: premise, hypothesis, and label
  • Approximate statistics based on the first 1000 samples:
    premisehypothesislabel
    typestringstringint
    detailsmin: 6 tokensmean: 16.24 tokensmax: 50 tokensmin: 4 tokensmean: 10.55 tokensmax: 26 tokens0: ~31.10%1: ~33.40%2: ~35.50%
  • Samples:
    premisehypothesislabel
    Two men, one in yellow, are on a wooden boat.Two men swimming in water2
    Two people sleep on a couch.Two people are asleep.0
    a little boy is learning to swim with the help of a float board.The boy is crawling.2
  • Loss: SoftmaxLoss

Evaluation Dataset

stanfordnlp/snli

  • Dataset: stanfordnlp/snli at cdb5c3d
  • Size: 27,468 evaluation samples
  • Columns: premise, hypothesis, and label
  • Approximate statistics based on the first 1000 samples:
    premisehypothesislabel
    typestringstringint
    detailsmin: 6 tokensmean: 16.66 tokensmax: 44 tokensmin: 4 tokensmean: 10.48 tokensmax: 31 tokens0: ~36.10%1: ~31.80%2: ~32.10%
  • Samples:
    premisehypothesislabel
    A taxi cab driver looks stressed out in his car.a taxi driver is stressed0
    Two men do trick in a park.The men only sat on the bench in the park, doing nothing.2
    Two woman walking, the blond is looking at the camera wearing sunglasses making an oh face.One lady makes a shocked face at the camera as the photographer tells the women they are lost.1
  • Loss: SoftmaxLoss

Training Hyperparameters

Non-Default Hyperparameters

  • per_device_train_batch_size: 64
  • per_device_eval_batch_size: 64
  • num_train_epochs: 4
  • warmup_ratio: 0.1
  • batch_sampler: no_duplicates

All Hyperparameters

  • overwrite_output_dir: False
  • do_predict: False
  • prediction_loss_only: True
  • per_device_train_batch_size: 64
  • per_device_eval_batch_size: 64
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: None
  • gradient_accumulation_steps: 1
  • eval_accumulation_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: 4
  • 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
  • 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: False
  • 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}
  • 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
  • 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_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional

Training Logs

EpochStepTraining Lossloss
0.129410000.92080.7448
0.258920000.70950.6462
0.388330000.64150.6199
0.517740000.61250.5940
0.647250000.59350.5672
0.776660000.57480.5550
0.906070000.56540.5506
1.035580000.55240.5376
1.164990000.53860.5319
1.2943100000.51920.5361
1.4238110000.48630.5304
1.5532120000.46870.5278
1.6826130000.45860.5305
1.8121140000.44740.5222
1.9415150000.44470.5237
2.0709160000.4340.5172
2.2004170000.42430.5235
2.3298180000.3980.5224
2.4592190000.37470.5344
2.5887200000.36690.5301
2.7181210000.35830.5406
2.8475220000.34960.5354
2.9770230000.35270.5324
3.1064240000.34190.5299
3.2358250000.33580.5456
3.3653260000.30960.5562
3.4947270000.29640.5644
3.6241280000.29980.5565
3.7536290000.29060.5590
3.8830300000.29230.5564

Framework Versions

  • Python: 3.10.6
  • Sentence Transformers: 3.0.1
  • Transformers: 4.39.3
  • PyTorch: 2.2.2+cu118
  • Accelerate: 0.28.0
  • Datasets: 2.20.0
  • Tokenizers: 0.15.2

Citation

BibTeX

Sentence Transformers and SoftmaxLoss

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

0 моделей