SentenceTransformer based on sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2

This is a sentence-transformers model finetuned from sentence-transformers/paraphrase-multilingual-MiniLM-L12-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 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("sentence_transformers_model_id")
# Run inference
sentences = [
    'Thời điểm đánh giá và xếp loại chất lượng hằng năm của công chức, viên chức thuộc Bộ Tài chính được diễn ra trong thời gian nào?',
    'Thời điểm đánh giá xếp loại chất lượng hằng năm\\n...\\n2. Căn cứ tình hình thực tiễn của cơ quan, tổ chức, đơn vị, tập thể lãnh đạo cơ quan, tổ chức, đơn vị thống nhất với cấp ủy cùng cấp về việc kết hợp tổ chức cuộc họp đánh giá, xếp loại chất lượng công chức, viên chức và xếp loại đảng viên trong tổ chức, đơn vị mình, bảo đảm nghiêm túc, hiệu quả, tránh hình thức, lãng phí.\\n3. Tại thời điểm đánh giá, xếp loại chất lượng, trường hợp vắng mặt có lý do chính đáng hoặc nghỉ ốm, nghỉ chế độ thai sản theo quy định của pháp luật, công chức, viên chức có trách nhiệm làm báo cáo tại Phiếu đánh giá, xếp loại chất lượng theo chức trách, nhiệm vụ được giao, gửi cơ quan, tổ chức, đơn vị đang công tác để thực hiện việc đánh giá, xếp loại chất lượng theo quy định của pháp luật và Quy chế này.',
    '“Điều 1. Danh mục trang thiết bị y tế phục vụ phòng, chống dịch COVID-19 trong trường hợp cấp bách theo quy định tại khoản 3 Điều 29 Nghị định số 98/2021/NĐ-CP ngày 08 tháng 11 năm 2021 của Chính phủ về quản lý trang thiết bị y tế \\n1. Máy PCR. \\n2. Hóa chất (sinh phẩm) chạy máy PCR xét nghiệm SARS-CoV-2. \\n3. Test kít xét nghiệm nhanh kháng nguyên/ kháng thể kháng SARS-CoV-2. \\n4. Máy thở chức năng cao, máy thở xâm nhập và không xâm nhập, máy thở không xâm nhập, máy oxy dòng cao, máy thở xách tay. \\n5. Máy lọc máu liên tục. \\n6. Máy X-Quang di động. \\n7. Máy đo khí máu (đo được điện giải, lactat, hematocrite). \\n8. Máy theo dõi bệnh nhân>5 thông số. \\n9. Bơm tiêm điện; Bơm truyền dịch. \\n10. Máy phá rung tim có tạo nhịp. \\n11. Máy đo thời gian đông máu. \\n12. Máy đo huyết động.”',
]
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: 651,725 training samples
  • Columns: queries, corpus, and score
  • Approximate statistics based on the first 1000 samples:
    queries corpus score
    type string string int
    details
    • min: 9 tokens
    • mean: 24.71 tokens
    • max: 43 tokens
    • min: 29 tokens
    • mean: 121.6 tokens
    • max: 128 tokens
    • 0: ~43.80%
    • 1: ~37.00%
    • 2: ~19.20%
  • Samples:
    queries corpus score
    Người học ngành quản lý khai thác công trình thủy lợi trình độ cao đẳng phải có khả năng học tập và nâng cao trình độ như thế nào? Khả năng học tập, nâng cao trình độ\n- Khối lượng khối lượng kiến thức tối thiểu, yêu cầu về năng lực mà người học phải đạt được sau khi tốt nghiệp ngành, nghề Dược trình độ cao đẳng có thể tiếp tục phát triển ở các trình độ cao hơn;\n- Người học sau tốt nghiệp có năng lực tự học, tự cập nhật những tiến bộ khoa học công nghệ trong phạm vi ngành, nghề để nâng cao trình độ hoặc học liên thông lên trình độ cao hơn trong cùng ngành nghề hoặc trong nhóm ngành, nghề hoặc trong cùng lĩnh vực đào tạo. 2
    Nội dung lồng ghép vấn đề bình đẳng giới trong xây dựng văn bản quy phạm pháp luật được quy định thế nào? Nội dung lồng ghép vấn đề bình đẳng giới trong xây dựng văn bản quy phạm pháp luật\nTrong phạm vi điều chỉnh của văn bản quy phạm pháp luật:\n1. Xác định nội dung liên quan đến vấn đề bình đẳng giới hoặc vấn đề bất bình đẳng giới, phân biệt đối xử về giới.\n2. Quy định các biện pháp cần thiết để thực hiện bình đẳng giới hoặc để giải quyết vấn đề bất bình đẳng giới, phân biệt đối xử về giới; dự báo tác động của các quy định đó đối với nam và nữ sau khi được ban hành.\n3. Xác định nguồn nhân lực, tài chính cần thiết để triển khai các biện pháp thực hiện bình đẳng giới hoặc để giải quyết vấn đề bất bình đẳng giới, phân biệt đối xử về giới. 2
    Nội dung lồng ghép vấn đề bình đẳng giới trong xây dựng văn bản quy phạm pháp luật được quy định thế nào? Mục đích lồng ghép vấn đề bình đẳng giới trong xây dựng văn bản quy phạm pháp luật\nLồng ghép vấn đề bình đẳng giới trong xây dựng văn bản quy phạm pháp luật (sau đây gọi tắt là văn bản) là một biện pháp để thực hiện mục tiêu bình đẳng giới, xóa bỏ phân biệt đối xử về giới, bảo đảm quyền, lợi ích hợp pháp, phù hợp với đặc thù của mỗi giới; tạo cơ hội phát triển như nhau cho nam và nữ trong các lĩnh vực của đời sống xã hội và gia đình; bảo đảm bình đẳng giới thực chất giữa nam và nữ. 1
  • Loss: SoftmaxLoss

