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 dimensions
  • 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_v5_lega_new_tokens")
# Run inference
sentences = [
    'Ai có quyền_hủy bỏ kết_quả bầu_cử và quyết_định bầu_cử lại đại_biểu Quốc_hội ?',
    'Hủy_bỏ kết_quả bầu_cử và quyết_định bầu_cử lại Hội_đồng_Bầu_cử_Quốc_gia tự mình hoặc theo đề_nghị của Ủy_ban_Thường_vụ_Quốc_hội , Chính_phủ , Ủy_ban trung_ương Mặt_trận_Tổ_quốc Việt_Nam , Ủy_ban bầu_cử ở tỉnh Hủy_bỏ kết_quả bầu_cử ở khu_vực bỏ_phiếu , đơn_vị bầu_cử có vi_phạm_pháp_luật nghiêm_trọng và quyết_định ngày bầu_cử lại ở khu_vực bỏ_phiếu , đơn_vị bầu_cử đó . Trong trường_hợp bầu_cử lại thì ngày bầu_cử được tiến_hành chậm nhất là 15 ngày sau ngày bầu_cử đầu_tiên . Trong cuộc bầu_cử lại , cử_tri chỉ chọn bầu trong danh_sách những người ứng_cử tại cuộc bầu_cử đầu_tiên .',
    'Cơ_cấu tổ_chức Tổng cục_trưởng Tổng_cục Hải_quan quy_định nhiệm_vụ và quyền_hạn của các Phòng , Đội , Hải_Đội thuộc và trực_thuộc Cục Điều_tra chống buôn_lậu .',
]
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 dim_256 dim_128 dim_64
cosine_accuracy@1 0.4254 0.4264 0.4076
cosine_accuracy@3 0.6052 0.6 0.5866
cosine_accuracy@5 0.6636 0.662 0.6478
cosine_accuracy@10 0.7248 0.7194 0.708
cosine_precision@1 0.4254 0.4264 0.4076
cosine_precision@3 0.2071 0.2053 0.2003
cosine_precision@5 0.1375 0.1371 0.134
cosine_precision@10 0.0759 0.0754 0.0741
cosine_recall@1 0.4051 0.4061 0.3876
cosine_recall@3 0.5821 0.577 0.5638
cosine_recall@5 0.6421 0.6405 0.6256
cosine_recall@10 0.7052 0.7002 0.688
cosine_ndcg@10 0.562 0.5592 0.5444
cosine_mrr@10 0.5264 0.5244 0.509
cosine_map@100 0.5148 0.5128 0.4975

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

  • eval_strategy: steps
  • per_device_train_batch_size: 16
  • per_device_eval_batch_size: 16
  • gradient_accumulation_steps: 8
  • learning_rate: 2e-05
  • weight_decay: 0.01
  • max_grad_norm: 0.1
  • max_steps: 1200
  • lr_scheduler_type: cosine
  • warmup_ratio: 0.15
  • fp16: True
  • load_best_model_at_end: True
  • optim: adamw_torch_fused
  • gradient_checkpointing: True
  • 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: 16
  • per_device_eval_batch_size: 16
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: None
  • gradient_accumulation_steps: 8
  • 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.1
  • num_train_epochs: 3.0
  • max_steps: 1200
  • 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: None
  • 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
  • prompts: None
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss Validation Loss dim_256_cosine_ndcg@10 dim_128_cosine_ndcg@10 dim_64_cosine_ndcg@10
0.5047 400 0.4797 0.3000 0.5544 0.5504 0.5393
1.0090 800 0.4274 0.2888 0.5583 0.5534 0.5415
1.5136 1200 0.3211 0.2089 0.562 0.5592 0.5444
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.10.14
  • Sentence Transformers: 3.3.0
  • Transformers: 4.45.1
  • PyTorch: 2.4.0
  • Accelerate: 0.34.2
  • Datasets: 3.0.1
  • Tokenizers: 0.20.0

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
15
Safetensors
Model size
140M 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 Tnt3o5/tnt_v5_lega_new_tokens

Finetuned
(1)
this model

Evaluation results