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
- Documentation: Sentence Transformers Documentation
- Repository: Sentence Transformers on GitHub
- Hugging Face: Sentence Transformers on Hugging Face
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/giahuy_legal_embedding_v2")
# Run inference
sentences = [
'Theo Điều 104 của Luật Địa chất và Khoáng sản, tổ chức, cá nhân trúng đấu giá quyền khai thác khoáng sản có những quyền cơ bản nào? Điều 104. Quyền và nghĩa vụ của tổ chức, cá nhân trúng đấu giá quyền khai thác khoáng sản\n\n1. Tổ chức, cá nhân trúng đấu giá quyền khai thác khoáng sản có các quyền sau đây:\n\na) Được sử dụng thông tin về khoáng sản liên quan đến khu vực trúng đấu giá quyền khai thác khoáng sản;\n\nb) Được cấp giấy phép thăm dò khoáng sản, giấy phép khai thác khoáng sản, giấy phép khai thác tận thu khoáng sản sau khi hoàn thành thủ tục đề nghị cấp giấy phép thăm dò khoáng sản, giấy phép khai thác khoáng sản, giấy phép khai thác tận thu khoáng sản theo quy định của Luật này;\n\nc) Quyền khác theo quy định của Luật Đấu giá tài sản và quy định khác của pháp luật có liên quan.\n\n2. Tổ chức, cá nhân trúng đấu giá quyền khai thác khoáng sản có nghĩa vụ sau đây:\n\na) Trường hợp trúng đấu giá quyền khai thác khoáng sản ở khu vực chưa có kết quả thăm dò khoáng sản, trong thời hạn 12 tháng kể từ ngày kết thúc cuộc đấu giá quyền khai thác khoáng sản, phải nộp hồ sơ đề nghị cấp giấy phép thăm dò khoáng sản và được cơ quan quản lý nhà nước có thẩm quyền tiếp nhận, trừ trường hợp trúng đấu giá quyền khai thác khoáng sản ở khu vực tận thu khoáng sản, khu vực khoáng sản nhóm IV;\n\nb) Trường hợp trúng đấu giá quyền khai thác khoáng sản ở khu vực đã có kết quả thăm dò khoáng sản hoặc trúng đấu giá ở khu vực tận thu khoáng sản, khu vực khoáng sản nhóm IV, trong thời hạn 36 tháng kể từ ngày kết thúc cuộc đấu giá quyền khai thác khoáng sản, phải nộp hồ sơ đề nghị cấp giấy phép khai thác khoáng sản, giấy phép khai thác tận thu khoáng sản và được cơ quan quản lý nhà nước có thẩm quyền tiếp nhận; trường hợp bất khả kháng hoặc khi có thay đổi về chính sách của Nhà nước dẫn đến không thể thực hiện thì được kéo dài nhưng không quá 12 tháng;\n\nc) Nghĩa vụ khác theo quy định của Luật Đấu giá tài sản và quy định khác của pháp luật có liên quan.',
'Theo Khoản 1 Điều 104 của Luật Địa chất và Khoáng sản, tổ chức, cá nhân trúng đấu giá quyền khai thác khoáng sản có các quyền sau đây:a) Được sử dụng thông tin về khoáng sản liên quan đến khu vực trúng đấu giá quyền khai thác khoáng sản.b) Được cấp giấy phép thăm dò khoáng sản, giấy phép khai thác khoáng sản, giấy phép khai thác tận thu khoáng sản sau khi hoàn thành thủ tục đề nghị cấp giấy phép thăm dò khoáng sản, giấy phép khai thác khoáng sản, giấy phép khai thác tận thu khoáng sản theo quy định của Luật này.c) Các quyền khác theo quy định của Luật Đấu giá tài sản và quy định khác của pháp luật có liên quan.',
'Theo Khoản 2 Điều 53 Luật Điện lực, nhà ở, công trình xây dựng gần hành lang bảo vệ của trạm điện phải bảo đảm không làm hư hỏng bất kỳ bộ phận nào của trạm. Điều này có nghĩa là trong quá trình thiết kế, thi công và sử dụng công trình, hộ gia đình phải có các biện pháp kỹ thuật và tuân thủ quy định để tránh gây ra bất kỳ tác động tiêu cực nào làm ảnh hưởng đến cấu trúc hoặc hoạt động của trạm điệ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
- Dataset:
vlegal-bench - Evaluated with InformationRetrievalEvaluator
| Metric | Value |
|---|---|
| cosine_accuracy@1 | 0.9098 |
| cosine_accuracy@3 | 0.9749 |
| cosine_accuracy@5 | 0.9862 |
| cosine_accuracy@10 | 0.9912 |
| cosine_precision@1 | 0.9098 |
| cosine_precision@3 | 0.325 |
| cosine_precision@5 | 0.1972 |
| cosine_precision@10 | 0.0991 |
| cosine_recall@1 | 0.9098 |
| cosine_recall@3 | 0.9749 |
| cosine_recall@5 | 0.9862 |
| cosine_recall@10 | 0.9912 |
| cosine_ndcg@10 | 0.9554 |
| cosine_mrr@10 | 0.9434 |
| cosine_map@100 | 0.9439 |
Training Details
Training Dataset
json
- Dataset: json
- Size: 198,593 training samples
- Columns: anchor and positive
- Approximate statistics based on the first 1000 samples:
anchor positive type string string details min: 38 tokensmean: 231.95 tokensmax: 256 tokens min: 28 tokensmean: 168.05 tokensmax: 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ản1. 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ản1. 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ản1. 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: stepsper_device_train_batch_size: 16gradient_accumulation_steps: 2num_train_epochs: 1warmup_ratio: 0.05fp16: Trueload_best_model_at_end: True
All Hyperparameters
overwrite_output_dir: Falsedo_predict: Falseeval_strategy: stepsprediction_loss_only: Trueper_device_train_batch_size: 16per_device_eval_batch_size: 8per_gpu_train_batch_size: Noneper_gpu_eval_batch_size: Nonegradient_accumulation_steps: 2eval_accumulation_steps: Nonetorch_empty_cache_steps: Nonelearning_rate: 5e-05weight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1.0num_train_epochs: 1max_steps: -1lr_scheduler_type: linearlr_scheduler_kwargs: {}warmup_ratio: 0.05warmup_steps: 0log_level: passivelog_level_replica: warninglog_on_each_node: Truelogging_nan_inf_filter: Truesave_safetensors: Truesave_on_each_node: Falsesave_only_model: Falserestore_callback_states_from_checkpoint: Falseno_cuda: Falseuse_cpu: Falseuse_mps_device: Falseseed: 42data_seed: Nonejit_mode_eval: Falseuse_ipex: Falsebf16: Falsefp16: Truefp16_opt_level: O1half_precision_backend: autobf16_full_eval: Falsefp16_full_eval: Falsetf32: Nonelocal_rank: 0ddp_backend: Nonetpu_num_cores: Nonetpu_metrics_debug: Falsedebug: []dataloader_drop_last: Falsedataloader_num_workers: 0dataloader_prefetch_factor: Nonepast_index: -1disable_tqdm: Falseremove_unused_columns: Truelabel_names: Noneload_best_model_at_end: Trueignore_data_skip: Falsefsdp: []fsdp_min_num_params: 0fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}fsdp_transformer_layer_cls_to_wrap: Noneaccelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}deepspeed: Nonelabel_smoothing_factor: 0.0optim: adamw_torchoptim_args: Noneadafactor: Falsegroup_by_length: Falselength_column_name: lengthddp_find_unused_parameters: Noneddp_bucket_cap_mb: Noneddp_broadcast_buffers: Falsedataloader_pin_memory: Truedataloader_persistent_workers: Falseskip_memory_metrics: Trueuse_legacy_prediction_loop: Falsepush_to_hub: Falseresume_from_checkpoint: Nonehub_model_id: Nonehub_strategy: every_savehub_private_repo: Nonehub_always_push: Falsegradient_checkpointing: Falsegradient_checkpointing_kwargs: Noneinclude_inputs_for_metrics: Falseinclude_for_metrics: []eval_do_concat_batches: Truefp16_backend: autopush_to_hub_model_id: Nonepush_to_hub_organization: Nonemp_parameters:auto_find_batch_size: Falsefull_determinism: Falsetorchdynamo: Noneray_scope: lastddp_timeout: 1800torch_compile: Falsetorch_compile_backend: Nonetorch_compile_mode: Nonedispatch_batches: Nonesplit_batches: Noneinclude_tokens_per_second: Falseinclude_num_input_tokens_seen: Falseneftune_noise_alpha: Noneoptim_target_modules: Nonebatch_eval_metrics: Falseeval_on_start: Falseuse_liger_kernel: Falseeval_use_gather_object: Falseaverage_tokens_across_devices: Falseprompts: Nonebatch_sampler: batch_samplermulti_dataset_batch_sampler: proportional
Training Logs
| Epoch | Step | Training Loss | vlegal-bench_cosine_ndcg@10 |
|---|---|---|---|
| 0.0322 | 100 | 2.6271 | - |
| 0.0644 | 200 | 0.8097 | - |
| 0.0967 | 300 | 0.5035 | - |
| 0.1289 | 400 | 0.4613 | - |
| 0.1611 | 500 | 0.3685 | - |
| 0.1933 | 600 | 0.3024 | - |
| 0.2256 | 700 | 0.285 | - |
| 0.2578 | 800 | 0.2818 | - |
| 0.2900 | 900 | 0.2575 | - |
| 0.3222 | 1000 | 0.2054 | 0.9471 |
| 0.3544 | 1100 | 0.196 | - |
| 0.3867 | 1200 | 0.163 | - |
| 0.4189 | 1300 | 0.1409 | - |
| 0.4511 | 1400 | 0.156 | - |
| 0.4833 | 1500 | 0.1515 | - |
| 0.5155 | 1600 | 0.1419 | - |
| 0.5478 | 1700 | 0.13 | - |
| 0.5800 | 1800 | 0.1113 | - |
| 0.6122 | 1900 | 0.1163 | - |
| 0.6444 | 2000 | 0.115 | 0.9509 |
| 0.6767 | 2100 | 0.1159 | - |
| 0.7089 | 2200 | 0.1172 | - |
| 0.7411 | 2300 | 0.0834 | - |
| 0.7733 | 2400 | 0.1239 | - |
| 0.8055 | 2500 | 0.1031 | - |
| 0.8378 | 2600 | 0.0898 | - |
| 0.8700 | 2700 | 0.0789 | - |
| 0.9022 | 2800 | 0.0582 | - |
| 0.9344 | 2900 | 0.0742 | - |
| 0.9667 | 3000 | 0.1029 | 0.9554 |
| 0.9989 | 3100 | 0.0817 | - |
- 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}
}