SentenceTransformer based on google-bert/bert-base-multilingual-cased

This is a sentence-transformers model finetuned from google-bert/bert-base-multilingual-cased. 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}) with Transformer model: BertModel 
  (1): Pooling({'word_embedding_dimension': 768, '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})
)

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("Savoxism/Finetuned-BERT-Multilingual-Legal-Doc-Retrieval")
# Run inference
sentences = [
    'Tổ chức sinh hoạt tôn giáo tập trung cần đáp ứng điều kiện gì?',
    '"Điều 16. Điều kiện đăng ký sinh hoạt tôn giáo tập trung\n1. Tổ chức tôn giáo đăng ký sinh hoạt tôn giáo tập trung cho tín đồ tại những nơi chưa đủ điều kiện thành lập tổ chức tôn giáo trực thuộc; tổ chức được cấp chứng nhận đăng ký hoạt động tôn giáo đăng ký sinh hoạt tôn giáo tập trung cho những người thuộc tổ chức khi đáp ứng đủ các điều kiện sau đây:\na) Có địa điểm hợp pháp để sinh hoạt tôn giáo;\nb) Nhóm sinh hoạt tôn giáo tập trung có người đại diện là công dân Việt Nam thường trú tại Việt Nam, có năng lực hành vi dân sự đầy đủ; không trong thời gian bị áp dụng biện pháp xử lý hành chính trong lĩnh vực tín ngưỡng, tôn giáo; không có án tích hoặc không phải là người đang bị buộc tội theo quy định của pháp luật về tố tụng hình sự;\nc) Nội dung sinh hoạt tôn giáo không thuộc trường hợp quy định tại Điều 5 của Luật này.\n2. Những người theo tôn giáo không thuộc trường hợp quy định tại khoản 1 Điều này được đăng ký sinh hoạt tôn giáo tập trung khi đáp ứng đủ các điều kiện quy định tại khoản 1 Điều này và các điều kiện sau đây:\na) Có giáo lý, giáo luật;\nb) Tên của nhóm sinh hoạt tôn giáo tập trung không trùng với tên tổ chức tôn giáo hoặc tổ chức đã được cấp chứng nhận đăng ký hoạt động tôn giáo, tên tổ chức chính trị, tổ chức chính trị - xã hội hoặc tên danh nhân, anh hùng dân tộc."',
    'ĐIỀU TRỊ\n...\n3. Điều trị hỗ trợ\na) Hạ sốt.\nChỉ dùng paracetamol khi nhiệt độ trên 39oC (không dùng thuốc hạ sốt nhóm salicylate như aspirin).\nb) Bảo đảm chế độ dinh dưỡng và chăm sóc.\n- Dinh dưỡng:\n+ Người bệnh nhẹ: cho ăn bằng đường miệng.\n+ Người bệnh nặng: cho ăn sữa và bột dinh dưỡng qua ống thông dạ dày.\n+ Nếu người bệnh không ăn được phải kết hợp nuôi dưỡng bằng đường tĩnh mạch.\n- Chăm sóc hô hấp: giúp người bệnh ho, khạc; vỗ rung vùng ngực; hút đờm.\nc) Sử dụng kháng sinh thích hợp khi có bội nhiễm vi khuẩn\nd) Hỗ trợ hô hấp khi có suy hô hấp:\n- Nằm đầu cao 30-450.\n- Cho người bệnh thở oxy với lưu lượng thích hợp.\n- Những trường hợp không đáp ứng với thở oxy cần hỗ trợ hô hấp bằng máy thở không xâm nhập hoặc xâm nhập.\ne) Phát hiện và điều trị suy đa phủ tạng.\ng) Những trường hợp nặng điều trị giống như cúm A (H5N1) nặng đã được Bộ Y tế ban hành.\n...',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]

# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]

Training Details

Training Dataset

Unnamed Dataset

  • Size: 89,592 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: 25.78 tokens
    • max: 49 tokens
    • min: 27 tokens
    • mean: 274.44 tokens
    • max: 512 tokens
  • Samples:
    sentence_0 sentence_1
    Người sử dụng lao động khi thực hiện đào tạo nghề cần thông báo kết quả đào tạo đến cơ quan nào? Trách nhiệm của người sử dụng lao động về đào tạo, bồi dưỡng, nâng cao trình độ, kỹ năng nghề
    1. Người sử dụng lao động xây dựng kế hoạch hằng năm và dành kinh phí cho việc đào tạo, bồi dưỡng, nâng cao trình độ, kỹ năng nghề, phát triển kỹ năng nghề cho người lao động đang làm việc cho mình; đào tạo cho người lao động trước khi chuyển làm nghề khác cho mình.
    2. Hằng năm, người sử dụng lao động thông báo kết quả đào tạo, bồi dưỡng, nâng cao trình độ, kỹ năng nghề cho cơ quan chuyên môn về lao động thuộc Ủy ban nhân dân cấp tỉnh.
    Thương nhân kinh doanh Siêu thị kinh doanh tổng hợp có thể tự tiến hành phân hạng Siêu thị của mình không? Phân hạng, tên gọi và biển hiệu Siêu thị, Trung tâm thương mại
    1. Thương nhân kinh doanh Siêu thị hoặc Trung tâm thương mại tự tiến hành phân hạng Siêu thị, Trung tâm thương mại của mình căn cứ các tiêu chuẩn tại Điều 3 và Điều 4 Quy chế này theo sự hướng dẫn và kiểm tra của Sở thương mại tỉnh, thành phố trực thuộc Trung ương (sau đây gọi tắt là Sở Thương mại).
    ...
    Căn hộ chung cư phải đảm bảo có diện tích tối thiểu bao nhiêu theo quy định hiện nay? "2.2.4 Căn hộ chung cư
    2.2.4.1 Phải có tối thiểu một phòng ở và một khu vệ sinh. Diện tích sử dụng tối thiểu của căn hộ chung cư không nhỏ hơn 25 m2.
    2.2.4.2 Đối với dự án nhà ở thương mại, phải đảm bảo tỷ lệ căn hộ chung cư có diện tích nhỏ hơn 45 m2 không vượt quá 25 % tổng số căn hộ chung cư của dự án.
    2.2.4.3 Căn hộ chung cư phải được chiếu sáng tự nhiên. Căn hộ có từ 2 phòng ở trở lên, cho phép một phòng ở không có chiếu sáng tự nhiên.
    2.2.4.4 Phòng ngủ phải được thông thoáng, chiếu sáng tự nhiên. Diện tích sử dụng của phòng ngủ trong căn hộ chung cư không được nhỏ hơn 9 m2."
  • Loss: CachedMultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • per_device_train_batch_size: 32
  • per_device_eval_batch_size: 32
  • num_train_epochs: 2
  • multi_dataset_batch_sampler: round_robin

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: no
  • prediction_loss_only: True
  • per_device_train_batch_size: 32
  • per_device_eval_batch_size: 32
  • 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: 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: 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
  • use_liger_kernel: False
  • eval_use_gather_object: False
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: round_robin

Training Logs

Epoch Step Training Loss
0.1786 500 0.6029
0.3571 1000 0.1195
0.5357 1500 0.0848
0.7143 2000 0.0719
0.8929 2500 0.0645
1.0714 3000 0.0547
1.25 3500 0.0299
1.4286 4000 0.033
1.6071 4500 0.0292
1.7857 5000 0.0244
1.9643 5500 0.0268

Framework Versions

  • Python: 3.10.12
  • Sentence Transformers: 3.1.1
  • Transformers: 4.45.2
  • PyTorch: 2.5.1+cu121
  • Accelerate: 1.2.1
  • Datasets: 2.21.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",
}

CachedMultipleNegativesRankingLoss

@misc{gao2021scaling,
    title={Scaling Deep Contrastive Learning Batch Size under Memory Limited Setup},
    author={Luyu Gao and Yunyi Zhang and Jiawei Han and Jamie Callan},
    year={2021},
    eprint={2101.06983},
    archivePrefix={arXiv},
    primaryClass={cs.LG}
}
Downloads last month
5
Safetensors
Model size
0.2B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Savoxism/Finetuned-BERT-Multilingual-Legal-Doc-Retrieval

Finetuned
(899)
this model