mpnet-final / README.md
noace's picture
Upload folder using huggingface_hub
3a70bc9 verified
metadata
tags:
  - sentence-transformers
  - sentence-similarity
  - feature-extraction
  - dense
  - generated_from_trainer
  - dataset_size:1109
  - loss:MatryoshkaLoss
  - loss:MultipleNegativesRankingLoss
base_model: sentence-transformers/paraphrase-multilingual-mpnet-base-v2
widget:
  - source_sentence: Lãi suất vay tiêu dùng từ thẻ kỳ hạn 2-5 tháng  12%/năm.
    sentences:
      - >-
        Mức lãi suất áp dụng cho khoản vay tiêu dùng thẻ kỳ hạn ngắn (2-5 tháng)
        là 12%.
      - >-
        Hạn dùng ưu đãi của khách hàng VIP được tính theo năm dương lịch hưởng
        quyền lợi.
      - dịch vụ áp dụng cho nhân viên sacombank được ủy quyền sử dụng thẻ
  - source_sentence: Mở tài khoản ngân hàng cần giấy tờ gì?
    sentences:
      - >-
        Địa chỉ Hanoi Le Jardin Hotel & Spa là số 46A đường Nguyễn Trường Tộ, Ba
        Đình.
      - Hồ  mở tài khoản thanh toán  nhân
      - CCTG cần được giữ gìn nguyên vẹn, tránh tẩy xóa hay làm hỏng.
  - source_sentence: Chứng chỉ tiền gửi  lãi suất 7,1%/năm.
    sentences:
      - Địa chỉ nhà hàng A Bản  số 76 đường Trần Phú, Quận Ba Đình,  Nội.
      - >-
        Điều kiện miễn phí cho sinh viên trên 20 tuổi là duy trì số dư bình quân
        từ 500.000 VND.
      - Mức lãi suất cố định áp dụng cho Chứng chỉ tiền gửi  7,1% một năm.
  - source_sentence: Thời gian xử  hoàn tiền vào thẻ  5-10 phút.
    sentences:
      - 'bảo hiểm mục 13: các loại trừ chung'
      - >-
        Khách hàng sử dụng Combo Đa Lợi không bị thu phí khi giao dịch qua Ngân
        hàng số.
      - Chủ thẻ sẽ nhận lại tiền vào hạn mức tín dụng sau khoảng 5 đến 10 phút.
  - source_sentence: Quy đổi 1 lượt golf thành 1 đêm nghỉ dưỡng tiêu chuẩn cho 2 người.
    sentences:
      - Giao dịch  siêu thị bằng thẻ được hoàn lại giá trị
      - Ngân hàng sẽ báo trước 1 tuần nếu  thay đổi về quy định dịch vụ.
      - >-
        Mỗi lượt golf trong tài khoản tương đương với 01 đêm phòng tiêu chuẩn
        dành cho 02 khách.
pipeline_tag: sentence-similarity
library_name: sentence-transformers
metrics:
  - pearson_cosine
  - spearman_cosine
model-index:
  - name: >-
      SentenceTransformer based on
      sentence-transformers/paraphrase-multilingual-mpnet-base-v2
    results:
      - task:
          type: semantic-similarity
          name: Semantic Similarity
        dataset:
          name: banking val
          type: banking-val
        metrics:
          - type: pearson_cosine
            value: 0.48784389453148286
            name: Pearson Cosine
          - type: spearman_cosine
            value: 0.4829396210794567
            name: Spearman Cosine

SentenceTransformer based on sentence-transformers/paraphrase-multilingual-mpnet-base-v2

