Edit model card

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': 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("anhtuansh/bert-base-multilingual-Financial-Matryoshka")
# Run inference
sentences = [
    'Thẩm định nội dung điều chỉnh báo cáo nghiên cứu khả thi, quyết định phê duyệt điều chỉnh dự án PPP do nhà đầu tư  đề xuất có thể nộp hồ sơ Trực tiếp',
    'Thẩm định nội dung điều chỉnh báo cáo nghiên cứu khả thi, quyết định phê duyệt điều chỉnh dự án PPP do nhà đầu tư  đề xuất có cách thức nộp hồ sơ như thế nào? ',
    'Tiếp tục hưởng trợ cấp thất nghiệp do cấp nào thực hiệ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]

Evaluation

Metrics

Information Retrieval

Metric Value
cosine_accuracy@1 0.0961
cosine_accuracy@3 0.2815
cosine_accuracy@5 0.4706
cosine_accuracy@10 0.9575
cosine_precision@1 0.0961
cosine_precision@3 0.0938
cosine_precision@5 0.0941
cosine_precision@10 0.0958
cosine_recall@1 0.0961
cosine_recall@3 0.2815
cosine_recall@5 0.4706
cosine_recall@10 0.9575
cosine_ndcg@10 0.4333
cosine_mrr@10 0.2785
cosine_map@100 0.28

Information Retrieval

Metric Value
cosine_accuracy@1 0.0959
cosine_accuracy@3 0.285
cosine_accuracy@5 0.4775
cosine_accuracy@10 0.9581
cosine_precision@1 0.0959
cosine_precision@3 0.095
cosine_precision@5 0.0955
cosine_precision@10 0.0958
cosine_recall@1 0.0959
cosine_recall@3 0.285
cosine_recall@5 0.4775
cosine_recall@10 0.9581
cosine_ndcg@10 0.4349
cosine_mrr@10 0.2802
cosine_map@100 0.2816

Information Retrieval

Metric Value
cosine_accuracy@1 0.1023
cosine_accuracy@3 0.2884
cosine_accuracy@5 0.4768
cosine_accuracy@10 0.9575
cosine_precision@1 0.1023
cosine_precision@3 0.0961
cosine_precision@5 0.0954
cosine_precision@10 0.0957
cosine_recall@1 0.1023
cosine_recall@3 0.2884
cosine_recall@5 0.4768
cosine_recall@10 0.9575
cosine_ndcg@10 0.4377
cosine_mrr@10 0.2841
cosine_map@100 0.2855

Information Retrieval

Metric Value
cosine_accuracy@1 0.0965
cosine_accuracy@3 0.2873
cosine_accuracy@5 0.4797
cosine_accuracy@10 0.9574
cosine_precision@1 0.0965
cosine_precision@3 0.0958
cosine_precision@5 0.0959
cosine_precision@10 0.0957
cosine_recall@1 0.0965
cosine_recall@3 0.2873
cosine_recall@5 0.4797
cosine_recall@10 0.9574
cosine_ndcg@10 0.4353
cosine_mrr@10 0.2808
cosine_map@100 0.2823

Information Retrieval

Metric Value
cosine_accuracy@1 0.0968
cosine_accuracy@3 0.2868
cosine_accuracy@5 0.4732
cosine_accuracy@10 0.9583
cosine_precision@1 0.0968
cosine_precision@3 0.0956
cosine_precision@5 0.0946
cosine_precision@10 0.0958
cosine_recall@1 0.0968
cosine_recall@3 0.2868
cosine_recall@5 0.4732
cosine_recall@10 0.9583
cosine_ndcg@10 0.4353
cosine_mrr@10 0.2807
cosine_map@100 0.2821

Training Details

Training Dataset

Unnamed Dataset

  • Size: 181,350 training samples
  • Columns: positive and anchor
  • Approximate statistics based on the first 1000 samples:
    positive anchor
    type string string
    details
    • min: 10 tokens
    • mean: 107.98 tokens
    • max: 512 tokens
    • min: 12 tokens
    • mean: 37.24 tokens
    • max: 448 tokens
  • Samples:
    positive anchor
    Tính tiền cấp quyền khai thác tài nguyên nước đối với công trình chưa vận hành cấp tỉnh có yêu cầu là . Tính tiền cấp quyền khai thác tài nguyên nước đối với công trình chưa vận hành cấp tỉnh có yêu cầu gì?
    Xóa đăng ký hành nghề và thu hồi Thẻ công chứng viên trường hợp công chứng viên không còn hành nghề tại tổ chức hành nghề công chứng được thực hiện mức độ trực tuyến Toàn trình Xóa đăng ký hành nghề và thu hồi Thẻ công chứng viên trường hợp công chứng viên không còn hành nghề tại tổ chức hành nghề công chứng được thực hiện mức độ mấy?
    Thủ tục cấp giấy chứng nhận đủ điều kiện kinh doanh hoạt động thể thao đối với môn Mô tô nước trên biển có trình tự thực hiện như sau: Doanh nghiệp gửi hồ sơ đến cơ quan chuyên môn về thể dục, thể thao thuộc Ủy ban nhân nhân cấp tỉnh nơi đăng ký địa điểm kinh doanh hoạt động thể thao hoặc nơi doanh nghiệp có trụ sở chính trong trường hợp doanh nghiệp có nhiều địa điểm kinh doanh hoạt động thể thao.Cơ quan chuyên môn về thể dục, thể thao thuộc Ủy ban nhân dân cấp tỉnh (sau đây gọi là cơ quan cấp Giấy chứng nhận đủ điều kiện) cấp cho doanh nghiệp giấy tiếp nhận hồ sơ. Trường hợp hồ sơ cần sửa đổi, bổ sung, cơ quan cấp Giấy chứng nhận đủ điều kiện thông báo trực tiếp hoặc bằng văn bản những nội dung cần sửa đổi, bổ sung đến doanh nghiệp trong thời hạn 03 ngày làm việc, kể từ ngày nhận hồ sơ. Thủ tục cấp giấy chứng nhận đủ điều kiện kinh doanh hoạt động thể thao đối với môn Mô tô nước trên biển có trình tự thực hiện như thế nào?
  • Loss: MatryoshkaLoss with these parameters:
    {
        "loss": "MultipleNegativesRankingLoss",
        "matryoshka_dims": [
            768,
            512,
            256,
            128,
            64
        ],
        "matryoshka_weights": [
            1,
            1,
            1,
            1,
            1
        ],
        "n_dims_per_step": -1
    }
    

Evaluation Dataset

Unnamed Dataset

  • Size: 20,150 evaluation samples
  • Columns: positive and anchor
  • Approximate statistics based on the first 1000 samples:
    positive anchor
    type string string
    details
    • min: 15 tokens
    • mean: 101.71 tokens
    • max: 512 tokens
    • min: 14 tokens
    • mean: 36.81 tokens
    • max: 191 tokens
  • Samples:
    positive anchor
    Điều chỉnh quyết định thu hồi đất, giao đất, cho thuê đất, cho phép chuyển mục đích sử dụng đất của Thủ tướng Chính phủ đã ban hành trước ngày 01 tháng 7 năm 2004 có yêu cầu hồ sơ gồm: 1. Hồ sơ do người sử dụng đất nộp 01 bộ tại Sở Tài nguyên và Môi trường gồm:Văn bản đề nghị điều chỉnh quyết định thu hồi đất, giao đất, cho thuê đất, cho phép chuyển mục đích sử dụng đất của Thủ tướng Chính phủ ban hành trước ngày 01 tháng 7 năm 2004 theo Mẫu số 03 ban hành kèm theo Thông tư 33/2017/TT-BTNMTBản sao quyết định thu hồi đất, giao đất, cho thuê đất, cho phép chuyển mục đích sử dụng đất của Thủ tướng Chính phủ đã ban hành trước ngày 01 tháng 7 năm 2004Bản sao giấy chứng nhận quyền sử dụng đất hoặc Giấy chứng nhận quyền sở hữu nhà ở và quyền sử dụng đất ở hoặc Giấy chứng nhận quyền sử dụng đất, quyền sở hữu nhà ở và tài sản khác gắn liền với đất đã cấp (nếu có)Bản sao giấy phép đầu tư hoặc giấy chứng nhận đầu tư hoặc giấy đăng ký kinh doanh hoặc văn bản chấp thuận chủ trương đầu tư hoặc quyết định chủ trương đầu tư hoặc giấy chứng nhận đăng ký đầu tư đã cấp (nếu có)2. Hồ sơ do Sở Tài nguyên và Môi trường lập để trình Ủy ban nhân dân cấp tỉnh gồm:Tờ trình theo Mẫu số 04 ban hành kèm theo Thông tư 33/2017/TT-BTNMTCác giấy tờ do người sử dụng đất nộp tại mục 1 nêu trên;Văn bản của cơ quan có thẩm quyền đối với trường hợp người sử dụng đất không đề nghị điều chỉnh quyết định thu hồi đất, giao đất, cho thuê đất, cho phép chuyển mục đích sử dụng đất của Thủ tướng Chính phủ;Trích lục bản đồ địa chính thửa đất hoặc trích đo địa chính thửa đất (đã có trong hồ sơ giao đất, cho thuê đất trước đây).3. Hồ sơ thẩm định do Ủy ban nhân dân cấp tỉnh lập gửi Bộ Tài nguyên và Môi trường đối với trường hợp điều chỉnh quyết định mà phải báo cáo Thủ tướng Chính phủ gồm:Tờ trình theo Mẫu số 05 ban hành kèm theo Thông tư 33/2017/TT-BTNMTCác giấy tờ do người sử dụng đất nộp theo quy định tại mục 1 nêu trênVăn bản của cơ quan có thẩm quyền đề nghị điều chỉnh quyết định thu hồi đất, giao đất, cho thuê đất, cho phép chuyển mục đích sử dụng đất của Thủ tướng Chính phủ (nếu có)Trích lục bản đồ địa chính thửa đất hoặc trích đo địa chính thửa đất (đã có trong hồ sơ giao đất, cho thuê đất trước đây)4. Hồ sơ do Bộ Tài nguyên và Môi trường lập để trình Thủ tướng Chính phủ gồm:Tờ trình Thủ tướng Chính phủCác giấy tờ do Ủy ban nhân dân cấp tỉnh lập theo quy định tại mục 3 nêu trênVăn bản của Bộ, ngành có liên quan góp ý về việc đề nghị điều chỉnh quyết định thu hồi đất, giao đất, cho thuê đất, cho phép chuyển mục đích sử dụng đất của Thủ tướng Chính phủ đối với dự án phải xin ý kiến các Bộ, ngành (nếu có) Điều chỉnh quyết định thu hồi đất, giao đất, cho thuê đất, cho phép chuyển mục đích sử dụng đất của Thủ tướng Chính phủ đã ban hành trước ngày 01 tháng 7 năm 2004 có yêu cầu thành phần hồ sơ những gì?
    Thủ tục thông báo hủy kết quả phong phẩm hoặc suy cử chức sắc đối với các trường hợp quy định tại khoản 2 Điều 33 của Luật tín ngưỡng, tôn giáo được thực hiện mức độ trực tuyến Toàn trình Thủ tục thông báo hủy kết quả phong phẩm hoặc suy cử chức sắc đối với các trường hợp quy định tại khoản 2 Điều 33 của Luật tín ngưỡng, tôn giáo được thực hiện mức độ mấy?
    Thủ tục đính chính Giấy chứng nhận đã cấp có phí, lệ phí là: Trực tiếp: Thủ tục đính chính Giấy chứng nhận đã cấp có phí, lệ phí là bao nhiêu?
  • Loss: MatryoshkaLoss with these parameters:
    {
        "loss": "MultipleNegativesRankingLoss",
        "matryoshka_dims": [
            768,
            512,
            256,
            128,
            64
        ],
        "matryoshka_weights": [
            1,
            1,
            1,
            1,
            1
        ],
        "n_dims_per_step": -1
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: epoch
  • per_device_train_batch_size: 16
  • per_device_eval_batch_size: 16
  • gradient_accumulation_steps: 16
  • learning_rate: 2e-05
  • num_train_epochs: 5
  • lr_scheduler_type: cosine
  • warmup_ratio: 0.1
  • fp16: True
  • tf32: False
  • load_best_model_at_end: True
  • optim: adamw_torch_fused
  • 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: 16
  • per_device_eval_batch_size: 16
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: None
  • gradient_accumulation_steps: 16
  • eval_accumulation_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: 5
  • max_steps: -1
  • lr_scheduler_type: cosine
  • 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: False
  • tf32: False
  • 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}
  • deepspeed: None
  • label_smoothing_factor: 0.0
  • optim: adamw_torch_fused
  • 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
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step loss dim_128_cosine_map@100 dim_256_cosine_map@100 dim_512_cosine_map@100 dim_64_cosine_map@100 dim_768_cosine_map@100
0.9994 708 0.0012 0.2727 0.2739 0.2781 0.2744 0.2762
1.9988 1416 0.0006 0.2827 0.2835 0.2858 0.2815 0.2844
2.9996 2125 0.0004 0.2831 0.2812 0.2843 0.2829 0.2852
3.9989 2833 0.0004 0.2878 0.2827 0.2839 0.2830 0.2815
4.9969 3540 0.0004 0.2823 0.2855 0.2816 0.2821 0.2800
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.10.10
  • Sentence Transformers: 3.0.1
  • Transformers: 4.41.2
  • PyTorch: 2.1.2+cu121
  • Accelerate: 0.29.3
  • Datasets: 2.19.1
  • 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",
}

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}
}
Downloads last month
2
Safetensors
Model size
178M params
Tensor type
F32
·
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.

Finetuned from

Evaluation results