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-2-v2")
# 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.1001
cosine_accuracy@3 0.2904
cosine_accuracy@5 0.4779
cosine_accuracy@10 0.951
cosine_precision@1 0.1001
cosine_precision@3 0.0968
cosine_precision@5 0.0956
cosine_precision@10 0.0951
cosine_recall@1 0.1001
cosine_recall@3 0.2904
cosine_recall@5 0.4779
cosine_recall@10 0.951
cosine_ndcg@10 0.4352
cosine_mrr@10 0.2826
cosine_map@100 0.2844

Information Retrieval

Metric Value
cosine_accuracy@1 0.1005
cosine_accuracy@3 0.2899
cosine_accuracy@5 0.483
cosine_accuracy@10 0.9526
cosine_precision@1 0.1005
cosine_precision@3 0.0966
cosine_precision@5 0.0966
cosine_precision@10 0.0953
cosine_recall@1 0.1005
cosine_recall@3 0.2899
cosine_recall@5 0.483
cosine_recall@10 0.9526
cosine_ndcg@10 0.4368
cosine_mrr@10 0.284
cosine_map@100 0.2858

Information Retrieval

Metric Value
cosine_accuracy@1 0.0993
cosine_accuracy@3 0.2883
cosine_accuracy@5 0.4743
cosine_accuracy@10 0.9554
cosine_precision@1 0.0993
cosine_precision@3 0.0961
cosine_precision@5 0.0949
cosine_precision@10 0.0955
cosine_recall@1 0.0993
cosine_recall@3 0.2883
cosine_recall@5 0.4743
cosine_recall@10 0.9554
cosine_ndcg@10 0.4356
cosine_mrr@10 0.2819
cosine_map@100 0.2835

Information Retrieval

Metric Value
cosine_accuracy@1 0.0978
cosine_accuracy@3 0.289
cosine_accuracy@5 0.4753
cosine_accuracy@10 0.9555
cosine_precision@1 0.0978
cosine_precision@3 0.0963
cosine_precision@5 0.0951
cosine_precision@10 0.0956
cosine_recall@1 0.0978
cosine_recall@3 0.289
cosine_recall@5 0.4753
cosine_recall@10 0.9555
cosine_ndcg@10 0.435
cosine_mrr@10 0.2811
cosine_map@100 0.2827

Information Retrieval

Metric Value
cosine_accuracy@1 0.0955
cosine_accuracy@3 0.2863
cosine_accuracy@5 0.4743
cosine_accuracy@10 0.9552
cosine_precision@1 0.0955
cosine_precision@3 0.0954
cosine_precision@5 0.0949
cosine_precision@10 0.0955
cosine_recall@1 0.0955
cosine_recall@3 0.2863
cosine_recall@5 0.4743
cosine_recall@10 0.9552
cosine_ndcg@10 0.4341
cosine_mrr@10 0.2799
cosine_map@100 0.2815

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

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
3
Safetensors
Model size
178M params
Tensor type
F32
·
Inference API
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 anhtuansh/bert-base-multilingual-Financial-Matryoshka-2-v2

Finetuned
this model

Evaluation results