This is a sentence-transformers model finetuned from sentence-transformers/paraphrase-multilingual-mpnet-base-v2. 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 Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': False, 'architecture': 'XLMRobertaModel'})
  (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("sentence_transformers_model_id")
# Run inference
sentences = [
    'Quy đổi 1 lượt golf thành 1 đêm nghỉ dưỡng tiêu chuẩn cho 2 người.',
    'Mỗi lượt golf trong tài khoản tương đương với 01 đêm phòng tiêu chuẩn dành cho 02 khách.',
    'Giao dịch ở siêu thị bằng thẻ được hoàn lại giá trị',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]

# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities)
# tensor([[ 1.0000,  0.7473, -0.0708],
#         [ 0.7473,  1.0000, -0.0487],
#         [-0.0708, -0.0487,  1.0000]])

Evaluation

Metrics

Semantic Similarity

Metric Value
pearson_cosine 0.4878
spearman_cosine 0.4829

Training Details

Training Dataset

Unnamed Dataset

  • Size: 1,109 training samples
  • Columns: sentence1 and sentence2
  • Approximate statistics based on the first 1000 samples:
    sentence1 sentence2
    type string string
    details
    • min: 7 tokens
    • mean: 17.54 tokens
    • max: 31 tokens
    • min: 5 tokens
    • mean: 19.86 tokens
    • max: 34 tokens
  • Samples:
    sentence1 sentence2
    Hạn mức chuyển tiền qua internet banking Giới hạn giao dịch trên mobile banking mỗi ngày
    Lãi suất tiền gửi Tương lai kỳ hạn 1 năm là 3,70%/năm. Sản phẩm Tiền gửi Tương lai 12 tháng có lãi suất 3,70%.
    Chi tiêu khác ngoài siêu thị và di chuyển được hoàn 0,5%. Các giao dịch chi tiêu thông thường khác áp dụng tỷ lệ hoàn tiền là 0,5%.
  • Loss: MatryoshkaLoss with these parameters:
    {
        "loss": "MultipleNegativesRankingLoss",
        "matryoshka_dims": [
            768
        ],
        "matryoshka_weights": [
            1
        ],
        "n_dims_per_step": -1
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: epoch
  • per_device_train_batch_size: 32
  • learning_rate: 2e-05
  • num_train_epochs: 8
  • warmup_ratio: 0.1
  • fp16: True
  • load_best_model_at_end: True
  • batch_sampler: no_duplicates

All Hyperparameters

Click to expand
  • 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: 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: 2e-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: 8
  • 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
  • bf16: False
  • fp16: True
  • 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}
  • parallelism_config: 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
  • project: huggingface
  • trackio_space_id: trackio
  • 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: None
  • hub_always_push: False
  • hub_revision: None
  • gradient_checkpointing: False
  • gradient_checkpointing_kwargs: None
  • include_inputs_for_metrics: False
  • include_for_metrics: []
  • 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
  • include_tokens_per_second: False
  • include_num_input_tokens_seen: no
  • neftune_noise_alpha: None
  • optim_target_modules: None
  • batch_eval_metrics: False
  • eval_on_start: False
  • use_liger_kernel: False
  • liger_kernel_config: None
  • eval_use_gather_object: False
  • average_tokens_across_devices: True
  • prompts: None
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional
  • router_mapping: {}
  • learning_rate_mapping: {}

Training Logs

Epoch Step Training Loss banking-val_spearman_cosine
0.2857 10 0.4973 -
0.5714 20 0.3515 -
0.8571 30 0.2183 -
1.0 35 - 0.4564
1.1429 40 0.1684 -
1.4286 50 0.0942 -
1.7143 60 0.117 -
2.0 70 0.0823 0.4266
2.2857 80 0.0539 -
2.5714 90 0.0506 -
2.8571 100 0.1039 -
3.0 105 - 0.4439
3.1429 110 0.0516 -
3.4286 120 0.0325 -
3.7143 130 0.0457 -
4.0 140 0.0933 0.4489
4.2857 150 0.0759 -
4.5714 160 0.0441 -
4.8571 170 0.0379 -
5.0 175 - 0.4735
5.1429 180 0.0337 -
5.4286 190 0.0368 -
5.7143 200 0.0536 -
6.0 210 0.0487 0.4899
6.2857 220 0.0355 -
6.5714 230 0.0469 -
6.8571 240 0.0319 -
7.0 245 - 0.4845
7.1429 250 0.0306 -
7.4286 260 0.0272 -
7.7143 270 0.0398 -
8.0 280 0.0313 0.4829
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.12.12
  • Sentence Transformers: 5.1.1
  • Transformers: 4.57.1
  • PyTorch: 2.8.0+cu126
  • Accelerate: 1.11.0
  • Datasets: 4.4.2
  • Tokenizers: 0.22.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",
}

MatryoshkaLoss

@misc{kusupati2024matryoshka,
    title={Matryoshka Representation Learning},
    author={Aditya Kusupati and Gantavya Bhatt and Aniket Rege and Matthew Wallingford and Aditya Sinha and Vivek Ramanujan and William Howard-Snyder and Kaifeng Chen and Sham Kakade and Prateek Jain and Ali Farhadi},
    year={2024},
    eprint={2205.13147},
    archivePrefix={arXiv},
    primaryClass={cs.LG}
}

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}
}