SentenceTransformer based on BAAI/bge-m3

This is a sentence-transformers model finetuned from BAAI/bge-m3. It maps sentences & paragraphs to a 1024-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: BAAI/bge-m3
  • Maximum Sequence Length: 8192 tokens
  • Output Dimensionality: 1024 dimensions
  • Similarity Function: Cosine Similarity

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 8192, 'do_lower_case': False}) with Transformer model: XLMRobertaModel 
  (1): Pooling({'word_embedding_dimension': 1024, 'pooling_mode_cls_token': True, 'pooling_mode_mean_tokens': False, '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("sentence_transformers_model_id")
# Run inference
sentences = [
    'Lấn chiếm đất công là đất phi nông nghiệp để xây dựng công trình thì sẽ bị xử phạt vi phạm hành chính như thế nào?',
    'Lấn, chiếm đất\n...\n4. Trường hợp lấn, chiếm đất phi nông nghiệp, trừ trường hợp quy định tại khoản 6 Điều này tại khu vực nông thôn thì hình thức và mức xử phạt như sau:\na) Phạt tiền từ 10.000.000 đồng đến 20.000.000 đồng nếu diện tích đất lấn, chiếm dưới 0,05 héc ta;\nb) Phạt tiền từ 20.000.000 đồng đến 40.000.000 đồng nếu diện tích đất lấn, chiếm từ 0,05 héc ta đến dưới 0,1 héc ta;\nc) Phạt tiền từ 40.000.000 đồng đến 100.000.000 đồng nếu diện tích đất lấn, chiếm từ 0,1 héc ta đến dưới 0,5 héc ta;\nd) Phạt tiền từ 100.000.000 đồng đến 200.000.000 đồng nếu diện tích đất lấn, chiếm từ 0,5 héc ta đến dưới 01 héc ta;\nđ) Phạt tiền từ 200.000.000 đồng đến 500.000.000 đồng nếu diện tích đất lấn, chiếm từ 01 héc ta trở lên.\n5. Trường hợp lấn, chiếm đất chưa sử dụng, đất nông nghiệp, đất phi nông nghiệp (trừ trường hợp quy định tại khoản 6 Điều này) tại khu vực đô thị thì mức xử phạt bằng 02 lần mức xử phạt đối với loại đất tương ứng quy định tại các khoản 1, 2, 3 và 4 Điều này và mức phạt tối đa không quá 500.000.000 đồng đối với cá nhân, không quá 1.000.000.000 đồng đối với tổ chức.\n6. Trường hợp lấn, chiếm đất thuộc hành lang bảo vệ an toàn công trình và đất công trình có hành lang bảo vệ, đất trụ sở làm việc và cơ sở hoạt động sự nghiệp của cơ quan, tổ chức theo quy định của pháp luật về quản lý, sử dụng tài sản nhà nước thì hình thức và mức xử phạt thực hiện theo quy định của pháp luật về xử phạt vi phạm hành chính trong lĩnh vực về hoạt động đầu tư xây dựng; khai thác, chế biến, kinh doanh khoáng sản làm vật liệu xây dựng, sản xuất, kinh doanh vật liệu xây dựng; quản lý công trình hạ tầng kỹ thuật; kinh doanh bất động sản, phát triển nhà ở, quản lý sử dụng nhà và công sở; trong lĩnh vực về giao thông đường bộ và đường sắt; trong lĩnh vực về văn hóa, thể thao, du lịch và quảng cáo; trong lĩnh vực về khai thác và bảo vệ công trình thủy lợi; đê điều; phòng, chống lụt, bão; trong lĩnh vực quản lý, sử dụng tài sản nhà nước và các lĩnh vực chuyên ngành khác.\n...Áp dụng mức phạt tiền\n1. Đối tượng áp dụng mức phạt tiền thực ',
    'Quy định chung về quy cách thể hiện\n1. Nội dung thể hiện đối với thuyết minh, bản vẽ của nhiệm vụ và đồ án trong hồ sơ lấy ý kiến, hồ sơ trình thẩm định và phê duyệt phải được trình bày rõ ràng, đầy đủ nội dung đối với từng loại, cấp độ quy hoạch và tuân thủ các quy định tại Chương II và các phụ lục của Thông tư này.\n2. Hệ thống ký hiệu bản vẽ của nhiệm vụ và đồ án quy hoạch đô thị, nông thôn phải tuân thủ theo quy định tại các phụ lục kèm theo Thông tư này.\n3. Căn cứ điều kiện, đặc điểm của vùng liên huyện, vùng huyện, đô thị, khu chức năng và khu vực nông thôn được lập quy hoạch, có thể thành lập các bản đồ, sơ đồ riêng cho từng nội dung hiện trạng, định hướng hạ tầng kỹ thuật để đảm bảo thể hiện được đầy đủ các nội dung theo yêu cầu.\n4. Trường hợp quy hoạch vùng, quy hoạch tỉnh chưa được phê duyệt, các bản đồ phương hướng phát triển hệ thống đô thị, nông thôn; bản đồ phương án quy hoạch hệ thống đô thị, nông thôn; bản đồ quy hoạch sử dụng đất cấp tỉnh; bản đồ tổ chức không gian và phân vùng chức năng trong quy hoạch vùng, quy hoạch tỉnh được thay thế bằng sơ đồ định hướng phát triển không gian trong quy hoạch xây dựng vùng tỉnh đã được phê duyệt.\n5. Tất cả các sơ đồ, bản đồ trong thành phần bản vẽ của hồ sơ nhiệm vụ và hồ sơ đồ án quy hoạch đô thị và nông thôn phải thể hiện rõ phạm vi ranh giới lập quy hoạch; ranh giới, tên các đơn vị hành chính trong phạm vi lập quy hoạch; tên đơn vị hành chính tiếp giáp bên ngoài phạm vi lập quy hoạch.',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 1024]

# 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.9121
cosine_accuracy@3 0.9832
cosine_accuracy@5 0.9908
cosine_accuracy@10 0.9958
cosine_precision@1 0.9121
cosine_precision@3 0.3277
cosine_precision@5 0.1982
cosine_precision@10 0.0996
cosine_recall@1 0.9121
cosine_recall@3 0.9832
cosine_recall@5 0.9908
cosine_recall@10 0.9958
cosine_ndcg@10 0.9596
cosine_mrr@10 0.9474
cosine_map@100 0.9476

Training Details

Training Dataset

Unnamed Dataset

  • Size: 118,262 training samples
  • Columns: sentence_0 and sentence_1
  • Approximate statistics based on the first 1000 samples:
    sentence_0 sentence_1
    type string string
    details
    • min: 8 tokens
    • mean: 24.18 tokens
    • max: 49 tokens
    • min: 13 tokens
    • mean: 254.3 tokens
    • max: 644 tokens
  • Samples:
    sentence_0 sentence_1
    Báo cáo lưu chuyển tiền tệ hợp nhất cung cấp những thông tin gì cho người sử dụng? Cơ sở lập Báo cáo lưu chuyển tiền tệ hợp nhất
    1. Báo cáo lưu chuyển tiền tệ hợp nhất là một bộ phận không thể tách rời trong hệ thống Báo cáo tài chính hợp nhất, cung cấp thông tin hữu ích cho người sử dụng Báo cáo tài chính về khả năng tạo tiền, khả năng thanh toán của toàn bộ Tập đoàn.
    ...
    Người đứng đầu cơ sở khám bệnh chữa bệnh triển khai hoạt động dược lâm sàng theo những nội dung nào? Điều 80. Nội dung hoạt động dược lâm sàng
    1. Tư vấn trong quá trình xây dựng danh Mục thuốc tại cơ sở khám bệnh, chữa bệnh để bảo đảm Mục tiêu sử dụng thuốc hợp lý, an toàn, hiệu quả.
    2. Tư vấn và giám sát việc kê đơn và sử dụng thuốc.
    3. Thông tin, hướng dẫn sử dụng thuốc cho người hành nghề khám bệnh, chữa bệnh, người sử dụng thuốc và cộng đồng.
    4. Tham gia xây dựng quy trình, hướng dẫn chuyên môn liên quan đến sử dụng thuốc và giám sát việc thực hiện các quy trình này.
    5. Phân tích, đánh giá hiệu quả sử dụng thuốc tại cơ sở khám bệnh, chữa bệnh.
    6. Tham gia theo dõi, giám sát phản ứng có hại của thuốc.
    7. Tham gia hoạt động nghiên cứu khoa học liên quan đến sử dụng thuốc hợp lý, an toàn, hiệu quả.
    Điều 81. Triển khai hoạt động dược lâm sàng
    1. Người đứng đầu cơ sở khám bệnh, chữa bệnh có hoạt động sử dụng thuốc phải tổ chức và triển khai hoạt động dược lâm sàng theo nội dung quy định tại Điều 80 của Luật này.
    2. Người chịu trách nhiệ...
    Công ty cổ phần bảo hiểm có trách nhiệm gì khi kinh doanh tái bảo hiểm? Quản lý chương trình tái bảo hiểm
    ...
    3. Doanh nghiệp bảo hiểm, chi nhánh nước ngoài có trách nhiệm cập nhật thường xuyên danh sách các doanh nghiệp nhận tái bảo hiểm, kèm theo các thông tin về mức độ rủi ro, khả năng, mức độ sẵn sàng chi trả bồi thường tương ứng với trách nhiệm đã nhận tái bảo hiểm; yêu cầu đặt cọc tương ứng với mức độ rủi ro và hệ số tín nhiệm của từng doanh nghiệp nhận tái bảo hiểm (nếu có).
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • per_device_train_batch_size: 10
  • per_device_eval_batch_size: 10
  • num_train_epochs: 1
  • multi_dataset_batch_sampler: round_robin

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: steps
  • prediction_loss_only: True
  • per_device_train_batch_size: 10
  • per_device_eval_batch_size: 10
  • 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
  • num_train_epochs: 1
  • 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: round_robin

Training Logs

Epoch Step Training Loss cosine_ndcg@10
0.0423 500 0.0229 -
0.0846 1000 0.0104 0.9464
0.1268 1500 0.0153 -
0.1691 2000 0.0169 0.9437
0.2114 2500 0.0149 -
0.2537 3000 0.0129 0.9506
0.2959 3500 0.0134 -
0.3382 4000 0.0134 0.9455
0.3805 4500 0.0155 -
0.4228 5000 0.0078 0.9518
0.4650 5500 0.0105 -
0.5073 6000 0.0105 0.9475
0.5496 6500 0.0118 -
0.5919 7000 0.0088 0.9505
0.6341 7500 0.0082 -
0.6764 8000 0.0064 0.9567
0.7187 8500 0.0064 -
0.7610 9000 0.0053 0.9591
0.8032 9500 0.0091 -
0.8455 10000 0.0068 0.9576
0.8878 10500 0.0075 -
0.9301 11000 0.0071 0.9583
0.9724 11500 0.0061 -
1.0 11827 - 0.9596

Framework Versions

  • Python: 3.10.10
  • Sentence Transformers: 3.3.1
  • Transformers: 4.44.2
  • PyTorch: 2.2.1+cu121
  • Accelerate: 1.1.1
  • Datasets: 2.19.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",
}

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}
}
Downloads last month
60
Safetensors
Model size
568M 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 binh230/bge-m3-finetuned-1

Base model

BAAI/bge-m3
Finetuned
(181)
this model

Evaluation results