BGE base Financial Matryoshka

This is a sentence-transformers model finetuned from hiieu/halong_embedding 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: hiieu/halong_embedding
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 768 dimensions
  • Similarity Function: Cosine Similarity
  • Training Dataset:
    • json
  • Language: en
  • License: apache-2.0

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("sentence_transformers_model_id")
# Run inference
sentences = [
    'Có xét nghiệm cụ thể nào để chẩn đoán hội chứng này không?',
    'Có, có những xét nghiệm cụ thể có thể chẩn đoán hội chứng Cockayne loại II. Chúng bao gồm xét nghiệm di truyền, xét nghiệm máu và nước tiểu, cũng như kiểm tra thần kinh.',
    'Entecavir đã được chứng minh là có hiệu quả chủ yếu chống lại HBV kiểu gen A. Tuy nhiên, nó cũng có tác dụng chống lại HBV kiểu gen B và C.',
]
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.6899
cosine_accuracy@3 0.7342
cosine_accuracy@5 0.7658
cosine_accuracy@10 0.7911
cosine_precision@1 0.6899
cosine_precision@3 0.2447
cosine_precision@5 0.1532
cosine_precision@10 0.0791
cosine_recall@1 0.6899
cosine_recall@3 0.7342
cosine_recall@5 0.7658
cosine_recall@10 0.7911
cosine_ndcg@10 0.736
cosine_mrr@10 0.7187
cosine_map@100 0.7231

Information Retrieval

Metric Value
cosine_accuracy@1 0.6962
cosine_accuracy@3 0.7278
cosine_accuracy@5 0.7532
cosine_accuracy@10 0.7848
cosine_precision@1 0.6962
cosine_precision@3 0.2426
cosine_precision@5 0.1506
cosine_precision@10 0.0785
cosine_recall@1 0.6962
cosine_recall@3 0.7278
cosine_recall@5 0.7532
cosine_recall@10 0.7848
cosine_ndcg@10 0.7365
cosine_mrr@10 0.7215
cosine_map@100 0.7262

Information Retrieval

Metric Value
cosine_accuracy@1 0.6646
cosine_accuracy@3 0.7278
cosine_accuracy@5 0.7342
cosine_accuracy@10 0.7722
cosine_precision@1 0.6646
cosine_precision@3 0.2426
cosine_precision@5 0.1468
cosine_precision@10 0.0772
cosine_recall@1 0.6646
cosine_recall@3 0.7278
cosine_recall@5 0.7342
cosine_recall@10 0.7722
cosine_ndcg@10 0.7172
cosine_mrr@10 0.6999
cosine_map@100 0.705

Information Retrieval

Metric Value
cosine_accuracy@1 0.6203
cosine_accuracy@3 0.7278
cosine_accuracy@5 0.7405
cosine_accuracy@10 0.7658
cosine_precision@1 0.6203
cosine_precision@3 0.2426
cosine_precision@5 0.1481
cosine_precision@10 0.0766
cosine_recall@1 0.6203
cosine_recall@3 0.7278
cosine_recall@5 0.7405
cosine_recall@10 0.7658
cosine_ndcg@10 0.6958
cosine_mrr@10 0.673
cosine_map@100 0.6759

Information Retrieval

Metric Value
cosine_accuracy@1 0.5633
cosine_accuracy@3 0.6519
cosine_accuracy@5 0.6835
cosine_accuracy@10 0.7152
cosine_precision@1 0.5633
cosine_precision@3 0.2173
cosine_precision@5 0.1367
cosine_precision@10 0.0715
cosine_recall@1 0.5633
cosine_recall@3 0.6519
cosine_recall@5 0.6835
cosine_recall@10 0.7152
cosine_ndcg@10 0.6372
cosine_mrr@10 0.6125
cosine_map@100 0.6184

Training Details

Training Dataset

json

  • Dataset: json
  • Size: 1,421 training samples
  • Columns: anchor and positive
  • Approximate statistics based on the first 1000 samples:
    anchor positive
    type string string
    details
    • min: 3 tokens
    • mean: 25.07 tokens
    • max: 128 tokens
    • min: 30 tokens
    • mean: 71.48 tokens
    • max: 512 tokens
  • Samples:
    anchor positive
    Làm cách nào để ngăn ngừa chứng loạn sản thận? Thật không may, chứng loạn sản thận không thể ngăn ngừa được vì đây là một tình trạng bẩm sinh xảy ra trong quá trình phát triển của thai nhi. Tuy nhiên, việc phát hiện và điều trị sớm có thể giúp kiểm soát tình trạng và ngăn ngừa các biến chứng.
    Có bất kỳ biến chứng nào liên quan đến cây nhiệt đới không? Có, những trường hợp nặng của bệnh nhiệt đới có thể dẫn đến suy dinh dưỡng, thiếu máu và các biến chứng khác. Điều quan trọng là phải tìm cách điều trị y tế càng sớm càng tốt nếu bạn nghi ngờ mình mắc bệnh Nhiệt đới.
    Tôi cần một số thông tin về cách bảo quản và tiêu hủy Fluoxetine. Bạn có thể vui lòng cho tôi biết những gì tôi nên biết? Fluoxetine nên được bảo quản ở nhiệt độ phòng, tránh ẩm và nóng. Nó nên được giữ trong hộp đựng ban đầu và tránh xa tầm tay trẻ em và vật nuôi. Về việc thải bỏ, bạn nên tuân theo các hướng dẫn do nhà cung cấp dịch vụ chăm sóc sức khỏe hoặc dược sĩ của bạn cung cấp. Điều quan trọng là không xả Fluoxetine xuống bồn cầu hoặc vứt vào thùng rác.
  • 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: 16
  • gradient_accumulation_steps: 8
  • learning_rate: 2e-05
  • num_train_epochs: 1
  • 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: 16
  • per_device_eval_batch_size: 8
  • 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.0
  • adam_beta1: 0.9
  • adam_beta2: 0.999
  • adam_epsilon: 1e-08
  • max_grad_norm: 1.0
  • num_train_epochs: 1
  • 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}
  • tp_size: 0
  • 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: None
  • hub_always_push: False
  • 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
  • eval_use_gather_object: False
  • average_tokens_across_devices: False
  • prompts: None
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss dim_768_cosine_ndcg@10 dim_512_cosine_ndcg@10 dim_256_cosine_ndcg@10 dim_128_cosine_ndcg@10 dim_64_cosine_ndcg@10
0.8989 10 15.0991 - - - - -
0.9888 11 - 0.736 0.7365 0.7172 0.6958 0.6372
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.12.5
  • Sentence Transformers: 4.1.0
  • Transformers: 4.51.3
  • PyTorch: 2.6.0+cu118
  • Accelerate: 1.6.0
  • Datasets: 3.5.1
  • Tokenizers: 0.21.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
6
Safetensors
Model size
278M params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for minhthuan77f1/medical_embedding_vietnamese

Finetuned
(28)
this model

Evaluation results