/ Модель

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

Контекст
512 токенов
Параметры
25,9 млн
Архитектура
bert · dense
Базовая модель
all-MiniLM-L6-v2
Библиотека
sentence-transformers
Опубликована
9 июл 2024

all-MiniLM-L6-v2-negations

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

Дообученный англоязычный энкодер превращает тексты в векторы для семантического поиска и сравнения, в том числе с учётом отрицаний.

142скачиваний за 30 дней0лайковвеса обновлены10 июл 2024

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

LeoChiuu/all-MiniLM-L6-v2-negations — дообученный разработчиком модели энкодер предложений на базе sentence-transformers/all-MiniLM-L6-v2. Архитектура Sentence Transformer включает BertModel, усреднение токенных представлений и нормализацию; модель содержит 25,9 млн параметров и преобразует предложения и абзацы в плотные векторы размерности 384. README описывает дообучение на 77 376 парах предложений с CosineSimilarityLoss, включая примеры, где смысл меняется из-за отрицания.

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

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

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

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

Ограничения

README задаёт максимальную длину последовательности 256 токенов, а метаданные — контекст 512 токенов; следует учитывать ограничение используемой конфигурации Sentence Transformers. Поддержка языков, кроме английского, не подтверждена.

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

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

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

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

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

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

Открыть на Hugging Face

SentenceTransformer based on sentence-transformers/all-MiniLM-L6-v2

This is a sentence-transformers model finetuned from sentence-transformers/all-MiniLM-L6-v2. It maps sentences & paragraphs to a 384-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: sentence-transformers/all-MiniLM-L6-v2
  • Maximum Sequence Length: 256 tokens
  • Output Dimensionality: 384 tokens
  • Similarity Function: Cosine Similarity

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 256, '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, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True})
  (2): Normalize()
)

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("LeoChiuu/all-MiniLM-L6-v2-negations")
# Run inference
sentences = [
    'He published a history of Cornwall, New York in 1873.',
    'He failed to publish a history of Cornwall, New York in 1873.',
    "Salafis assert that reliance on taqlid has led to Islam 's decline.",
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 384]

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

Training Details

Training Dataset

Unnamed Dataset

  • Size: 77,376 training samples
  • Columns: sentence_0, sentence_1, and label
  • Approximate statistics based on the first 1000 samples:
    sentence_0sentence_1label
    typestringstringint
    detailsmin: 6 tokensmean: 16.2 tokensmax: 57 tokensmin: 5 tokensmean: 16.32 tokensmax: 56 tokens0: ~53.20%1: ~46.80%
  • Samples:
    sentence_0sentence_1label
    The situation in Yemen was already much better than it was in Bahrain.The situation in Yemen was not much better than Bahrain.0
    She was a member of the Gamma Theta Upsilon honour society of geography.She was denied membership of the Gamma Theta Upsilon honour society of mathematics.0
    Which aren't small and not worth the price.Which are small and not worth the price.0
  • Loss: CosineSimilarityLoss with these parameters:
    {
        "loss_fct": "torch.nn.modules.loss.MSELoss"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • per_device_train_batch_size: 16
  • per_device_eval_batch_size: 16
  • num_train_epochs: 10
  • multi_dataset_batch_sampler: round_robin

All Hyperparameters

  • overwrite_output_dir: False
  • do_predict: False
  • 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
  • learning_rate: 5e-05
  • weight_decay: 0.0
  • adam_beta1: 0.9
  • adam_beta2: 0.999
  • adam_epsilon: 1e-08
  • max_grad_norm: 1
  • num_train_epochs: 10
  • max_steps: -1
  • lr_scheduler_type: linear
  • lr_scheduler_kwargs: {}
  • warmup_ratio: 0.0
  • 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, '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_sampler: batch_sampler
  • multi_dataset_batch_sampler: round_robin

Training Logs

EpochStepTraining Loss
0.10345000.3382
0.206810000.2112
0.310215000.1649
0.413620000.1454
0.517025000.1244
0.620330000.1081
0.723735000.0962
0.827140000.0924
0.930545000.0852
1.033950000.0812
1.137355000.0833
1.240760000.0736
1.344165000.0756
1.447570000.0665
1.550975000.0661
1.654380000.0625
1.757785000.0621
1.861090000.0593
1.964495000.054
2.0678100000.0569
2.1712105000.0566
2.2746110000.0502
2.3780115000.0516
2.4814120000.0455
2.5848125000.0454
2.6882130000.0424
2.7916135000.044
2.8950140000.0376
2.9983145000.0386
3.1017150000.0392
3.2051155000.0344
3.3085160000.0348
3.4119165000.0343
3.5153170000.0322
3.6187175000.0324
3.7221180000.0278
3.8255185000.0294
3.9289190000.0292
4.0323195000.0276
4.1356200000.0285
4.2390205000.026
4.3424210000.0271
4.4458215000.0248
4.5492220000.0245
4.6526225000.0253
4.7560230000.022
4.8594235000.0219
4.9628240000.0207
5.0662245000.0212
5.1696250000.0218
5.2730255000.0192
5.3763260000.0198
5.4797265000.0183
5.5831270000.02
5.6865275000.0176
5.7899280000.0184
5.8933285000.0157
5.9967290000.0175
6.1001295000.0175
6.2035300000.0163
6.3069305000.0173
6.4103310000.0165
6.5136315000.0152
6.6170320000.0155
6.7204325000.0132
6.8238330000.0147
6.9272335000.0145
7.0306340000.014
7.1340345000.0147
7.2374350000.0126
7.3408355000.0141
7.4442360000.0127
7.5476365000.0132
7.6510370000.0125
7.7543375000.0111
7.8577380000.011
7.9611385000.0125
8.0645390000.0128
8.1679395000.013
8.2713400000.0115
8.3747405000.0111
8.4781410000.0108
8.5815415000.012
8.6849420000.0108
8.7883425000.0105
8.8916430000.0092
8.9950435000.0115
9.0984440000.0112
9.2018445000.0096
9.3052450000.0106
9.4086455000.011
9.5120460000.01
9.6154465000.011
9.7188470000.0097
9.8222475000.0096
9.9256480000.0102

Framework Versions

  • Python: 3.11.9
  • Sentence Transformers: 3.0.1
  • Transformers: 4.40.2
  • PyTorch: 2.3.0+cpu
  • Accelerate: 0.32.1
  • Datasets: 2.19.1
  • 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
Ревизия весов
68453ee

0 моделей