SentenceTransformer based on AITeamVN/Vietnamese_Embedding

This is a sentence-transformers model finetuned from AITeamVN/Vietnamese_Embedding. It maps sentences & paragraphs to a 1024-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: AITeamVN/Vietnamese_Embedding
  • Maximum Sequence Length: 8192 tokens
  • Output Dimensionality: 1024 dimensions
  • Similarity Function: Cosine Similarity

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 8192, 'do_lower_case': False}) with Transformer model: XLMRobertaModel 
  (1): Pooling({'word_embedding_dimension': 1024, '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})
  (2): Normalize()
)

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/vietnamese-legal-embedding-finetuned")
# Run inference
sentences = [
    'Khu Quản lý đường bộ 1 trực thuộc Cục Đường bộ Việt Nam có nhiệm vụ và quyền hạn gì trong công tác giao thông địa phương?',
    'c) Tham gia ý kiến về chuyển đổi giữa đường địa phương và quốc lộ. 7. Về quản lý vận tải, phương tiện và người lái: a) Quản lý, cấp phát phôi giấy phép vận tải đường bộ quốc tế, phôi giấy phép lái xe theo ủy quyền của Cục trưởng; cấp giấy phép lưu hành cho xe quá tải trọng, quá khổ giới hạn, xe bánh xích, xe vận chuyển hàng siêu trường, siêu trọng theo quy định của pháp luật; b) Tham gia hướng dẫn, kiểm tra việc thực hiện quy định về kinh doanh, điều kiện kinh doanh vận tải bằng xe ô tô và dịch vụ hỗ trợ vận tải đường bộ tại các địa phương trong khu vực quản lý; c) Tham gia kiểm tra, giám sát công tác quản lý phương tiện, đào tạo, sát hạch, cấp giấy phép lái xe cơ giới đường bộ và chứng chỉ bồi dưỡng kiến thức pháp luật cho người điều khiển xe máy chuyên dùng tham gia giao thông đường bộ; ...',
    'Vị trí và chức năng\n1. Khu Quản lý đường bộ I là tổ chức trực thuộc Cục Đường bộ Việt Nam, thực hiện chức năng tham mưu, giúp Cục trưởng Cục Đường bộ Việt Nam (sau đây gọi tắt là Cục trưởng) quản lý nhà nước về giao thông đường bộ trong khu vực quản lý; trực tiếp quản lý, bảo trì, khai thác, sử dụng kết cấu hạ tầng giao thông các tuyến quốc lộ và đường khác được giao trong khu vực quản lý, gồm các tỉnh, thành phố: Hà Nội, Hà Nam, Ninh Bình, Nam Định, Thái Bình, Hưng Yên, Hải Dương, Hải Phòng, Quảng Ninh, Bắc Ninh, Bắc Giang, Lạng Sơn, Cao Bằng, Bắc Kạn, Thái Nguyên, Vĩnh Phúc, Phú Thọ, Tuyên Quang, Hà Giang, Yên Bái, Lào Cai, Lai Châu, Điện Biên, Sơn La, Hòa Bình.\n2. Khu Quản lý đường bộ I là tổ chức hành chính tương đương chi cục, có tư cách pháp nhân, có con dấu, được mở tài khoản tại Kho bạc Nhà nước và có trụ sở tại thành phố Hà Nội.',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 1024]

# 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.425
cosine_accuracy@3 0.6446
cosine_accuracy@5 0.7228
cosine_accuracy@10 0.8038
cosine_precision@1 0.425
cosine_precision@3 0.2149
cosine_precision@5 0.1446
cosine_precision@10 0.0804
cosine_recall@1 0.425
cosine_recall@3 0.6446
cosine_recall@5 0.7228
cosine_recall@10 0.8038
cosine_ndcg@10 0.6131
cosine_mrr@10 0.5521
cosine_map@100 0.5587

Training Details

Training Dataset

Unnamed Dataset

  • Size: 45,000 training samples
  • Columns: sentence_0, sentence_1, and sentence_2
  • Approximate statistics based on the first 1000 samples:
    sentence_0 sentence_1 sentence_2
    type string string string
    details
    • min: 7 tokens
    • mean: 23.9 tokens
    • max: 47 tokens
    • min: 4 tokens
    • mean: 147.28 tokens
    • max: 353 tokens
    • min: 5 tokens
    • mean: 224.25 tokens
    • max: 404 tokens
  • Samples:
    sentence_0 sentence_1 sentence_2
    Hồ sơ thanh toán trực tiếp được pháp luật quy định như thế nào? "Điều 28. Hồ sơ đề nghị thanh toán trực tiếp
    1. Các giấy tờ là bản chụp (kèm theo bản gốc để đối chiếu) gồm:
    a) Thẻ bảo hiểm y tế, giấy chứng minh nhân thân theo quy định tại khoản 1 Điều 15 Nghị định này.
    b) Giấy ra viện, phiếu khám bệnh hoặc sổ khám bệnh của lần khám bệnh, chữa bệnh đề nghị thanh toán.
    2. Hóa đơn và các chứng từ có liên quan."
    Nội dung giám định hồ sơ thanh toán trực tiếp
    1. Xác định điều kiện được thanh toán trực tiếp.
    2. Kiểm tra chi phí khám bệnh, chữa bệnh người bệnh được thanh toán trực tiếp.
    Hạn chót đăng ký nguyện vọng 2023 là ngày bao nhiêu? Hết hạn đăng ký nguyện vọng thì thí sinh còn đăng ký được nữa không? thoại hỗ trợ công tác tuyển sinh để được hướng dẫn. ngày hết thời hạn nộp hồ sơ đăng ký dự thi hoặc xét thăng hạng.
    Các trường hợp nào bị tạm hoãn xuất cảnh? bị dịch bệnh nguy hiểm lây lan, truyền nhiễm và xét thấy cần ngăn chặn ngay, không để dịch bệnh lây lan, truyền nhiễm ra cộng đồng, trừ trường hợp được phía nước ngoài cho phép nhập cảnh. 9. Bộ trưởng Bộ Quốc phòng, Bộ trưởng Bộ Công an có thẩm quyền quyết định tạm hoãn xuất cảnh đối với trường hợp quy định tại khoản 9 Điều 36 của Luật này. 10. Người có thẩm quyền quy định tại các khoản 1, 2, 3, 4, 5, 6 và 7 Điều này chỉ được ra quyết định tạm hoãn xuất cảnh trong phạm vi nhiệm vụ, quyền hạn của mình và đối với trường hợp liên quan đến vụ án, vụ việc đang thuộc thẩm quyền giải quyết. 11. Người có thẩm quyền ra quyết định tạm hoãn xuất cảnh thì có thẩm quyền ra quyết định gia hạn, hủy bỏ quyết định tạm hoãn xuất cảnh và phải chịu trách nhiệm trước pháp luật về quyết định của mình. 12. Trong trường hợp đặc biệt, Bộ trưởng Bộ Công an thống nhất với người ra quyết định tạm hoãn xuất cảnh về việc cho phép người bị tạm hoãn xuất cảnh được xuất cảnh. Các trường hợp bị tạm hoãn xuất cảnh 1. Bị can, bị cáo; người bị tố giác, người bị kiến nghị khởi tố mà qua kiểm tra, xác minh có căn cứ xác định người đó bị nghi thực hiện tội phạm và xét thấy cần ngăn chặn ngay việc người đó trốn hoặc tiêu hủy chứng cứ theo quy định của Bộ luật Tố tụng hình sự. 2. Người được hoãn chấp hành án phạt tù, người được tạm đình chỉ chấp hành án phạt tù, người được tha tù trước thời hạn có điều kiện trong thời gian thử thách, người được hưởng án treo trong thời gian thử thách, người chấp hành án phạt cải tạo không giam giữ trong thời gian chấp hành án theo quy định của Luật Thi hành án hình sự. 3. Người có nghĩa vụ theo quy định của pháp luật về tố tụng dân sự nếu có căn cứ cho thấy việc giải quyết vụ án có liên quan đến nghĩa vụ của họ đối với Nhà nước, cơ quan, tổ chức, cá nhân và việc xuất cảnh của họ ảnh hưởng đến việc giải quyết vụ án, lợi ích của Nhà nước, quyền và lợi ích hợp pháp của cơ quan, tổ chức, cá nhân hoặc để bảo đảm việc thi hành án. 4. Ngườ...
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • per_device_train_batch_size: 4
  • per_device_eval_batch_size: 4
  • num_train_epochs: 1
  • multi_dataset_batch_sampler: round_robin

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: steps
  • prediction_loss_only: True
  • per_device_train_batch_size: 4
  • per_device_eval_batch_size: 4
  • 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: 1
  • 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: None
  • hub_always_push: False
  • hub_revision: None
  • 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
  • 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
  • liger_kernel_config: None
  • eval_use_gather_object: False
  • average_tokens_across_devices: False
  • prompts: None
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: round_robin

Training Logs

Epoch Step legal_dev_eval_cosine_ndcg@10
0.0178 200 0.6131

Framework Versions

  • Python: 3.11.13
  • Sentence Transformers: 4.1.0
  • Transformers: 4.53.3
  • PyTorch: 2.6.0+cu124
  • Accelerate: 1.9.0
  • Datasets: 4.4.1
  • Tokenizers: 0.21.2

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",
}

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

Model tree for Savoxism/bge-large-en-v1.5-finetuned

Base model

BAAI/bge-m3
Finetuned
(8)
this model

Papers for Savoxism/bge-large-en-v1.5-finetuned

Evaluation results