Edit model card

SentenceTransformer based on WpythonW/paraphrase-multLing-L12-v2_custom

This is a sentence-transformers model finetuned from WpythonW/paraphrase-multLing-L12-v2_custom. 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 Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 128, '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})
)

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("WpythonW/paraphrase-multLing-L12-v2_custom")
# Run inference
sentences = [
    'хочу оформить единовременную выплату',
    'Если ребенок зарегистрирован в ЗАГС 11.10.2023 или после 11.10.2023, и получателем пособия является мама ребенка, создавать заявку не нужно, необходимые данные работодателю будет направлять Социальный фонд России. Если ребенок зарегистрирован в ЗАГС до 11.10.2023 или получателем пособия является отец ребенка (независимо от даты регистрации), требуется создать заявку для передачи сведений в Социальный фонд России в Личном кабинете https://company-x5.ru или приложении "Моя работа" в разделе "Декрет", тема "Выплата единовременного пособия по рождению ребенка".',
    'Создайте заявку по теме "перевод" в списке заявок в ЛК.',
]
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

Metric Value
cosine_accuracy@1 0.7814
cosine_accuracy@3 0.9059
cosine_precision@1 0.7814
cosine_precision@3 0.303
cosine_recall@1 0.0722
cosine_recall@3 0.0842
cosine_ndcg@10 0.1972
cosine_mrr@10 0.8525
cosine_map@100 0.0832
dot_accuracy@1 0.7741
dot_accuracy@3 0.9035
dot_precision@1 0.7741
dot_precision@3 0.302
dot_recall@1 0.0714
dot_recall@3 0.0839
dot_ndcg@10 0.1964
dot_mrr@10 0.8483
dot_map@100 0.0827

Training Details

Training Dataset

Unnamed Dataset

  • Size: 72,039 training samples
  • Columns: anchor, positive, and negative
  • Approximate statistics based on the first 1000 samples:
    anchor positive negative
    type string string string
    details
    • min: 6 tokens
    • mean: 16.65 tokens
    • max: 30 tokens
    • min: 17 tokens
    • mean: 60.12 tokens
    • max: 128 tokens
    • min: 8 tokens
    • mean: 59.72 tokens
    • max: 128 tokens
  • Samples:
    anchor positive negative
    Можно ли выгрузить копию доверенности через SED? Копию доверенности можно выгрузить через раздел Отчеты в SED. Также там можно посмотреть номер и срок действия доверенности. По вопросам, связанных с ДМС, Вы всегда можете обратиться на адрес медицинской поддержки Х5 mdnonpdi@testtest.ru.
    Можно ли выгрузить копию доверенности через SED? Копию доверенности можно выгрузить через раздел Отчеты в SED. Также там можно посмотреть номер и срок действия доверенности. Для проведения отпуска по уходу за ребенком до 1,5 лет и до 3 лет обратитесь, пожалуйста, к директору магазина для создания заявки по теме "Декрет", подтема "Администрирование отпуска БиР".
    Перечень необходимых документов размещен в «База знаний» https://company-x5.ru/knowledge-base/folder/39/
    Можно ли выгрузить копию доверенности через SED? Копию доверенности можно выгрузить через раздел Отчеты в SED. Также там можно посмотреть номер и срок действия доверенности. Создайте, пожалуйста, обращение в ИТ поддержку на портале support
  • Loss: TripletLoss with these parameters:
    {
        "distance_metric": "TripletDistanceMetric.EUCLIDEAN",
        "triplet_margin": 5
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • per_device_train_batch_size: 32
  • num_train_epochs: 2
  • load_best_model_at_end: True

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: steps
  • prediction_loss_only: True
  • per_device_train_batch_size: 32
  • per_device_eval_batch_size: 8
  • 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: 2
  • 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
  • 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
  • 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

Epoch Step Training Loss single_answer_eval_cosine_map@100
0.4440 500 0.0138 0.0829
0.8881 1000 0.013 0.0839
1.3321 1500 0.0075 0.0844
1.7762 2000 0.0072 0.0832
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.10.14
  • Sentence Transformers: 3.0.1
  • Transformers: 4.44.0
  • PyTorch: 2.4.0
  • Accelerate: 0.34.2
  • Datasets: 2.21.0
  • 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",
}

TripletLoss

@misc{hermans2017defense,
    title={In Defense of the Triplet Loss for Person Re-Identification}, 
    author={Alexander Hermans and Lucas Beyer and Bastian Leibe},
    year={2017},
    eprint={1703.07737},
    archivePrefix={arXiv},
    primaryClass={cs.CV}
}
Downloads last month
13
Safetensors
Model size
118M params
Tensor type
F32
·
Inference Examples
This model does not have enough activity to be deployed to Inference API (serverless) yet. Increase its social visibility and check back later, or deploy to Inference Endpoints (dedicated) instead.

Model tree for WpythonW/paraphrase-multLing-L12-v2_custom

Unable to build the model tree, the base model loops to the model itself. Learn more.

Evaluation results