Training Hyperparameters

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: no
  • prediction_loss_only: True
  • per_device_train_batch_size: 8
  • 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: 3.0
  • 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: 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
  • eval_on_start: False
  • eval_use_gather_object: False
  • prompts: None
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss
0.0061 500 1.0473
0.0123 1000 1.0447
0.0184 1500 1.0383
0.0246 2000 1.0395
0.0307 2500 1.0436
0.0368 3000 1.0375
0.0430 3500 1.0189
0.0491 4000 1.0282
0.0552 4500 1.0355
0.0614 5000 1.0286
0.0675 5500 1.0264
0.0737 6000 1.0174
0.0798 6500 1.0238
0.0859 7000 1.0217
0.0921 7500 1.0203
0.0982 8000 1.0201
0.1043 8500 1.0266
0.1105 9000 1.0379
0.1166 9500 1.0367
0.1228 10000 1.0384
0.1289 10500 1.0291
0.1350 11000 1.0362
0.1412 11500 1.0354
0.1473 12000 1.0204
0.1534 12500 1.0401
0.1596 13000 1.0237
0.1657 13500 1.0271
0.1719 14000 1.0235
0.1780 14500 1.0329
0.1841 15000 1.0474
0.1903 15500 1.0547
0.1964 16000 1.0557
0.2025 16500 1.0626
0.2087 17000 1.0551
0.2148 17500 1.0526
0.2210 18000 1.125
0.2271 18500 1.2996
0.2332 19000 1.0703
0.2394 19500 1.0601
0.2455 20000 1.0835
0.2516 20500 1.0583
0.2578 21000 1.141
0.2639 21500 1.0802
0.2701 22000 1.0589
0.2762 22500 1.086
0.2823 23000 1.0743
0.2885 23500 1.0605
0.2946 24000 1.0602
0.3007 24500 1.0732
0.3069 25000 1.0614
0.3130 25500 1.0666
0.3192 26000 1.0669
0.3253 26500 1.0627
0.3314 27000 1.0659
0.3376 27500 1.07
0.3437 28000 1.0783
0.3498 28500 1.078
0.3560 29000 1.0832
0.3621 29500 1.0695
0.3683 30000 1.0714
0.3744 30500 1.3794
0.3805 31000 1.0838
0.3867 31500 1.0541
0.3928 32000 1.0799
0.3989 32500 1.0622
0.4051 33000 1.0597
0.4112 33500 1.0731
0.4174 34000 1.0871
0.4235 34500 1.0535
0.4296 35000 1.3215
0.4358 35500 1.1501
0.4419 36000 1.1088
0.4480 36500 1.0844
0.4542 37000 1.0981
0.4603 37500 1.0856
0.4665 38000 1.0956
0.4726 38500 1.0813
0.4787 39000 1.0843
0.4849 39500 1.1053
0.4910 40000 1.092
0.4971 40500 1.081
0.5033 41000 1.0919
0.5094 41500 1.0681
0.5156 42000 1.0826
0.5217 42500 1.0809
0.5278 43000 1.093
0.5340 43500 1.0709
0.5401 44000 1.0623
0.5462 44500 1.0801
0.5524 45000 1.0833
0.5585 45500 1.0816
0.5647 46000 1.0697
0.5708 46500 1.0864
0.5769 47000 1.0744
0.5831 47500 1.0897
0.5892 48000 1.0727
0.5953 48500 1.0621
0.6015 49000 1.0582
0.6076 49500 1.0681

Framework Versions

  • Python: 3.10.10
  • Sentence Transformers: 3.3.1
  • Transformers: 4.43.0
  • PyTorch: 2.5.0+cu124
  • Accelerate: 1.1.1
  • Datasets: 3.1.0
  • Tokenizers: 0.19.1

Citation

BibTeX

Sentence Transformers and SoftmaxLoss

@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",
}
Downloads last month
9
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 legalvn/paraphrase-multilingual-MiniLM-L12-v2-vn-49500