SentenceTransformer based on BAAI/bge-m3

This is a sentence-transformers model finetuned from BAAI/bge-m3. It maps sentences & paragraphs to a 1024-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: BAAI/bge-m3
  • Maximum Sequence Length: 1024 tokens
  • Output Dimensionality: 1024 tokens
  • Similarity Function: Cosine Similarity

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 1024, 'do_lower_case': False}) with Transformer model: XLMRobertaModel 
  (1): Pooling({'word_embedding_dimension': 1024, '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("seongil-dn/bge-m3-kor-retrieval-451949-bs512-118")
# Run inference
sentences = [
    '국민의료비 중 공공재원의 지출이 58.2퍼센트 비율을 차지하고 있는 나라는 어디야',
    '공적건강보험에 대한 지속적인 보장성 및 역할 강화 노력으로 전체 의료비 중 공공재원이 차지하는 비중이 지속적으로 증가하고 있는 상황이지만 여전히 개인의 의료비 부담이 높기 때문에 민영건강보험의 재원 부담 비중도 지속적으로 증가하고 있는 추세이다. 전체 의료비 중 자동차보험과 민영건강보험(실 손의료보험)을 통한 의료비 지출비중은 5.8%에 이르고 있다. 나머지 31.4%는 가계직접부담으로 이 중의 일부가 정액형 건강보험을 통해 지출되고 있다. 정액형 건강보험은 의료비 보장과 함께 중증질환에 걸렸을 때 현실적으로 경제활동이 지속되기 어려워 소득상실 리스크를 보장하는 기능까지 포함하고 있기 때문에 정액형 건강보험의 재원조달 비중을 계량적으로 추산하기 어렵다. 공공재원을 통한 의료비 지출은 1980년 이후 꾸준히 증가하여 왔지만 OECD국가와 비교했을 때 그 비중이 여전히 낮은 상황이다. OECD 회원국 중에서 국민의료비 중 공공부문 지출 비중이 높은 나라는 덴마크 85.0%, 영국 84.1%, 노르웨이 84.1% 등이며, 낮은 나라는 칠레 47.4%, 미국 47.7%, 멕시코 48.3% 등으로 나타나고 있다. 한국의 의료비 지출 중 공공재원에 의한 지출 비중은 58.2%이며, 이는 OECD 평균 71.8%를 크게 하회하는 수준으로, 그만큼 개인의 의료비 부담이 상대적으로 높은 상황이다. 한국의 공공재원이 낮은 이유는 국민건강보험 제도를 도입한 초기부터 타 OECD 국가에 비해 ‘저부담-저급여’ 구조를 유지했기 때문이며, 동일한 부담을 하는데도 보장률이 낮은 것은 아니기 때문에 낮은 공공재원 비중 자체를 문제점으로 지적하기는 어렵다.',
    '5) 건강보험 재정\n2010년 기준으로 독일의 GDP 대비 국민의료비 비중은 11.6%이고, 국민 의료비 중 공공지출 비율은 76.8%로 OECD 국가의 평균인 72.2%를 소폭 상회하고 있다. 이 같은 재정을 충당하기 위한 독일의 공적건강보험의 재원으로는 보험료, (연방)정부의 보조금 그리고 기타 수입 등이 있다. 이 중 주요 재원은 보험료 이며 정부의 보조금이 부분적으로 사용된다. 보험료는 근로자와 고용주가 부담하며, 연금과 산재보험수급자도 의료보험료를 부담하여야 한다. 2009년 이전에는 각 질병금고들이 수지균형의 원칙에 따라 보험요율을 자율적으로 결정하기 때문에 각 질병금고의 종류별로 그리고 같은 종류라도 지역별로 보험요율의 변동폭이 매우 상이했다. 보험료는 원칙적으로 보험가입자와 고용주, 연금보험자(관리기구) 또는 기타 기관들이 소득수준에 따라 부담하며 모두 건강기금(Gesundheitsfonds) 으로 납입된다. 2009년부터 모든 질병금고에 동일한 보험요율이 적용되어 15.5%로 단일화되었으며, 그 이전까지 고용주와 근로자가 동일하게 절반씩 동일하게 부담하던 것을 2011년부터 고용주는 7.3%를 부담하고 근로자는 8.2%를 차등적으로 부담하게 되었다.',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 1024]

# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]

Training Details

Training Hyperparameters

Non-Default Hyperparameters

  • per_device_train_batch_size: 512
  • learning_rate: 3e-05
  • num_train_epochs: 5
  • warmup_ratio: 0.05
  • fp16: 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: 512
  • per_device_eval_batch_size: 8
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: None
  • gradient_accumulation_steps: 1
  • 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: linear
  • lr_scheduler_kwargs: {}
  • warmup_ratio: 0.05
  • 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: True
  • 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: False
  • 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
  • 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
  • eval_use_gather_object: False
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional

Training Logs

Click to expand
Epoch Step Training Loss
0.0085 1 1.3027
0.0171 2 1.3225
0.0256 3 1.2947
0.0342 4 1.2816
0.0427 5 1.2586
0.0513 6 1.1569
0.0598 7 0.9937
0.0684 8 0.927
0.0769 9 0.7317
0.0855 10 0.6074
0.0940 11 0.539
0.1026 12 0.4646
0.1111 13 0.4067
0.1197 14 0.3811
0.1282 15 0.3346
0.1368 16 0.3451
0.1453 17 0.3241
0.1538 18 0.3001
0.1624 19 0.2788
0.1709 20 0.2673
0.1795 21 0.2488
0.1880 22 0.2499
0.1966 23 0.2423
0.2051 24 0.2394
0.2137 25 0.2225
0.2222 26 0.2254
0.2308 27 0.2132
0.2393 28 0.2223
0.2479 29 0.2096
0.2564 30 0.1923
0.2650 31 0.1906
0.2735 32 0.1975
0.2821 33 0.1916
0.2906 34 0.1907
0.2991 35 0.1885
0.3077 36 0.1853
0.3162 37 0.1868
0.3248 38 0.1729
0.3333 39 0.1781
0.3419 40 0.1681
0.3504 41 0.1757
0.3590 42 0.1739
0.3675 43 0.166
0.3761 44 0.1709
0.3846 45 0.1748
0.3932 46 0.1711
0.4017 47 0.1548
0.4103 48 0.1647
0.4188 49 0.1633
0.4274 50 0.1618
0.4359 51 0.1573
0.4444 52 0.1595
0.4530 53 0.1609
0.4615 54 0.1563
0.4701 55 0.1585
0.4786 56 0.1569
0.4872 57 0.1591
0.4957 58 0.1433
0.5043 59 0.1536
0.5128 60 0.1504
0.5214 61 0.152
0.5299 62 0.1455
0.5385 63 0.1497
0.5470 64 0.147
0.5556 65 0.1476
0.5641 66 0.1504
0.5726 67 0.1503
0.5812 68 0.15
0.5897 69 0.1492
0.5983 70 0.1571
0.6068 71 0.1454
0.6154 72 0.1481
0.6239 73 0.1443
0.6325 74 0.1428
0.6410 75 0.1469
0.6496 76 0.1433
0.6581 77 0.146
0.6667 78 0.1452
0.6752 79 0.1427
0.6838 80 0.1419
0.6923 81 0.1349
0.7009 82 0.1406
0.7094 83 0.133
0.7179 84 0.1403
0.7265 85 0.136
0.7350 86 0.1396
0.7436 87 0.141
0.7521 88 0.1496
0.7607 89 0.1462
0.7692 90 0.1428
0.7778 91 0.1438
0.7863 92 0.146
0.7949 93 0.1409
0.8034 94 0.1355
0.8120 95 0.1363
0.8205 96 0.1359
0.8291 97 0.1353
0.8376 98 0.1399
0.8462 99 0.1481
0.8547 100 0.1419
0.8632 101 0.1368
0.8718 102 0.13
0.8803 103 0.1467
0.8889 104 0.1354
0.8974 105 0.1335
0.9060 106 0.1411
0.9145 107 0.1298
0.9231 108 0.1468
0.9316 109 0.1402
0.9402 110 0.132
0.9487 111 0.1343
0.9573 112 0.1255
0.9658 113 0.1371
0.9744 114 0.1263
0.9829 115 0.1326
0.9915 116 0.1305
1.0 117 0.1316
1.0085 118 0.137

Framework Versions

  • Python: 3.10.12
  • Sentence Transformers: 3.2.1
  • Transformers: 4.44.2
  • PyTorch: 2.3.1+cu121
  • Accelerate: 1.1.1
  • Datasets: 2.21.0
  • Tokenizers: 0.19.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",
}

CachedMultipleNegativesRankingLoss

@misc{gao2021scaling,
    title={Scaling Deep Contrastive Learning Batch Size under Memory Limited Setup},
    author={Luyu Gao and Yunyi Zhang and Jiawei Han and Jamie Callan},
    year={2021},
    eprint={2101.06983},
    archivePrefix={arXiv},
    primaryClass={cs.LG}
}
Downloads last month
17
Safetensors
Model size
568M 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 seongil-dn/bge-m3-kor-retrieval-451949-bs512-118

Base model

BAAI/bge-m3
Finetuned
(185)
this model