SentenceTransformer based on hiieu/halong_embedding

This is a sentence-transformers model finetuned from hiieu/halong_embedding. 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: hiieu/halong_embedding
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 768 tokens
  • Similarity Function: Cosine Similarity

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: XLMRobertaModel 
  (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})
  (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("tranguyen/halong_embedding-legal-document-finetune")
# Run inference
sentences = [
    'Kiểm định viên chính kỹ thuật an toàn lao động phải đáp ứng những tiêu chuẩn gì về trình độ đào tạo?',
    'Kiểm định viên chính kỹ thuật an toàn lao động - Mã số: V.09.03.01\n...\n2. Tiêu chuẩn về trình độ đào tạo, bồi dưỡng:\na) Có bằng tốt nghiệp đại học trở lên thuộc các chuyên ngành kỹ thuật phù hợp với phạm vi thực hiện kiểm định;\nb) Có chứng chỉ bồi dưỡng chức danh nghề nghiệp viên chức chuyên ngành kiểm định kỹ thuật an toàn lao động hoặc chứng chỉ kiểm định viên kiểm định kỹ thuật an toàn lao động.\n3. Tiêu chuẩn về năng lực chuyên môn, nghiệp vụ:\na) Có năng lực chủ trì tổ chức, triển khai các hoạt động nghiệp vụ kiểm định kỹ thuật an toàn lao động và đề xuất giải pháp nâng cao hiệu quả triển khai thực hiện các hoạt động thuộc lĩnh vực kiểm định;\nb) Có năng lực tổ chức phối hợp với các tổ chức, cá nhân có liên quan khác trong quá trình thực hiện nhiệm vụ về hoạt động kiểm định kỹ thuật an toàn lao động;\nc) Có khả năng hướng dẫn nghiệp vụ về lĩnh vực kiểm định kỹ thuật an toàn lao động phù hợp với chuyên ngành được đào tạo;\nd) Đã chủ trì 01 nhiệm vụ khoa học và công nghệ cấp bộ, cấp tỉnh ở mức đạt trở lên liên quan đến lĩnh vực kiểm định kỹ thuật an toàn lao động hoặc tham gia ít nhất 02 nhiệm vụ khoa học và công nghệ cấp bộ, cấp tỉnh được nghiệm thu ở mức đạt trở lên liên quan đến lĩnh vực kiểm định;\nđ) Có khả năng ứng dụng công nghệ thông tin trong thực hiện các nhiệm vụ của kiểm định viên chính kỹ thuật an toàn lao động và có khả năng sử dụng ngoại ngữ trong một số nhiệm vụ cụ thể được giao.\n4. Yêu cầu về thời gian công tác tối thiểu đối với viên chức dự thi hoặc xét thăng hạng chức danh Kiểm định viên chính kỹ thuật an toàn lao động: Có thời gian công tác giữ chức danh Kiểm định viên kỹ thuật an toàn lao động hoặc tương đương từ đủ 09 năm trở lên (không kể thời gian tập sự, thử việc). Trường hợp có thời gian giữ chức danh nghề nghiệp tương đương thì phải có ít nhất 01 năm (đủ 12 tháng) giữ chức danh Kiểm định viên kỹ thuật an toàn lao động tính đế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.',
    'Đề xuất sửa đổi, bổ sung ngành, nghề đầu tư kinh doanh có điều kiện và điều kiện đầu tư kinh doanh\n1. Căn cứ điều kiện phát triển kinh tế - xã hội, yêu cầu quản lý nhà nước trong từng thời kỳ và điều ước quốc tế về đầu tư, bộ, cơ quan ngang bộ trình Chính phủ đề xuất sửa đổi, bổ sung ngành, nghề đầu tư kinh doanh có điều kiện hoặc điều kiện đầu tư kinh doanh.\n2. Việc đề xuất sửa đổi, bổ sung ngành, nghề đầu tư kinh doanh có điều kiện hoặc điều kiện đầu tư kinh doanh được thực hiện trong Đề nghị xây dựng văn bản quy phạm pháp luật theo quy định của Luật Ban hành văn bản quy phạm pháp luật, trong đó có những nội dung sau đây:\na) Ngành, nghề đầu tư kinh doanh có điều kiện hoặc điều kiện đầu tư kinh doanh dự kiến sửa đổi, bổ sung;\nb) Phân tích sự cần thiết, mục đích của việc sửa đổi, bổ sung ngành, nghề đầu tư kinh doanh có điều kiện hoặc điều kiện đầu tư kinh doanh phù hợp với quy định tại khoản 1 Điều 7 Luật Đầu tư;\nc) Căn cứ sửa đổi, bổ sung ngành, nghề đầu tư kinh doanh có điều kiện hoặc điều kiện đầu tư kinh doanh và đối tượng phải tuân thủ;\nd) Đánh giá tính hợp lý, khả thi của việc sửa đổi, bổ sung ngành, nghề đầu tư kinh doanh có điều kiện hoặc điều kiện đầu tư kinh doanh và sự phù hợp với điều ước quốc tế về đầu tư;\nđ) Đánh giá tác động của việc sửa đổi, bổ sung ngành, nghề đầu tư kinh doanh có điều kiện hoặc điều kiện đầu tư kinh doanh đối với công tác quản lý nhà nước và hoạt động đầu tư kinh doanh của các đối tượng phải tuân thủ.',
]
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.459
cosine_accuracy@3 0.6587
cosine_accuracy@5 0.7348
cosine_accuracy@10 0.8212
cosine_precision@1 0.459
cosine_precision@3 0.2285
cosine_precision@5 0.1543
cosine_precision@10 0.0873
cosine_recall@1 0.4366
cosine_recall@3 0.6386
cosine_recall@5 0.7146
cosine_recall@10 0.8032
cosine_ndcg@10 0.6253
cosine_mrr@10 0.5766
cosine_map@100 0.5713

Training Details

Training Dataset

Unnamed Dataset

  • Size: 119,717 training samples
  • Columns: anchors and positives
  • Approximate statistics based on the first 1000 samples:
    anchors positives
    type string string
    details
    • min: 7 tokens
    • mean: 24.31 tokens
    • max: 50 tokens
    • min: 28 tokens
    • mean: 257.87 tokens
    • max: 512 tokens
  • Samples:
    anchors positives
    Chính sách thôi việc ngay đối với cán bộ, công chức, viên chức khi thực hiện tinh giản biên chế như thế nào? “7. Về chính sách thôi việc ngay: Thực hiện theo quy định tại khoản 4 Điều 1 Nghị định số 143/2020/NĐ-CP.”“Điều 1. Sửa đổi, bổ sung một số điều của Nghị định số 108/2014/NĐ-CP ngày 20 tháng 11 năm 2014 của Chính phủ về chính sách tinh giản biên chế và Nghị định số 113/2018/NĐ-CP ngày 31 tháng 8 năm 2018 của Chính phủ sửa đổi, bổ sung một số điều của Nghị định số 108/2014/NĐ-CP về chính sách tinh giản biên chế.
    ...
    4. Sửa đổi, bổ sung khoản 1 Điều 10 Nghị định số 108/2014/NĐ-CP như sau:
    "1. Chính sách thôi việc ngay
    Những người thuộc đối tượng tinh giản biên chế quy định tại Điều 6 Nghị định này có tuổi tối đa thấp hơn 2 tuổi so với tuổi nghỉ hưu tối thiểu quy định tại khoản 3 Điều 169 Bộ luật Lao động và không đủ điều kiện để hưởng chính sách về hưu trước tuổi quy định tại khoản 1 Điều 8 Nghị định này hoặc có tuổi thấp hơn 2 tuổi so với tuổi nghỉ hưu quy định tại khoản 2 Điều 169 Bộ luật Lao động và không đủ điều kiện để hưởng chính sách về hưu trước tuổi quy định tại khoản 2 Điều 8 Nghị định này nếu thôi việc ngay thì được hưởng các khoản trợ cấp sau:
    a) Được trợ cấp 03 tháng tiền lương hiện hưởng để tìm việc làm;
    b) Được trợ cấp 1,5 tháng tiền lương cho mỗi năm công tác có đóng bảo hiểm xã hội.”
    Chính sách thôi việc ngay đối với cán bộ, công chức, viên chức khi thực hiện tinh giản biên chế như thế nào? “7. Về chính sách thôi việc ngay: Thực hiện theo quy định tại khoản 4 Điều 1 Nghị định số 143/2020/NĐ-CP.”“Điều 1. Sửa đổi, bổ sung một số điều của Nghị định số 108/2014/NĐ-CP ngày 20 tháng 11 năm 2014 của Chính phủ về chính sách tinh giản biên chế và Nghị định số 113/2018/NĐ-CP ngày 31 tháng 8 năm 2018 của Chính phủ sửa đổi, bổ sung một số điều của Nghị định số 108/2014/NĐ-CP về chính sách tinh giản biên chế.
    ...
    4. Sửa đổi, bổ sung khoản 1 Điều 10 Nghị định số 108/2014/NĐ-CP như sau:
    "1. Chính sách thôi việc ngay
    Những người thuộc đối tượng tinh giản biên chế quy định tại Điều 6 Nghị định này có tuổi tối đa thấp hơn 2 tuổi so với tuổi nghỉ hưu tối thiểu quy định tại khoản 3 Điều 169 Bộ luật Lao động và không đủ điều kiện để hưởng chính sách về hưu trước tuổi quy định tại khoản 1 Điều 8 Nghị định này hoặc có tuổi thấp hơn 2 tuổi so với tuổi nghỉ hưu quy định tại khoản 2 Điều 169 Bộ luật Lao động và không đủ điều kiện để hưởng chính sách về hưu trước tuổi quy định tại khoản 2 Điều 8 Nghị định này nếu thôi việc ngay thì được hưởng các khoản trợ cấp sau:
    a) Được trợ cấp 03 tháng tiền lương hiện hưởng để tìm việc làm;
    b) Được trợ cấp 1,5 tháng tiền lương cho mỗi năm công tác có đóng bảo hiểm xã hội.”
    Quy định về nhiệm vụ của Ban chỉ huy phòng, chống thiên tai và tìm kiếm cứu nạn cấp xã như thế nào? Tổ chức, nhiệm vụ của Ban chỉ huy phòng, chống thiên tai và tìm kiếm cứu nạn cấp xã
    ...
    4. Nhiệm vụ của Ban chỉ huy phòng, chống thiên tai và tìm kiếm cứu nạn cấp xã:
    a) Tham mưu giúp Ủy ban nhân dân cấp xã thực hiện nhiệm vụ phòng, chống thiên tai theo quy định tại khoản 2 Điều 43 của Luật Phòng, chống thiên tai;
    b) Thực hiện việc truyền phát tin chỉ đạo, chỉ huy ứng phó thiên tai của các cấp đến cộng đồng;
    c) Chỉ huy ứng phó thiên tai, tìm kiếm cứu nạn trong thiên tai trong phạm vi cấp xã;
    d) Chỉ đạo, đôn đốc việc xây dựng và phê duyệt kế hoạch, phương án ứng phó thiên tai của địa phương;
    đ) Kiểm tra, đôn đốc tổ chức, cá nhân tại địa phương thực hiện nhiệm vụ phòng, chống thiên tai;
    e) Chủ trì tham mưu giúp Ủy ban nhân dân xã thành lập, tổ chức đào tạo, tập huấn và duy trì lực lượng xung kích phòng chống thiên tai cấp xã với nòng cốt là lực lượng dân quân tự vệ và sự tham gia của Hội Chữ thập đỏ, đoàn thanh niên và các tổ chức đoàn thể khác tại địa phương;
    g) Thực hiện các nội dung về Quỹ phòng, chống thiên tai theo quy định;
    h) Tổ chức phổ biến, tuyên truyền nâng cao nhận thức cộng đồng về phòng chống thiên tai hàng năm.
  • Loss: MatryoshkaLoss with these parameters:
    {
        "loss": "MultipleNegativesRankingLoss",
        "matryoshka_dims": [
            768,
            512,
            256,
            128
        ],
        "matryoshka_weights": [
            1,
            1,
            1,
            1
        ],
        "n_dims_per_step": -1
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • per_device_train_batch_size: 4
  • per_device_eval_batch_size: 4
  • gradient_accumulation_steps: 4
  • learning_rate: 3e-05
  • num_train_epochs: 5
  • lr_scheduler_type: cosine
  • warmup_ratio: 0.1
  • bf16: True
  • load_best_model_at_end: True
  • optim: adamw_torch_fused
  • resume_from_checkpoint: halong_embedding-legal-document-finetune/checkpoint-32308
  • batch_sampler: no_duplicates

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: 4
  • eval_accumulation_steps: None
  • torch_empty_cache_steps: None
  • learning_rate: 3e-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: True
  • 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: 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: halong_embedding-legal-document-finetune/checkpoint-32308
  • 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
  • eval_on_start: False
  • use_liger_kernel: False
  • eval_use_gather_object: False
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss dim_128_cosine_map@100
4.3707 32702 0.0005 0.5715
4.4234 33096 0.0003 0.5718
4.4760 33490 0.0003 0.5720
4.5287 33884 0.0012 0.5722
4.5814 34278 0.0002 0.5714
4.6340 34672 0.0004 0.5714
4.6867 35066 0.0003 0.5715
4.7393 35460 0.001 0.5715
4.7920 35854 0.0002 0.5718
4.8446 36248 0.0003 0.5716
4.8973 36642 0.0018 0.5716
4.9499 37036 0.001 0.5713
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.10.12
  • Sentence Transformers: 3.1.1
  • Transformers: 4.45.2
  • PyTorch: 2.5.0+cu124
  • Accelerate: 1.0.1
  • Datasets: 3.0.2
  • Tokenizers: 0.20.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
1,654
Safetensors
Model size
278M params
Tensor type
F32
·
Inference Examples
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 tranguyen/halong_embedding-legal-document-finetune

Finetuned
(12)
this model

Evaluation results