SentenceTransformer based on Tnt3o5/tnt_v4_lega_new_tokens

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

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("Tnt3o5/tnt_legal_v5.3")
# Run inference
sentences = [
    'Ai có quyền đăng_ký sáng_chế ?',
    'Quyền đăng_ký sáng_chế , kiểu_dáng công_nghiệp , thiết_kế bố_trí Tổ_chức , cá_nhân sau đây có quyền đăng_ký sáng_chế , kiểu_dáng công_nghiệp , thiết_kế bố_trí : Tác giả_tạo ra sáng_chế , kiểu_dáng công_nghiệp , thiết_kế bố_trí bằng công_sức và chi_phí của mình ; Tổ_chức , cá_nhân đầu_tư kinh_phí , phương_tiện vật_chất cho tác_giả dưới hình_thức giao việc , thuê việc , tổ_chức , cá_nhân được giao quản_lý nguồn gen cung_cấp nguồn gen , tri_thức truyền_thống về nguồn gen theo hợp_đồng tiếp_cận nguồn gen và chia_sẻ lợi_ích , trừ trường_hợp các bên có thỏa_thuận khác hoặc trường_hợp quy_định tại Điều_86a của Luật này . Trường_hợp nhiều tổ_chức , cá_nhân cùng nhau tạo ra hoặc đầu_tư để tạo ra sáng_chế , kiểu_dáng công_nghiệp , thiết_kế bố_trí thì các tổ_chức , cá_nhân đó đều có quyền đăng_ký và quyền đăng_ký đó chỉ được thực_hiện nếu được tất_cả các tổ_chức , cá_nhân đó đồng_ý . Tổ_chức , cá_nhân có quyền đăng_ký quy_định tại Điều này có quyền chuyển_giao quyền đăng_ký cho tổ_chức , cá_nhân khác dưới hình_thức hợp_đồng bằng văn_bản , để thừa_kế hoặc kế_thừa theo quy_định của pháp_luật , kể_cả trường_hợp đã nộp đơn đăng_ký .',
    '" Điều Thẩm_quyền quyết_định tạm hoãn gọi nhập_ngũ , miễn gọi nhập_ngũ và công_nhận hoàn_thành nghĩa_vụ quân_sự tại_ngũ Chủ_tịch Ủy_ban_nhân_dân cấp huyện quyết_định tạm hoãn gọi nhập_ngũ và miễn gọi nhập_ngũ đối_với công_dân quy_định tại Điều_41 của Luật này . Chỉ huy_trưởng Ban chỉ_huy quân_sự cấp huyện quyết_định công_nhận hoàn_thành nghĩa_vụ quân_sự tại_ngũ đối_với công_dân quy_định tại Khoản_4 Điều_4 của Luật này . "',
]
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]

Training Details

Training Dataset

