SentenceTransformer based on bkai-foundation-models/vietnamese-bi-encoder

This is a sentence-transformers model finetuned from bkai-foundation-models/vietnamese-bi-encoder on the json dataset. 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 Type: Sentence Transformer
  • Base model: bkai-foundation-models/vietnamese-bi-encoder
  • Maximum Sequence Length: 256 tokens
  • Output Dimensionality: 768 dimensions
  • Similarity Function: Cosine Similarity
  • Training Dataset:
    • json

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 256, 'do_lower_case': False}) with Transformer model: RobertaModel 
  (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("pvquaan/vietquan_legal_embedding_v3")
# Run inference
sentences = [
    'Giả sử một Kế hoạch phòng ngừa, ứng phó sự cố hóa chất của một ngành sản xuất hóa chất cụ thể cần được phê duyệt, dựa vào Điều 41 Luật Hóa chất, những cơ quan nào chắc chắn sẽ tham gia vào quá trình này và lý do cho sự tham gia của họ là gì? Điều 41. Thẩm quyền phê duyệt Kế hoạch phòng ngừa, ứng phó sự cố hóa chất\n\nBộ quản lý ngành, lĩnh vực chủ trì, phối hợp với cơ quan quản lý nhà nước về phòng cháy, chữa cháy, Bộ Công thương và cơ quan quản lý nhà nước có liên quan tổ chức thẩm định, phê duyệt Kế hoạch phòng ngừa, ứng phó sự cố hóa chất.',
    'Dựa trên Điều 41 Luật Hóa chất, khi một Kế hoạch phòng ngừa, ứng phó sự cố hóa chất của một ngành sản xuất hóa chất cụ thể cần được phê duyệt, các cơ quan sau đây chắc chắn sẽ tham gia:\n1. **Bộ quản lý ngành, lĩnh vực**: Đây sẽ là Bộ chủ trì, ví dụ như Bộ Công Thương (nếu ngành sản xuất hóa chất thuộc phạm vi quản lý của Bộ này) hoặc một Bộ chuyên ngành khác nếu có. Lý do là Điều 41 quy định rõ "Bộ quản lý ngành, lĩnh vực chủ trì" việc tổ chức thẩm định, phê duyệt.\n2. **Cơ quan quản lý nhà nước về phòng cháy, chữa cháy**: Cơ quan này sẽ phối hợp vì sự cố hóa chất thường tiềm ẩn nguy cơ cháy nổ cao, đòi hỏi chuyên môn về phòng cháy, chữa cháy để đảm bảo kế hoạch có các biện pháp ứng phó hiệu quả và an toàn.\n3. **Bộ Công thương**: Bộ này được nêu tên cụ thể trong điều luật là một trong các cơ quan phối hợp. Điều này phản ánh vai trò quản lý nhà nước của Bộ đối với lĩnh vực công nghiệp và thương mại hóa chất, bao gồm cả các hoạt động sản xuất.\n4. **Cơ quan quản lý nhà nước có liên quan**: Tùy thuộc vào tính chất cụ thể của ngành sản xuất hóa chất và các yếu tố liên quan (ví dụ: tác động môi trường, sức khỏe cộng đồng), các cơ quan khác như Bộ Tài nguyên và Môi trường, Bộ Y tế có thể được xem là "cơ quan quản lý nhà nước có liên quan" và sẽ phối hợp. Sự tham gia của các cơ quan này nhằm đảm bảo Kế hoạch được thẩm định và phê duyệt một cách toàn diện, bao quát mọi khía cạnh từ quản lý ngành, an toàn cháy nổ, đến các tác động tiềm ẩn khác, phù hợp với quy định tại Điều 41.',
    'Dựa trên Điều 16 Luật Điện lực, đặc biệt là Khoản 1, một doanh nghiệp sản xuất linh kiện điện tử khi đầu tư dây chuyền sản xuất mới cần lưu ý và thực hiện các biện pháp sau để đảm bảo tuân thủ quy định về tiết kiệm điện:1. Áp dụng công nghệ và trang thiết bị hiệu suất cao: Doanh nghiệp phải ưu tiên lựa chọn và áp dụng công nghệ, trang thiết bị sử dụng điện có suất tiêu hao điện năng thấp (Khoản 1.b).2. Quản lý nhu cầu và hạn chế sử dụng giờ cao điểm: Doanh nghiệp cần xây dựng chương trình quản lý nhu cầu điện để giảm chênh lệch công suất giữa giờ cao điểm và giờ thấp điểm. Đồng thời, phải hạn chế tối đa việc sử dụng các thiết bị điện công suất lớn vào giờ cao điểm của biểu đồ phụ tải hệ thống điện (Khoản 1.a và 1.c).3. Đảm bảo hệ số công suất và tránh non tải: Doanh nghiệp phải đảm bảo hệ số công suất của các thiết bị điện theo tiêu chuẩn kỹ thuật và hạn chế tối đa việc sử dụng thiết bị điện non tải, gây lãng phí điện năng (Khoản 1.d).4. Thực hiện kiểm toán năng lượng: Doanh nghiệp có trách nhiệm tổ chức kiểm toán năng lượng theo định kỳ và thực hiện các giải pháp điều chỉnh sau khi có kết luận kiểm toán theo quy định của Bộ Công nghiệp (Khoản 1.đ).Mục đích rộng hơn của các yêu cầu này là không chỉ giảm chi phí cho doanh nghiệp mà còn góp phần vào việc sử dụng điện hiệu quả trên toàn hệ thống, giảm áp lực lên lưới điện quốc gia, đặc biệt trong các giờ cao điểm, và thúc đẩy phát triển bền vững.',
]
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.0938
cosine_accuracy@3 0.0984
cosine_accuracy@5 0.0992
cosine_accuracy@10 0.0995
cosine_precision@1 0.0938
cosine_precision@3 0.0328
cosine_precision@5 0.0198
cosine_precision@10 0.0099
cosine_recall@1 0.0938
cosine_recall@3 0.0984
cosine_recall@5 0.0992
cosine_recall@10 0.0995
cosine_ndcg@10 0.0971
cosine_mrr@10 0.0962
cosine_map@100 0.0964

Training Details

Training Dataset

json

  • Dataset: json
  • Size: 191,504 training samples
  • Columns: anchor and positive
  • Approximate statistics based on the first 1000 samples:
    anchor positive
    type string string
    details
    • min: 38 tokens
    • mean: 231.92 tokens
    • max: 256 tokens
    • min: 28 tokens
    • mean: 168.05 tokens
    • max: 256 tokens
  • Samples:
    anchor positive
    Theo Điều 5 Luật Địa chất và Khoáng sản, hội nhập và hợp tác quốc tế về địa chất, khoáng sản được thực hiện trong những hoạt động cụ thể nào? Điều 5. Nguyên tắc hội nhập và hợp tác quốc tế về địa chất, khoáng sản

    1. Hội nhập và hợp tác quốc tế trong nghiên cứu, điều tra cơ bản địa chất, điều tra địa chất về khoáng sản, hoạt động khoáng sản, quản lý hoạt động khoáng sản phải đặt trong tổng thể chiến lược phát triển kinh tế - xã hội của đất nước trong từng thời kỳ; chiến lược địa chất, khoáng sản và công nghiệp khai khoáng; tuân thủ Hiến pháp, pháp luật Việt Nam, Hiến chương Liên hợp quốc, điều ước quốc tế mà nước Cộng hòa xã hội chủ nghĩa Việt Nam là thành viên, bảo đảm phù hợp với đường lối và chính sách đối ngoại của Việt Nam; bảo đảm nguyên tắc hợp tác bình đẳng, cùng có lợi trên cơ sở tôn trọng độc lập, chủ quyền và toàn vẹn lãnh thổ, không can thiệp vào công việc nội bộ của nhau.

    2. Tranh chấp quốc tế về địa chất, khoáng sản được giải quyết thông qua các biện pháp hòa bình, theo ...
    Theo Khoản 1 Điều 5 Luật Địa chất và Khoáng sản, hội nhập và hợp tác quốc tế về địa chất, khoáng sản được thực hiện trong các hoạt động sau: nghiên cứu, điều tra cơ bản địa chất; điều tra địa chất về khoáng sản; hoạt động khoáng sản; và quản lý hoạt động khoáng sản.
    Theo Điều 5 của Luật, khi thực hiện hội nhập và hợp tác quốc tế về địa chất, khoáng sản, Việt Nam cần tuân thủ những nguyên tắc và khuôn khổ pháp lý nào? Điều 5. Nguyên tắc hội nhập và hợp tác quốc tế về địa chất, khoáng sản

    1. Hội nhập và hợp tác quốc tế trong nghiên cứu, điều tra cơ bản địa chất, điều tra địa chất về khoáng sản, hoạt động khoáng sản, quản lý hoạt động khoáng sản phải đặt trong tổng thể chiến lược phát triển kinh tế - xã hội của đất nước trong từng thời kỳ; chiến lược địa chất, khoáng sản và công nghiệp khai khoáng; tuân thủ Hiến pháp, pháp luật Việt Nam, Hiến chương Liên hợp quốc, điều ước quốc tế mà nước Cộng hòa xã hội chủ nghĩa Việt Nam là thành viên, bảo đảm phù hợp với đường lối và chính sách đối ngoại của Việt Nam; bảo đảm nguyên tắc hợp tác bình đẳng, cùng có lợi trên cơ sở tôn trọng độc lập, chủ quyền và toàn vẹn lãnh thổ, không can thiệp vào công việc nội bộ của nhau.

    2. Tranh chấp quốc tế về địa chất, khoáng sản được giải quyết thông qua các biện pháp hòa...
    Khi thực hiện hội nhập và hợp tác quốc tế về địa chất, khoáng sản, Việt Nam cần tuân thủ một số nguyên tắc và khuôn khổ pháp lý quan trọng. Cụ thể, Khoản 1 Điều 5 quy định việc này phải đặt trong tổng thể chiến lược phát triển kinh tế - xã hội của đất nước, chiến lược địa chất, khoáng sản và công nghiệp khai khoáng. Về khuôn khổ pháp lý, Việt Nam phải tuân thủ Hiến pháp, pháp luật Việt Nam, Hiến chương Liên hợp quốc, và các điều ước quốc tế mà Cộng hòa xã hội chủ nghĩa Việt Nam là thành viên. Đồng thời, việc hợp tác phải bảo đảm phù hợp với đường lối và chính sách đối ngoại của Việt Nam, và tuân thủ nguyên tắc hợp tác bình đẳng, cùng có lợi trên cơ sở tôn trọng độc lập, chủ quyền và toàn vẹn lãnh thổ, không can thiệp vào công việc nội bộ của nhau.
    Giả sử có một tranh chấp quốc tế phát sinh liên quan đến địa chất, khoáng sản mà Việt Nam là một bên, việc giải quyết tranh chấp này sẽ được thực hiện theo nguyên tắc và cơ sở pháp lý nào theo Luật Địa chất và Khoáng sản? Hãy phân tích ý nghĩa của quy định này. Điều 5. Nguyên tắc hội nhập và hợp tác quốc tế về địa chất, khoáng sản

    1. Hội nhập và hợp tác quốc tế trong nghiên cứu, điều tra cơ bản địa chất, điều tra địa chất về khoáng sản, hoạt động khoáng sản, quản lý hoạt động khoáng sản phải đặt trong tổng thể chiến lược phát triển kinh tế - xã hội của đất nước trong từng thời kỳ; chiến lược địa chất, khoáng sản và công nghiệp khai khoáng; tuân thủ Hiến pháp, pháp luật Việt Nam, Hiến chương Liên hợp quốc, điều ước quốc tế mà nước Cộng hòa xã hội chủ nghĩa Việt Nam là thành viên, bảo đảm phù hợp với đường lối và chính sách đối ngoại của Việt Nam; bảo đảm nguyên tắc hợp tác bình đẳng, cùng có lợi trên cơ sở tôn trọng độc lập, chủ quyền và toàn vẹn lãnh thổ, không can thiệp vào công việc...
    Theo Khoản 2 Điều 5 Luật Địa chất và Khoáng sản, nếu có một tranh chấp quốc tế phát sinh liên quan đến địa chất, khoáng sản, việc giải quyết tranh chấp này sẽ được thực hiện thông qua các biện pháp hòa bình. Cơ sở pháp lý để giải quyết bao gồm thông lệ quốc tế, pháp luật quốc tế và pháp luật của các bên liên quan.Ý nghĩa của quy định này rất quan trọng. Thứ nhất, nó khẳng định cam kết của Việt Nam trong việc tuân thủ luật pháp quốc tế và các nguyên tắc giải quyết tranh chấp một cách hòa bình, tránh sử dụng vũ lực hoặc các biện pháp cưỡng ép. Thứ hai, việc tham chiếu đến “thông lệ quốc tế, pháp luật quốc tế và pháp luật của các bên liên quan” cho thấy sự linh hoạt và toàn diện trong việc áp dụng các quy tắc pháp lý, đảm bảo rằng việc giải quyết tranh chấp được thực hiện công bằng, minh bạch và có tính đến các yếu tố đặc thù của từng trường hợp. Cuối cùng, điều này cũng phù hợp với nguyên tắc hợp tác bình đẳng, cùng có lợi, tôn trọng độc lập, chủ quyền và không can thiệp vào công việc nộ...
  • 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: steps
  • per_device_train_batch_size: 16
  • gradient_accumulation_steps: 2
  • num_train_epochs: 1
  • warmup_ratio: 0.05
  • fp16: True
  • load_best_model_at_end: True

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: steps
  • prediction_loss_only: True
  • per_device_train_batch_size: 16
  • per_device_eval_batch_size: 8
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: None
  • gradient_accumulation_steps: 2
  • 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.0
  • num_train_epochs: 1
  • max_steps: -1
  • lr_scheduler_type: linear
  • lr_scheduler_kwargs: {}
  • warmup_ratio: 0.05
  • 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: 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: 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
  • 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: None
  • 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 vlegal-bench_cosine_ndcg@10
0.0334 100 0.325 -
0.0668 200 0.2055 -
0.1003 300 0.1912 -
0.1337 400 0.1665 -
0.1671 500 0.126 -
0.2005 600 0.1377 -
0.2339 700 0.136 -
0.2673 800 0.1197 -
0.3008 900 0.1157 -
0.3342 1000 0.1201 0.0972
0.3676 1100 0.0939 -
0.4010 1200 0.0972 -
0.4344 1300 0.0581 -
0.4678 1400 0.0885 -
0.5013 1500 0.0655 -
0.5347 1600 0.0681 -
0.5681 1700 0.0557 -
0.6015 1800 0.0791 -
0.6349 1900 0.0632 -
0.6683 2000 0.0683 0.0971
0.7018 2100 0.0611 -
0.7352 2200 0.0587 -
0.7686 2300 0.054 -
0.8020 2400 0.0393 -
0.8354 2500 0.0495 -
0.8688 2600 0.0349 -
0.9023 2700 0.041 -
0.9357 2800 0.0581 -
0.9691 2900 0.0486 -
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.12.12
  • Sentence Transformers: 3.3.1
  • Transformers: 4.47.1
  • PyTorch: 2.10.0+cu128
  • Accelerate: 0.34.2
  • Datasets: 2.21.0
  • Tokenizers: 0.21.4

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
13
Safetensors
Model size
0.1B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for pvquaan/vietquan_legal_embedding_v3

Finetuned
(50)
this model

Papers for pvquaan/vietquan_legal_embedding_v3

Evaluation results