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-bs64-finance-50")
# Run inference
sentences = [
    '빅데이터 활용의 증가로 인해 개인정보를 보호하기 위한 조치로 도입하려고 하는 건 뭐야?',
    'Ⅰ. 서론\n□ 최근 빅데이터(Big Data) 분석 등을 통해 다양한 사회적 유용성과 가치를 가지는 정보 산출(산업)에 관심이 높아지면서, 개인정보 보호규제가 장애요인으로 등장하고 있다는 평가로 인하여, 비식별화(de-identification) 또는 익명화(anonymization)를 통한 개인정보 활용의 필요성이 논의되고 있음 ○ 국내외 개인정보 보호법제들은 기본적으로 ‘개인 식별 가능성’을 판단 기준으로 하여 개인정보의 개념적 범위를 설정하여 이를 보호하는 체계를 가지고 있으며, 일반적으로 이러한 개인 식별 가능성을 제약 또는 제거하는 조치를 ‘비식별화’ 또는 ‘익명화’라고 표현함\n○ 우리나라뿐만 아니라, EU, 미국, 일본 등 주요 국가들도 빅데이터 등의 산업적 분석 및 활용 과정에서 발생하고 있는 문제점에 착안하여 개인정보 보호 법제 개선에 관한 논의를 진지하게 진행하고 있음 □ 국내외적으로 개인정보 ‘비식별화’ 또는 ‘익명화’, 그리고 그 법적 효과와 관련해서는 아직까지 확고한 개념정의 등이 존재하지 않는 상황이라고 할 수 있어, 관련 개념의 법적 활용에 있어 상당한 논란이 제기되고 있음 ○ ‘비식별화’는 특정 정보로부터 ‘개인 식별 가능성’을 제거하는 조치 및 과정을 의미하며, 종종 이러한 용어는 ‘익명화’와 동일한 의미로 사용됨\n- 비식별화라는 용어는 미국 등의 국가에서 주로 활용되고 있으며, 익명화 또는 익명가공이라는 용어는 EU 및 일본 등지에서 활용되고 있는 것으로 파악되지만, 대체적으로 두 용어가 혼용되고 있는 양상임',
    '□ 지난 2014년 1월 발생한 카드회사의 개인정보 유출사고 이후 개인정보의 보호 강화 및 정보유출 재발방지를 위한 제도개선 방안이 논의되어 「금융분야 개인정보 유출 재발방지 종합대책」이 마련되기도 하였음 ○ 이와 함께 2015년 7월 「개인정보보호법」이 개정되어 징벌적손해배상제도가 도입되고, 불법적인 개인정보 유통 등에 대한 제재수준이 강화되었음 □ 하지만 지난 카드사태의 개인정보 유출 사례와 같이 한번 유출된 정보는 회수가 불가능하고 사후적인 제재를 강화하는 것만으로는 금융소비자의 피해를 방지하는데 한계가 있을 수밖에 없음 ○ 이에 따라 정보의 수집, 제공, 유통, 관리 전반에서 있어서 금융회사의 개인정보에 대한 기술적‧관리적 보호체계의 실질적인 강화를 통한 금융사고 예방이 보다 중요하다고 할 수 있음 □ 한편 우리나라는 해외와 비교해보면 빅데이터 활용이 초기단계에 해당하지만, 인터넷전문은행 도입과 관련하여 빅데이터 활용에 대한 금융회사의 관심이 증가하고 있음 ○ 현재 빅데이터를 활성화하기 위해 「신용정보의 이용 및 보호에 관한 법률」 개정을 통해 개인신용정보의 개념을 보다 명확하게 정의하여 금융회사가 활용할 수 있는 비식별정보를 구분하는 방안이 추진되고 있음 □ 하지만 개인신용정보 중에서 식별화정보와 비식별화 정보를 명확히 구분하는 것이 현실적으로 쉽지 않으므로 빅데이터의 활성화를 위해 개인정보의 균형있는 보호와 활용이 필요한 시점임 ○ 특히 개인신용정보에서 개인을 식별할 수 없는 비식별정보를 구분하는 경우에도 동 정보의 이용 목적을 제한하고, 비식별정보의 재식별 방지를 위한 안전성 확보 방안 등을 마련할 필요가 있음',
]
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: 64
  • learning_rate: 3e-05
  • num_train_epochs: 1
  • max_steps: 50
  • 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: 64
  • 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: 1
  • max_steps: 50
  • 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

Epoch Step Training Loss
0.004 1 1.1692
0.008 2 1.0241
0.012 3 1.1237
0.016 4 0.9547
0.02 5 1.0183
0.024 6 0.9393
0.028 7 0.6666
0.032 8 0.7058
0.036 9 0.6336
0.04 10 0.5752
0.044 11 0.6901
0.048 12 0.6699
0.052 13 0.6184
0.056 14 0.5948
0.06 15 0.6546
0.064 16 0.5846
0.068 17 0.5892
0.072 18 0.5819
0.076 19 0.5602
0.08 20 0.5515
0.084 21 0.5359
0.088 22 0.5599
0.092 23 0.5104
0.096 24 0.4943
0.1 25 0.564
0.104 26 0.5545
0.108 27 0.4937
0.112 28 0.5283
0.116 29 0.512
0.12 30 0.552
0.124 31 0.5417
0.128 32 0.4607
0.132 33 0.4281
0.136 34 0.4764
0.14 35 0.5736
0.144 36 0.5312
0.148 37 0.4723
0.152 38 0.5169
0.156 39 0.4849
0.16 40 0.5347
0.164 41 0.48
0.168 42 0.4745
0.172 43 0.5061
0.176 44 0.5438
0.18 45 0.4942
0.184 46 0.5486
0.188 47 0.475
0.192 48 0.5054
0.196 49 0.3898
0.2 50 0.4726

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
13
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-bs64-finance-50

Base model

BAAI/bge-m3
Finetuned
(181)
this model