Unnamed Dataset

  • Size: 101,442 training samples
  • Columns: anchor and positive
  • Approximate statistics based on the first 1000 samples:
    anchor positive
    type string string
    details
    • min: 7 tokens
    • mean: 20.75 tokens
    • max: 46 tokens
    • min: 10 tokens
    • mean: 155.2 tokens
    • max: 256 tokens
  • Samples:
    anchor positive
    " Người_lớn ( trên 16 tuổi ) " được hiểu là “ Người_lớn và trẻ_em trên 16 tuổi ” " Khi triển_khai “ Hướng_dẫn quản_lý tại nhà đối_với người mắc COVID - 19 ” , đề_nghị hướng_dẫn , làm rõ một_số nội_dung như sau : . Mục 3 “ Người_lớn ( trên 16 tuổ ” : đề_nghị hướng_dẫn là “ Người_lớn và trẻ_em trên 16 tuổi ” . "
    03 Quy_chuẩn kỹ_thuật quốc_gia được ban_hành tại Thông_tư 04 là Quy_chuẩn nào ? Ban_hành kèm theo Thông_tư này 03 Quy_chuẩn kỹ_thuật quốc_gia sau : Quy_chuẩn kỹ_thuật quốc_gia về bộ trục bánh_xe của đầu_máy , toa_xe Số_hiệu : QCVN 110 : 2023/BGTVT. Quy_chuẩn kỹ_thuật quốc_gia về bộ móc_nối , đỡ đấm của đầu_máy , toa_xe Số_hiệu : QCVN 111 : 2023/BGTVT. Quy_chuẩn kỹ_thuật quốc_gia về van hãm sử_dụng trên đầu_máy , toa_xe Số_hiệu : QCVN 112 : 2023/BGTVT.
    03 Tổng công_ty Cảng hàng_không thực_hiện hợp_nhất có trách_nhiệm như thế_nào theo quy_định ? Các Tổng công_ty thực_hiện hợp_nhất nêu tại Điều_1 Quyết_định này có trách_nhiệm chuyển_giao nguyên_trạng toàn_bộ tài_sản , tài_chính , lao_động , đất_đai , dự_án đang triển_khai , các quyền , nghĩa_vụ và lợi_ích hợp_pháp khác sang Tổng công_ty Cảng hàng_không Việt_Nam . Trong thời_gian chưa chuyển_giao , Chủ_tịch Hội_đồng thành_viên , Tổng giám_đốc và các cá_nhân có liên_quan của 03 Tổng công_ty thực_hiện hợp_nhất chịu trách_nhiệm quản_lý toàn_bộ tài_sản , tiền vốn của Tổng công_ty , không để hư_hỏng , hao_hụt , thất_thoát .
  • Loss: MatryoshkaLoss with these parameters:
    {
        "loss": "MultipleNegativesRankingLoss",
        "matryoshka_dims": [
            256,
            128,
            64
        ],
        "matryoshka_weights": [
            1,
            1,
            1
        ],
        "n_dims_per_step": -1
    }
    

Evaluation Dataset

