SentenceTransformer based on Alibaba-NLP/gte-multilingual-base

This is a sentence-transformers model finetuned from Alibaba-NLP/gte-multilingual-base 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: Alibaba-NLP/gte-multilingual-base
  • Maximum Sequence Length: 1024 tokens
  • Output Dimensionality: 768 tokens
  • Similarity Function: Cosine Similarity
  • Training Dataset:
    • json

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 1024, 'do_lower_case': False}) with Transformer model: NewModel 
  (1): Pooling({'word_embedding_dimension': 768, '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("minhdang/gte-base-law-matryoshka")
# Run inference
sentences = [
    "['Mức giảm thời hạn chấp hành án phạt tù\\n1. Phạm nhân bị phạt tù chung thân, lần đầu được giảm xuống ba mươi năm.\\n2. Phạm nhân bị phạt tù từ ba mươi năm trở xuống, mỗi lần có thể được giảm từ một tháng đến ba năm. Trường hợp được giảm ba năm phải là những phạm nhân chấp hành nghiêm chỉnh Nội quy trại giam, trại tạm giam, nhà tạm giữ và lập công hoặc có thành tích đặc biệt xuất sắc trong lao động, học tập cải tạo.\\n3. Mỗi năm một phạm nhân chỉ được xét giảm thời hạn chấp hành án phạt tù một lần, khoảng cách giữa hai lần xét giảm ít nhất là một năm. Trường hợp đã được giảm mà thời hạn tù còn lại không đủ một năm thì năm tiếp theo có thể đề nghị xét giảm sớm hơn trước một đợt, nhưng vẫn phải bảo đảm mỗi năm chỉ được xét giảm một lần.\\nTrường hợp sau khi đã được giảm thời hạn mà có lý do đặc biệt đáng được khoan hồng như lập công hoặc mắc bệnh hiểm nghèo thì có thể được xét giảm thêm nhưng không được quá hai lần trong một năm.\\n4. Mỗi phạm nhân có thể được giảm thời hạn chấp hành án phạt tù nhiều lần, nhưng phải bảo đảm thời hạn thực tế chấp hành án phạt tù được một phần hai mức hình phạt tù có thời hạn đã tuyên hoặc hai mươi năm đối với hình phạt tù chung thân.']",
    'Mỗi năm thì phạm nhân được xét giảm thời hạn chấp hành án phạt tù bao nhiêu lần?',
    'Chấp hành viên có bắt buộc ký tên vào văn bản thỏa thuận thi hành án dân sự của đương sự hay không?',
]
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.2956
cosine_accuracy@3 0.4892
cosine_accuracy@5 0.5748
cosine_accuracy@10 0.676
cosine_precision@1 0.2956
cosine_precision@3 0.1631
cosine_precision@5 0.115
cosine_precision@10 0.0676
cosine_recall@1 0.2956
cosine_recall@3 0.4892
cosine_recall@5 0.5748
cosine_recall@10 0.676
cosine_ndcg@10 0.4772
cosine_mrr@10 0.4146
cosine_map@100 0.4241

Information Retrieval

Metric Value
cosine_accuracy@1 0.2945
cosine_accuracy@3 0.4896
cosine_accuracy@5 0.5725
cosine_accuracy@10 0.6714
cosine_precision@1 0.2945
cosine_precision@3 0.1632
cosine_precision@5 0.1145
cosine_precision@10 0.0671
cosine_recall@1 0.2945
cosine_recall@3 0.4896
cosine_recall@5 0.5725
cosine_recall@10 0.6714
cosine_ndcg@10 0.4744
cosine_mrr@10 0.4122
cosine_map@100 0.4218

Information Retrieval

Metric Value
cosine_accuracy@1 0.2851
cosine_accuracy@3 0.4783
cosine_accuracy@5 0.5605
cosine_accuracy@10 0.6629
cosine_precision@1 0.2851
cosine_precision@3 0.1594
cosine_precision@5 0.1121
cosine_precision@10 0.0663
cosine_recall@1 0.2851
cosine_recall@3 0.4783
cosine_recall@5 0.5605
cosine_recall@10 0.6629
cosine_ndcg@10 0.465
cosine_mrr@10 0.4027
cosine_map@100 0.4122

Information Retrieval

Metric Value
cosine_accuracy@1 0.2736
cosine_accuracy@3 0.4611
cosine_accuracy@5 0.5435
cosine_accuracy@10 0.64
cosine_precision@1 0.2736
cosine_precision@3 0.1537
cosine_precision@5 0.1087
cosine_precision@10 0.064
cosine_recall@1 0.2736
cosine_recall@3 0.4611
cosine_recall@5 0.5435
cosine_recall@10 0.64
cosine_ndcg@10 0.4483
cosine_mrr@10 0.3879
cosine_map@100 0.3976

Information Retrieval

Metric Value
cosine_accuracy@1 0.2466
cosine_accuracy@3 0.4201
cosine_accuracy@5 0.4989
cosine_accuracy@10 0.595
cosine_precision@1 0.2466
cosine_precision@3 0.14
cosine_precision@5 0.0998
cosine_precision@10 0.0595
cosine_recall@1 0.2466
cosine_recall@3 0.4201
cosine_recall@5 0.4989
cosine_recall@10 0.595
cosine_ndcg@10 0.4117
cosine_mrr@10 0.3541
cosine_map@100 0.3637

Training Details

Training Dataset

json

  • Dataset: json
  • Size: 107,510 training samples
  • Columns: positive and anchor
  • Approximate statistics based on the first 1000 samples:
    positive anchor
    type string string
    details
    • min: 25 tokens
    • mean: 282.01 tokens
    • max: 1024 tokens
    • min: 8 tokens
    • mean: 23.95 tokens
    • max: 49 tokens
  • Samples:
    positive anchor
    ['Đối tượng liên kết giáo dục\nCơ sở giáo dục mầm non tư thục, cơ sở giáo dục phổ thông tư thục của Việt Nam và cơ sở giáo dục hoạt động hợp pháp ở nước ngoài, được cơ quan, tổ chức kiểm định chất lượng giáo dục hoặc cơ quan có thẩm quyền của nước ngoài công nhận về chất lượng giáo dục.'] Cơ sở giáo dục phổ thông tư thục của Việt Nam có phải là đối tượng liên kết giáo dục với nước ngoài không?
    ['Quyết định chủ trương đầu tư dự án PPP\n1. Nội dung quyết định chủ trương đầu tư dự án PPP thực hiện theo quy định tại Điều 17 của Luật PPP và Mẫu số 03 Phụ lục II kèm theo Nghị định này.'
    'Nội dung quyết định chủ trương đầu tư dự án PPP\n1. Quyết định chủ trương đầu tư bao gồm các nội dung chủ yếu sau đây:\na) Tên dự án;\nb) Tên cơ quan có thẩm quyền;\nc) Mục tiêu; dự kiến quy mô, địa điểm, thời gian thực hiện dự án, nhu cầu sử dụng đất và tài nguyên khác;\nd) Dự kiến loại hợp đồng dự án PPP;\nđ) Sơ bộ tổng mức đầu tư; sơ bộ phương án tài chính: cơ cấu nguồn vốn trong dự án, dự kiến khung giá, phí sản phẩm, dịch vụ công đối với dự án áp dụng cơ chế thu phí trực tiếp từ người sử dụng;\ne) Cơ chế bảo đảm đầu tư, cơ chế chia sẻ phần giảm doanh thu.\n2. Đối với dự án ứng dụng công nghệ cao, ứng dụng công nghệ mới ngoài quy định tại khoản 1 Điều này, nội dung quyết định chủ trương đầu tư còn bao gồm tên bên mời thầu, hình thức lựa chọn nhà đầu tư, thời gian tổ chức lựa chọn nhà đầu tư.']
    Quyết định chủ trương đầu tư dự án PPP có những nội dung gì?
    ['Họa sĩ hạng III - Mã số: V.10.08.27\n...\n4. Yêu cầu đối với viên chức dự thi hoặc xét thăng hạng chức danh nghề nghiệp họa sĩ hạng III:\nCó thời gian giữ chức danh nghề nghiệp họa sĩ hạng IV hoặc tương đương từ đủ 02 năm trở lên (không kể thời gian tập sự, thử việc) đối với trình độ cao đẳng hoặc từ đủ 03 năm trở lên (không kể thời gian tập sự, thử việc) đối với trình độ trung cấp. Trường hợp có thời gian tương đương thì phải có ít nhất 01 năm (đủ 12 tháng) đang giữ chức danh họa sĩ hạng IV 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.'] Viên chức xét thăng hạng chức danh nghề nghiệp họa sĩ hạng 3 cần có thời gian giữ chức danh nghề nghiệp họa sĩ hạng 4 trong bao lâu?
  • 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
    }
    

Evaluation Dataset

json

  • Dataset: json
  • Size: 11,946 evaluation samples
  • Columns: positive and anchor
  • Approximate statistics based on the first 1000 samples:
    positive anchor
    type string string
    details
    • min: 25 tokens
    • mean: 291.08 tokens
    • max: 1024 tokens
    • min: 7 tokens
    • mean: 24.16 tokens
    • max: 49 tokens
  • Samples:
    positive anchor
    ['“Điều 9. Sử dụng đất trồng lúa vào mục đích khác không được cơ quan nhà nước có thẩm quyền cho phép theo quy định tại các điểm a và d khoản 1 Điều 57 của Luật đất đai\n1. Chuyển đất trồng lúa sang đất trồng cây lâu năm, đất trồng rừng (trừ trường hợp quy định tại khoản 7 Điều 14 của Nghị định số 43/2014/NĐ-CP được sửa đổi, bổ sung tại khoản 11 Điều 2 của Nghị định số 01/2017/NĐ-CP) thì hình thức và mức xử phạt như sau:\na) Phạt tiền từ 2.000.000 đồng đến 5.000.000 đồng nếu diện tích đất chuyển mục đích trái phép dưới 0,5 héc ta;\nb) Phạt tiền từ 5.000.000 đồng đến 10.000.000 đồng nếu diện tích đất chuyển mục đích trái phép từ 0,5 héc ta đến dưới 01 héc ta;\nc) Phạt tiền từ 10.000.000 đồng đến 20.000.000 đồng nếu diện tích đất chuyển mục đích trái phép từ 01 héc ta đến dưới 03 héc ta;\nd) Phạt tiền từ 20.000.000 đồng đến 50.000.000 đồng nếu diện tích đất chuyển mục đích trái phép từ 03 héc ta trở lên.”'] Tự ý trồng cây lâu năm trên đất lúa bị xử phạt như thế nào?
    ['"3. Người làm chứng có quyền:\na) Được thông báo, giải thích quyền và nghĩa vụ quy định tại Điều này;\nb) Yêu cầu cơ quan triệu tập bảo vệ tính mạng, sức khoẻ, danh dự, nhân phẩm, tài sản và quyền, lợi ích hợp pháp khác của mình, người thân thích của mình khi bị đe dọa;\nc) Khiếu nại quyết định, hành vi tố tụng của cơ quan, người có thẩm quyền tiến hành tố tụng liên quan đến việc mình tham gia làm chứng;\nd) Được cơ quan triệu tập thanh toán chi phí đi lại và những chi phí khác theo quy định của pháp luật."'] Quyền và nghĩa vụ của người làm chứng?
    ['Quy trình điều chuyển tài sản\n1. Hồ sơ đề nghị điều chuyển tài sản:\na) Văn bản đề nghị điều chuyển tài sản của đơn vị được giao quản lý, sử dụng tài sản: 01 bản chính;\nb) Văn bản đề nghị được tiếp nhận tài sản của cơ quan, tổ chức, đơn vị: 01 bản chính;\nc) Tờ trình về việc điều chuyển, tiếp nhận tài sản của Vụ Tài chính - Kế toán (trường hợp việc quyết định điều chuyển tài sản thuộc thẩm quyền của Phó Thống đốc phụ trách tài chính - kế toán): 01 bản chính;\nd) Danh mục tài sản đề nghị điều chuyển (chủng loại, mã tài sản, số lượng, tình trạng; năm đưa vào sử dụng, nguyên giá, giá trị còn lại theo sổ kế toán; mục đích sử dụng hiện tại và mục đích sử dụng dự kiến sau khi điều chuyển trong trường hợp việc điều chuyển gắn với việc chuyển đổi công năng sử dụng tài sản; lý do điều chuyển): 01 bản chính;\nđ) Các hồ sơ khác có liên quan đến đề nghị điều chuyển tài sản (nếu có): 01 bản sao.\n2. Khi điều chuyển, đơn vị giao và đơn vị nhận tài sản phải thành lập Hội đồng giao nhận tài sản, gồm đại diện của hai bên, chủ tịch hội đồng là đại diện lãnh đạo bên giao. Hội đồng có nhiệm vụ xác định số lượng, giá trị (nguyên giá, giá trị đã khấu hao, giá trị còn lại), hiện trạng của tài sản bàn giao, các hồ sơ, chứng từ có liên quan và lập "Biên bản bàn giao, tiếp nhận tài sản" theo Mẫu số 01/TSC-BBGN ban hành kèm theo Nghị định số 151/2017/NĐ-CP ngày 26/12/2017 quy định chi tiết một số điều của Luật Quản lý, sử dụng tài sản công. "Biên bản bàn giao, tiếp nhận tài sản" được lập thành 3 bản, mỗi bên lưu một bản và gửi một bản về Ngân hàng Nhà nước (Vụ Tài chính - Kế toán).\n...'] Hồ sơ đề nghị điều chuyển tài sản của Ngân hàng Nhà nước gồm những nội dung gì?
  • 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: epoch
  • per_device_train_batch_size: 128
  • per_device_eval_batch_size: 128
  • gradient_accumulation_steps: 32
  • learning_rate: 2e-05
  • num_train_epochs: 4
  • lr_scheduler_type: cosine
  • warmup_ratio: 0.1
  • bf16: True
  • load_best_model_at_end: True
  • optim: adamw_torch_fused
  • batch_sampler: no_duplicates

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: epoch
  • prediction_loss_only: True
  • per_device_train_batch_size: 128
  • per_device_eval_batch_size: 128
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: None
  • gradient_accumulation_steps: 32
  • eval_accumulation_steps: None
  • torch_empty_cache_steps: None
  • learning_rate: 2e-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: 4
  • 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: None
  • 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 loss dim_128_cosine_map@100 dim_256_cosine_map@100 dim_512_cosine_map@100 dim_64_cosine_map@100 dim_768_cosine_map@100
0.3810 10 4.0758 - - - - - -
0.7619 20 2.6578 - - - - - -
0.9905 26 - 1.6008 0.3976 0.4122 0.4218 0.3637 0.4241
1.1429 30 1.643 - - - - - -
1.5238 40 1.2561 - - - - - -
1.9048 50 1.1152 - - - - - -
1.9810 52 - 1.0635 0.3976 0.4122 0.4218 0.3637 0.4241
2.2857 60 0.9883 - - - - - -
2.6667 70 0.991 - - - - - -
2.9714 78 - 0.9924 0.3976 0.4122 0.4218 0.3637 0.4241
3.0476 80 0.9552 - - - - - -
3.4286 90 0.934 - - - - - -
3.8095 100 0.9597 - - - - - -
3.9619 104 - 0.9883 0.3976 0.4122 0.4218 0.3637 0.4241
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.10.12
  • Sentence Transformers: 3.1.1
  • Transformers: 4.45.2
  • PyTorch: 2.3.1+cu121
  • Accelerate: 1.0.1
  • Datasets: 2.19.1
  • 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
25
Safetensors
Model size
305M params
Tensor type
BF16
·
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 minhdang/gte-base-law-matryoshka

Finetuned
(26)
this model

Evaluation results