/ Модель

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

Контекст
512 токенов
Параметры
124 млн
Архитектура
bert · dense
Базовая модель
multilingual-e5-small
Библиотека
sentence-transformers
Опубликована
16 сен 2024

fine_tuned_model_14

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

Многоязычная SentenceTransformer-модель на базе multilingual-e5-small для преобразования текстов в эмбеддинги и поиска семантически близких предложений.

19скачиваний за 30 дней0лайковвеса обновлены16 сен 2024

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Это модель SentenceTransformer, дообученная автором srikarvar на базе intfloat/multilingual-e5-small для сравнения и поиска текстов по смыслу. Архитектура основана на BERT: модель преобразует предложения и абзацы в плотные векторы размерности 384, применяя усреднение токенов и нормализацию; близость оценивается косинусным сходством. Максимальная длина входа — 512 токенов.

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

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

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

Ограничения

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

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

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

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

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

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

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

Открыть на Hugging Face

SentenceTransformer based on intfloat/multilingual-e5-small

This is a sentence-transformers model finetuned from intfloat/multilingual-e5-small. 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: intfloat/multilingual-e5-small
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 384 tokens
  • Similarity Function: Cosine Similarity

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_14")
# Run inference
sentences = [
    'The purpose of the training guide is to provide tutorials, how-to guides, and conceptual guides for working with AI models.',
    'The goal of the training guide is to offer tutorials, how-to instructions, and conceptual guidance for utilizing AI models.',
    'Steps to roast a turkey',
]
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

Binary Classification

MetricValue
cosine_accuracy0.8639
cosine_accuracy_threshold0.8523
cosine_f10.8853
cosine_f1_threshold0.8417
cosine_precision0.9022
cosine_recall0.8691
cosine_ap0.9515
dot_accuracy0.8639
dot_accuracy_threshold0.8523
dot_f10.8853
dot_f1_threshold0.8417
dot_precision0.9022
dot_recall0.8691
dot_ap0.9515
manhattan_accuracy0.8671
manhattan_accuracy_threshold8.2279
manhattan_f10.8877
manhattan_f1_threshold8.6464
manhattan_precision0.9071
manhattan_recall0.8691
manhattan_ap0.952
euclidean_accuracy0.8639
euclidean_accuracy_threshold0.5435
euclidean_f10.8853
euclidean_f1_threshold0.5626
euclidean_precision0.9022
euclidean_recall0.8691
euclidean_ap0.9515
max_accuracy0.8671
max_accuracy_threshold8.2279
max_f10.8877
max_f1_threshold8.6464
max_precision0.9071
max_recall0.8691
max_ap0.952

Binary Classification

MetricValue
cosine_accuracy0.8703
cosine_accuracy_threshold0.8251
cosine_f10.8935
cosine_f1_threshold0.8084
cosine_precision0.8866
cosine_recall0.9005
cosine_ap0.9547
dot_accuracy0.8703
dot_accuracy_threshold0.8251
dot_f10.8935
dot_f1_threshold0.8084
dot_precision0.8866
dot_recall0.9005
dot_ap0.9547
manhattan_accuracy0.8703
manhattan_accuracy_threshold9.1812
manhattan_f10.8912
manhattan_f1_threshold9.1812
manhattan_precision0.9032
manhattan_recall0.8796
manhattan_ap0.9546
euclidean_accuracy0.8703
euclidean_accuracy_threshold0.5914
euclidean_f10.8935
euclidean_f1_threshold0.619
euclidean_precision0.8866
euclidean_recall0.9005
euclidean_ap0.9547
max_accuracy0.8703
max_accuracy_threshold9.1812
max_f10.8935
max_f1_threshold9.1812
max_precision0.9032
max_recall0.9005
max_ap0.9547

Training Details

Training Dataset

Unnamed Dataset

  • Size: 2,836 training samples
  • Columns: sentence1, label, and sentence2
  • Approximate statistics based on the first 1000 samples:
    sentence1labelsentence2
    typestringintstring
    detailsmin: 6 tokensmean: 15.88 tokensmax: 66 tokens0: ~45.70%1: ~54.30%min: 5 tokensmean: 15.82 tokensmax: 63 tokens
  • Samples:
    sentence1labelsentence2
    What are the symptoms of diabetes?1What are the indicators of diabetes?
    What is the speed of light?1At what speed does light travel?
    Eager inventory processing loads the entire inventory list immediately and returns it, while lazy inventory processing applies the processing steps on-the-fly when browsing through the list.1Inventory processing that is done eagerly loads the entire inventory right away and provides the result, whereas lazy inventory processing performs the operations as it goes through the list.
  • Loss: OnlineContrastiveLoss

Evaluation Dataset

Unnamed Dataset

  • Size: 316 evaluation samples
  • Columns: sentence1, label, and sentence2
  • Approximate statistics based on the first 316 samples:
    sentence1labelsentence2
    typestringintstring
    detailsmin: 6 tokensmean: 16.37 tokensmax: 98 tokens0: ~39.56%1: ~60.44%min: 4 tokensmean: 15.89 tokensmax: 98 tokens
  • Samples:
    sentence1labelsentence2
    How many planets are in the solar system?1Number of planets in the solar system
    What are the symptoms of pneumonia?0What are the symptoms of bronchitis?
    What is the boiling point of sulfur?0What is the melting point of sulfur?
  • Loss: OnlineContrastiveLoss

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: epoch
  • per_device_train_batch_size: 32
  • per_device_eval_batch_size: 32
  • gradient_accumulation_steps: 2
  • num_train_epochs: 6
  • warmup_ratio: 0.1
  • load_best_model_at_end: True
  • optim: adamw_torch_fused
  • 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: 32
  • per_device_eval_batch_size: 32
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: None
  • gradient_accumulation_steps: 2
  • 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: 6
  • 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: True
  • 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_fused
  • 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 Losslosspair-class-dev_max_appair-class-test_max_ap
00--0.8066-
0.2247101.6271---
0.4494201.0316---
0.6742300.7502---
0.8989400.691---
0.988844-0.76410.9368-
1.1236500.732---
1.3483600.532---
1.5730700.389---
1.7978800.2507---
2.089-0.64960.9516-
2.0225900.4147---
2.24721000.2523---
2.47191100.1588---
2.69661200.1168---
2.92131300.1793---
2.9888133-0.64310.9547-
3.14611400.2062---
3.37081500.109---
3.59551600.0631---
3.82021700.0588---
4.0178-0.66760.9512-
4.04491800.1865---
4.26971900.0303---
4.49442000.0301---
4.71912100.0416---
4.94382200.028---
4.9888222-0.67700.9518-
5.16852300.0604---
5.39332400.0129---
5.61802500.0747---
5.84272600.0069---
5.9326264-0.67550.95200.9547
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.10.12
  • Sentence Transformers: 3.1.0
  • Transformers: 4.41.2
  • PyTorch: 2.1.2+cu121
  • Accelerate: 0.34.2
  • 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
Ревизия весов
738266b

0 моделей