Unnamed Dataset

  • Size: 4,450 evaluation samples
  • Columns: anchor and positive
  • Approximate statistics based on the first 1000 samples:
    anchor positive
    type string string
    details
    • min: 7 tokens
    • mean: 20.75 tokens
    • max: 46 tokens
    • min: 10 tokens
    • mean: 155.2 tokens
    • max: 256 tokens
  • Samples:
    anchor positive
    " Người_lớn ( trên 16 tuổi ) " được hiểu là “ Người_lớn và trẻ_em trên 16 tuổi ” " Khi triển_khai “ Hướng_dẫn quản_lý tại nhà đối_với người mắc COVID - 19 ” , đề_nghị hướng_dẫn , làm rõ một_số nội_dung như sau : . Mục 3 “ Người_lớn ( trên 16 tuổ ” : đề_nghị hướng_dẫn là “ Người_lớn và trẻ_em trên 16 tuổi ” . "
    03 Quy_chuẩn kỹ_thuật quốc_gia được ban_hành tại Thông_tư 04 là Quy_chuẩn nào ? Ban_hành kèm theo Thông_tư này 03 Quy_chuẩn kỹ_thuật quốc_gia sau : Quy_chuẩn kỹ_thuật quốc_gia về bộ trục bánh_xe của đầu_máy , toa_xe Số_hiệu : QCVN 110 : 2023/BGTVT. Quy_chuẩn kỹ_thuật quốc_gia về bộ móc_nối , đỡ đấm của đầu_máy , toa_xe Số_hiệu : QCVN 111 : 2023/BGTVT. Quy_chuẩn kỹ_thuật quốc_gia về van hãm sử_dụng trên đầu_máy , toa_xe Số_hiệu : QCVN 112 : 2023/BGTVT.
    03 Tổng công_ty Cảng hàng_không thực_hiện hợp_nhất có trách_nhiệm như thế_nào theo quy_định ? Các Tổng công_ty thực_hiện hợp_nhất nêu tại Điều_1 Quyết_định này có trách_nhiệm chuyển_giao nguyên_trạng toàn_bộ tài_sản , tài_chính , lao_động , đất_đai , dự_án đang triển_khai , các quyền , nghĩa_vụ và lợi_ích hợp_pháp khác sang Tổng công_ty Cảng hàng_không Việt_Nam . Trong thời_gian chưa chuyển_giao , Chủ_tịch Hội_đồng thành_viên , Tổng giám_đốc và các cá_nhân có liên_quan của 03 Tổng công_ty thực_hiện hợp_nhất chịu trách_nhiệm quản_lý toàn_bộ tài_sản , tiền vốn của Tổng công_ty , không để hư_hỏng , hao_hụt , thất_thoát .
  • Loss: MatryoshkaLoss with these parameters:
    {
        "loss": "MultipleNegativesRankingLoss",
        "matryoshka_dims": [
            256,
            128,
            64
        ],
        "matryoshka_weights": [
            1,
            1,
            1
        ],
        "n_dims_per_step": -1
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • per_device_train_batch_size: 16
  • gradient_accumulation_steps: 4
  • learning_rate: 2e-05
  • weight_decay: 0.01
  • max_grad_norm: 0.2
  • max_steps: 16000
  • lr_scheduler_type: cosine
  • warmup_ratio: 0.15
  • fp16: True
  • load_best_model_at_end: True
  • optim: adamw_torch_fused
  • resume_from_checkpoint: ./legal_finetuning_v6/checkpoint-4000
  • gradient_checkpointing: True
  • batch_sampler: no_duplicates

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: no
  • 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: 4
  • eval_accumulation_steps: None
  • torch_empty_cache_steps: None
  • learning_rate: 2e-05
  • weight_decay: 0.01
  • adam_beta1: 0.9
  • adam_beta2: 0.999
  • adam_epsilon: 1e-08
  • max_grad_norm: 0.2
  • num_train_epochs: 3.0
  • max_steps: 16000
  • lr_scheduler_type: cosine
  • lr_scheduler_kwargs: {}
  • warmup_ratio: 0.15
  • 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_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: ./legal_finetuning_v6/checkpoint-4000
  • hub_model_id: None
  • hub_strategy: every_save
  • hub_private_repo: False
  • hub_always_push: False
  • gradient_checkpointing: True
  • 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
0.2523 400 0.4335
0.5047 800 0.4911
0.7570 1200 0.452
1.0090 1600 0.3942
1.2613 2000 0.4496
1.5136 2400 0.4287
1.7660 2800 0.356
2.0180 3200 0.2785
2.2703 3600 0.3157
2.5226 4000 0.2813
2.7750 4400 0.2328
3.0270 4800 0.1884
3.2793 5200 0.2278
3.5316 5600 0.2012
3.7839 6000 0.1685
4.0360 6400 0.1404
4.2883 6800 0.1771
4.5406 7200 0.1529
4.7929 7600 0.1292
5.0449 8000 0.1091
5.2973 8400 0.1442
5.5496 8800 0.1265
5.8019 9200 0.0948
6.0539 9600 0.0892
6.3063 10000 0.1151
6.5586 10400 0.1001
6.8109 10800 0.0845
7.0629 11200 0.0748
7.3152 11600 0.1002
7.5676 12000 0.084
7.8199 12400 0.0745
8.0719 12800 0.0651
8.3242 13200 0.0833
8.5766 13600 0.0744
8.8289 14000 0.0698
9.0809 14400 0.0624
9.3332 14800 0.0817
9.5856 15200 0.073
9.8379 15600 0.0677
10.0899 16000 0.0608

Framework Versions

  • Python: 3.10.15
  • Sentence Transformers: 3.2.1
  • Transformers: 4.45.2
  • PyTorch: 2.4.0+cu121
  • Accelerate: 1.0.1
  • Datasets: 2.19.0
  • Tokenizers: 0.20.3

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

Model tree for Tnt3o5/vnm_legal_qa_wseg

Finetuned
(2)
this model