/ Модель

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

Контекст
512 токенов
Параметры
124 млн
Лицензия
Apache 2.0
Архитектура
bert · dense
Библиотека
sentence-transformers
Опубликована
26 авг 2024

fine_tuned_model_3

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

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

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

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

srikarvar/fine_tuned_model_3 — модель Sentence Transformers на архитектуре BERT, дообученная автором на базе srikarvar/multilingual-e5-small-pairclass-contrastive. Она кодирует предложения и абзацы в плотные векторы размерности 384; для сравнения используется косинусное сходство. Модель рассчитана на английский язык, принимает последовательности длиной до 512 токенов и выдаёт эмбеддинги.

Модель подходит для семантического поиска, оценки сходства текстов, поиска перефразирований, кластеризации и классификации. В README приведена оценка на наборе e5-cogcache-small-refined: cosine_accuracy@1 — 0,5, @3 — 0,8571, @5 — 1,0; обучающая выборка содержит 246 пар. Репозиторий использует safetensors и библиотеку Sentence Transformers. Лицензия — Apache-2.0.

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

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

Ограничения

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

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

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

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

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

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

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

Открыть на Hugging Face

e5 cogcache small refined

This is a sentence-transformers model finetuned from srikarvar/multilingual-e5-small-pairclass-contrastive. 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

  • Language: en
  • License: apache-2.0

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': 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("srikarvar/fine_tuned_model_3")
# Run inference
sentences = [
    'What time does the event start?',
    'When does the event begin?',
    "Japan's capital city",
]
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]

Evaluation

Metrics

Information Retrieval

MetricValue
cosine_accuracy@10.5
cosine_accuracy@30.8571
cosine_accuracy@51.0
cosine_accuracy@101.0
cosine_precision@10.5
cosine_precision@30.2857
cosine_precision@50.2
cosine_precision@100.1
cosine_recall@10.5
cosine_recall@30.8571
cosine_recall@51.0
cosine_recall@101.0
cosine_ndcg@100.7635
cosine_mrr@100.6845
cosine_map@1000.6845
dot_accuracy@10.5
dot_accuracy@30.8571
dot_accuracy@51.0
dot_accuracy@101.0
dot_precision@10.5
dot_precision@30.2857
dot_precision@50.2
dot_precision@100.1
dot_recall@10.5
dot_recall@30.8571
dot_recall@51.0
dot_recall@101.0
dot_ndcg@100.7635
dot_mrr@100.6845
dot_map@1000.6845

Information Retrieval

MetricValue
cosine_accuracy@10.5
cosine_accuracy@30.8571
cosine_accuracy@51.0
cosine_accuracy@101.0
cosine_precision@10.5
cosine_precision@30.2857
cosine_precision@50.2
cosine_precision@100.1
cosine_recall@10.5
cosine_recall@30.8571
cosine_recall@51.0
cosine_recall@101.0
cosine_ndcg@100.7635
cosine_mrr@100.6845
cosine_map@1000.6845
dot_accuracy@10.5
dot_accuracy@30.8571
dot_accuracy@51.0
dot_accuracy@101.0
dot_precision@10.5
dot_precision@30.2857
dot_precision@50.2
dot_precision@100.1
dot_recall@10.5
dot_recall@30.8571
dot_recall@51.0
dot_recall@101.0
dot_ndcg@100.7635
dot_mrr@100.6845
dot_map@1000.6845

Training Details

Training Dataset

Unnamed Dataset

  • Size: 246 training samples
  • Columns: anchor and positive
  • Approximate statistics based on the first 1000 samples:
    anchorpositive
    typestringstring
    detailsmin: 6 tokensmean: 9.6 tokensmax: 14 tokensmin: 4 tokensmean: 8.28 tokensmax: 13 tokens
  • Samples:
    anchorpositive
    How to speak confidently?Tips for confident speaking
    How to manage time effectively?Tips for efficient time management
    Where can I find a good restaurant?Suggestions for a good restaurant
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: epoch
  • per_device_train_batch_size: 16
  • per_device_eval_batch_size: 16
  • learning_rate: 1e-05
  • num_train_epochs: 2
  • warmup_ratio: 0.1
  • batch_sampler: no_duplicates

All Hyperparameters

  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: epoch
  • 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: 1e-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: 2
  • 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: 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, '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
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional

Training Logs

EpochStepTraining Losse5-cogcache-small-refined_cosine_map@100
00-0.7024
0.625100.0252-
1.016-0.6845
1.25200.0119-
1.875300.0035-
2.032-0.6845

Framework Versions

  • Python: 3.10.12
  • Sentence Transformers: 3.0.1
  • Transformers: 4.41.2
  • PyTorch: 2.1.2+cu121
  • 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",
}

MultipleNegativesRankingLoss

@misc{henderson2017efficient,
    title={Efficient Natural Language Response Suggestion for Smart Reply}, 
    author={Matthew Henderson and Rami Al-Rfou and Brian Strope and Yun-hsuan Sung and Laszlo Lukacs and Ruiqi Guo and Sanjiv Kumar and Balint Miklos and Ray Kurzweil},
    year={2017},
    eprint={1705.00652},
    archivePrefix={arXiv},
    primaryClass={cs.CL}
}

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей