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 = [
    'nội_dung đánh_giá xếp loại chất_lượng kiểm_soát viên tại doanh_nghiệp do bộ công_thương làm đại_diện chủ sở_hữu vốn nhà_nước gồm những gì',
    'điều truy_cứu trách_nhiệm hình_sự trong một_số trường_hợp cụ_thể trường_hợp người cho vay_lãi nặng nhằm thu lợi bất_chính từ đồng trở lên nhưng vì nguyên_nhân ngoài ý_muốn mà người cho vay chưa thu lợi bất_chính hoặc đã thu lợi bất_chính dưới đồng thì bị truy_cứu trách_nhiệm hình_sự theo khung hình_phạt tương_ứng với tổng_số tiền thu lợi bất_chính mà họ nhằm đạt được việc xác_định số tiền thu lợi bất_chính được thực_hiện theo hướng_dẫn tại điều nghị_quyết này khi quyết_định_hình_phạt tòa_án áp_dụng điều và khoản điều của bộ_luật hình_sự về phạm_tội chưa đạt',
    'thành_phần phiên_hòa giải đối_thoại tại tòa_án thành_phần phiên_hòa giải đối_thoại gồm có a hòa giải_viên b các bên người đại_diện người phiên_dịch c người được mời tham_gia hòa giải đối_thoại trong trường_hợp cần_thiết các bên có_thể trực_tiếp hoặc ủy quyền cho người đại_diện tham_gia hòa giải đối_thoại đồng_thời phải thông_báo bằng văn_bản về họ tên địa_chỉ của người đại_diện cho bên kia và hòa giải viên biết đối_với hòa giải việc ly_hôn các bên trong quan_hệ vợ_chồng phải trực_tiếp tham_gia hòa giải quyền và nghĩa_vụ của người đại_diện của các bên được xác_định theo quy_định của bộ luật dân_sự người bị kiện trong khiếu_kiện hành_chính có_thể ủy quyền cho người đại_diện tham_gia đối_thoại người đại_diện theo ủy quyền phải có đầy_đủ thẩm_quyền để giải_quyết khiếu_kiện',
]
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]

Training Details

Training Dataset

Unnamed Dataset

  • Size: 191,129 training samples
  • Columns: question, pos_neg, and label
  • Approximate statistics based on the first 1000 samples:
    question pos_neg label
    type string string int
    details
    • min: 6 tokens
    • mean: 37.01 tokens
    • max: 83 tokens
    • min: 35 tokens
    • mean: 377.5 tokens
    • max: 1887 tokens
    • 0: ~51.90%
    • 1: ~48.10%
  • Samples:
    question pos_neg label
    hồ_sơ đề_nghị đưa hàng_hóa_nhập_khẩu về bảo_quản của người khai hải_quan gồm những thành_phần_nào dự_án đầu_tư khởi_nghiệp sáng_tạo là dự_án đầu_tư thực_hiện ý_tưởng trên cơ_sở khai_thác tài_sản trí_tuệ công_nghệ mô_hình kinh_doanh mới và có khả_năng tăng_trưởng nhanh 0
    giai_đoạn ủ_bệnh của bệnh đậu_mùa khỉ là bao_nhiêu ngày cấp thẻ bảo_hiểm y_tế đối_tượng bảo_trợ xã_hội đang hưởng trợ_cấp xã_hội hàng tháng được cấp thẻ bảo_hiểm y_tế theo quy_định của pháp_luật về bảo_hiểm y_tế trường_hợp đối_tượng quy_định tại khoản điều này thuộc diện được cấp nhiều loại thẻ bảo_hiểm y_tế thì chỉ được cấp một thẻ bảo_hiểm y_tế có quyền_lợi bảo_hiểm y_tế cao nhất
    mức đóng và trách_nhiệm đóng bảo_hiểm y_tế trường_hợp một người đồng_thời thuộc nhiều đối_tượng tham_gia_bảo_hiểm y_tế khác nhau quy_định tại điều của luật này thì đóng bảo_hiểm y_tế theo đối_tượng đầu_tiên mà người đó được xác_định theo thứ_tự của các đối_tượng quy_định tại điều của luật này trường_hợp đối_tượng quy_định tại điểm a khoản điều của luật này có thêm một hoặc nhiều hợp_đồng lao_động không xác_định thời_hạn hoặc hợp_đồng lao_động có thời_hạn từ đủ tháng trở lên thì đóng bảo_hiểm y_tế theo hợp_đồng lao_động có mức tiền_lương cao nhất trường_hợp đối_tượng quy_định tại điểm b khoản điều của luật này đồng_thời thuộc nhiều đối_tượng tham_gia_bảo_hiểm y_...
    0
    trường_hợp khiếu_nại quyết_định hành_chính thì quyết_định bị khiếu_nại có buộc phải tạm đình_chỉ thi_hành hay không tạm đình_chỉ việc thi_hành_quyết_định hành_chính bị khiếu_nại trong quá_trình giải_quyết khiếu_nại nếu xét thấy việc thi_hành_quyết_định hành_chính bị khiếu_nại sẽ gây hậu_quả khó khắc_phục thì người giải_quyết khiếu_nại ra quyết_định tạm đình_chỉ việc thi_hành_quyết_định hành_chính bị khiếu_nại thời_hạn tạm đình_chỉ không vượt quá thời_gian còn lại của thời_hạn giải_quyết khiếu_nại khi xét thấy lý_do của việc tạm đình_chỉ không còn thì người giải_quyết khiếu_nại phải ra quyết_định hủy bỏ ngay quyết_định tạm đình_chỉ 1
  • Loss: ContrastiveLoss with these parameters:
    {
        "distance_metric": "SiameseDistanceMetric.COSINE_DISTANCE",
        "margin": 0.5,
        "size_average": true
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • per_device_train_batch_size: 2
  • learning_rate: 2e-05
  • weight_decay: 0.01
  • num_train_epochs: 1
  • warmup_ratio: 0.1
  • fp16: True
  • fp16_full_eval: True

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: no
  • prediction_loss_only: True
  • per_device_train_batch_size: 2
  • 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.01
  • adam_beta1: 0.9
  • adam_beta2: 0.999
  • adam_epsilon: 1e-08
  • max_grad_norm: 1.0
  • num_train_epochs: 1
  • 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: True
  • fp16_opt_level: O1
  • half_precision_backend: auto
  • bf16_full_eval: False
  • fp16_full_eval: True
  • 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
  • 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
  • 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
  • use_liger_kernel: False
  • eval_use_gather_object: False
  • average_tokens_across_devices: False
  • prompts: None
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss
0.0010 100 0.0289
0.0021 200 0.0306
0.0031 300 0.0322
0.0042 400 0.0307
0.0052 500 0.0288
0.0063 600 0.0327
0.0073 700 0.0287
0.0084 800 0.027
0.0094 900 0.0259
0.0105 1000 0.0249
0.0115 1100 0.029
0.0126 1200 0.0287
0.0136 1300 0.028
0.0146 1400 0.0259
0.0157 1500 0.0209
0.0167 1600 0.0213
0.0178 1700 0.0237
0.0188 1800 0.022
0.0199 1900 0.0202
0.0209 2000 0.0182
0.0220 2100 0.0223
0.0230 2200 0.0211
0.0241 2300 0.0155
0.0251 2400 0.0186
0.0262 2500 0.0171
0.0272 2600 0.0174
0.0283 2700 0.0172
0.0293 2800 0.0178
0.0303 2900 0.0174
0.0314 3000 0.0184
0.0324 3100 0.0168
0.0335 3200 0.0183

Framework Versions

  • Python: 3.9.19
  • Sentence Transformers: 3.3.1
  • Transformers: 4.46.3
  • PyTorch: 2.5.1+cu124
  • Accelerate: 1.1.1
  • Datasets: 3.1.0
  • Tokenizers: 0.20.3

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

ContrastiveLoss

@inproceedings{hadsell2006dimensionality,
    author={Hadsell, R. and Chopra, S. and LeCun, Y.},
    booktitle={2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'06)},
    title={Dimensionality Reduction by Learning an Invariant Mapping},
    year={2006},
    volume={2},
    number={},
    pages={1735-1742},
    doi={10.1109/CVPR.2006.100}
}
Downloads last month
1
Safetensors
Model size
568M params
Tensor type
F32
·
Inference Providers NEW
This model is not currently available via any of the supported third-party Inference Providers, and the model is not deployed on the HF Inference API.

Model tree for hieulhwork24/bge-m3-finetuned

Base model

BAAI/bge-m3
Finetuned
(197)
this model