metadata
library_name: sentence-transformers
metrics:
- pearson_cosine
- spearman_cosine
- pearson_manhattan
- spearman_manhattan
- pearson_euclidean
- spearman_euclidean
- pearson_dot
- spearman_dot
- pearson_max
- spearman_max
widget:
- source_sentence: 백마를 이끄는 여자
sentences:
- 갈색 말을 타고 있는 여자
- 남자와 여자가 키스하고 있다.
- 남자가 칼로 물병을 썰고 있다
- source_sentence: 꽤 괜찮은데
sentences:
- 아주 좋아요.
- 개가 옷을 입고 있다.
- 아무도 무대에 서지 않는다.
- source_sentence: 지루하군요.
sentences:
- 힘드네요! 정말 힘드네요!
- 여자는 아이를 돕는다.
- 사람들이 손을 내밀고 있다
- source_sentence: 인간의 지위
sentences:
- 인간의 지위.
- 그것은 비열하지 않다.
- 아무도 해고당하지 않는다.
- source_sentence: 인간의 지적
sentences:
- 인간 관찰
- 사람들이 안에 서 있다
- 아무도 앉아 있지 않다
pipeline_tag: sentence-similarity
model-index:
- name: SentenceTransformer based on klue/roberta-small
results:
- task:
type: semantic-similarity
name: Semantic Similarity
dataset:
name: sts dev
type: sts-dev
metrics:
- type: pearson_cosine
value: 0.848109514939322
name: Pearson Cosine
- type: spearman_cosine
value: 0.8469617889194193
name: Spearman Cosine
- type: pearson_manhattan
value: 0.8290541524988974
name: Pearson Manhattan
- type: spearman_manhattan
value: 0.832916353112548
name: Spearman Manhattan
- type: pearson_euclidean
value: 0.8296914939989355
name: Pearson Euclidean
- type: spearman_euclidean
value: 0.8335696459808043
name: Spearman Euclidean
- type: pearson_dot
value: 0.7961861998493428
name: Pearson Dot
- type: spearman_dot
value: 0.7996870460025013
name: Spearman Dot
- type: pearson_max
value: 0.848109514939322
name: Pearson Max
- type: spearman_max
value: 0.8469617889194193
name: Spearman Max
Model Details
Model Description
- Model Type: Sentence Transformer
- Maximum Sequence Length: 256 tokens
- Output Dimensionality: 768 tokens
- Similarity Function: Cosine Similarity
Model Sources
- Documentation: Sentence Transformers Documentation
- Repository: Sentence Transformers on GitHub
- Hugging Face: Sentence Transformers on Hugging Face
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("sentence_transformers_model_id")
# Run inference
sentences = [
'인간의 지적',
'인간 관찰',
'사람들이 안에 서 있다',
]
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
Semantic Similarity
- Dataset:
sts-dev - Evaluated with
EmbeddingSimilarityEvaluator
| Metric | Value |
|---|---|
| pearson_cosine | 0.8481 |
| spearman_cosine | 0.847 |
| pearson_manhattan | 0.8291 |
| spearman_manhattan | 0.8329 |
| pearson_euclidean | 0.8297 |
| spearman_euclidean | 0.8336 |
| pearson_dot | 0.7962 |
| spearman_dot | 0.7997 |
| pearson_max | 0.8481 |
| spearman_max | 0.847 |
Training Details
Training Datasets
Unnamed Dataset
- Size: 568,640 training samples
- Columns:
sentence_0,sentence_1, andsentence_2 - Approximate statistics based on the first 1000 samples:
sentence_0 sentence_1 sentence_2 type string string string details - min: 4 tokens
- mean: 19.02 tokens
- max: 156 tokens
- min: 4 tokens
- mean: 18.36 tokens
- max: 95 tokens
- min: 4 tokens
- mean: 14.31 tokens
- max: 35 tokens
- Samples:
sentence_0 sentence_1 sentence_2 악기를 연주하는 사람.여자 옆에서 백파이프를 연주하는 잘 차려입은 남자노숙자가 잔돈을 구걸한다.셔츠에 이벤트 번호를 새긴 남자들은 길을 걸어간다.멘스 셔츠에 숫자가 적혀 있다.남자들이 길에서 자고 있다.군인들은 기지에서 함께 어울린다.한 무리의 군인들이 그늘을 입고 방에 함께 앉아 있었고, 벽에 있는 작은 틈으로 빛이 최고조에 달했다.한 무리의 민간인들이 적의 공격으로부터 움츠러든다. - Loss:
MatryoshkaLosswith these parameters:{ "loss": "MultipleNegativesRankingLoss", "matryoshka_dims": [ 768, 256 ], "matryoshka_weights": [ 1, 1 ], "n_dims_per_step": -1 }
Unnamed Dataset
- Size: 5,749 training samples
- Columns:
sentence_0,sentence_1, andlabel - Approximate statistics based on the first 1000 samples:
sentence_0 sentence_1 label type string string float details - min: 5 tokens
- mean: 17.15 tokens
- max: 71 tokens
- min: 4 tokens
- mean: 16.86 tokens
- max: 76 tokens
- min: 0.0
- mean: 0.54
- max: 1.0
- Samples:
sentence_0 sentence_1 label 남자가 기타를 치고 있다.소뇌는 기타를 치고 있다.0.72고양이가 빨판을 핥고 있다.한 여성이 오이를 자르고 있다.0.0누군가가 파워 드릴로 나무 조각에 구멍을 뚫는다.한 남자가 나무 조각에 구멍을 뚫는다.0.64 - Loss:
MatryoshkaLosswith these parameters:{ "loss": "CosineSimilarityLoss", "matryoshka_dims": [ 768, 256 ], "matryoshka_weights": [ 1, 1 ], "n_dims_per_step": -1 }
Training Hyperparameters
Non-Default Hyperparameters
eval_strategy: stepsnum_train_epochs: 5batch_sampler: no_duplicatesmulti_dataset_batch_sampler: round_robin
All Hyperparameters
Click to expand
overwrite_output_dir: Falsedo_predict: Falseeval_strategy: stepsprediction_loss_only: Trueper_device_train_batch_size: 8per_device_eval_batch_size: 8per_gpu_train_batch_size: Noneper_gpu_eval_batch_size: Nonegradient_accumulation_steps: 1eval_accumulation_steps: Nonelearning_rate: 5e-05weight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1num_train_epochs: 5max_steps: -1lr_scheduler_type: linearlr_scheduler_kwargs: {}warmup_ratio: 0.0warmup_steps: 0log_level: passivelog_level_replica: warninglog_on_each_node: Truelogging_nan_inf_filter: Truesave_safetensors: Truesave_on_each_node: Falsesave_only_model: Falserestore_callback_states_from_checkpoint: Falseno_cuda: Falseuse_cpu: Falseuse_mps_device: Falseseed: 42data_seed: Nonejit_mode_eval: Falseuse_ipex: Falsebf16: Falsefp16: Falsefp16_opt_level: O1half_precision_backend: autobf16_full_eval: Falsefp16_full_eval: Falsetf32: Nonelocal_rank: 0ddp_backend: Nonetpu_num_cores: Nonetpu_metrics_debug: Falsedebug: []dataloader_drop_last: Falsedataloader_num_workers: 0dataloader_prefetch_factor: Nonepast_index: -1disable_tqdm: Falseremove_unused_columns: Truelabel_names: Noneload_best_model_at_end: Falseignore_data_skip: Falsefsdp: []fsdp_min_num_params: 0fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}fsdp_transformer_layer_cls_to_wrap: Noneaccelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}deepspeed: Nonelabel_smoothing_factor: 0.0optim: adamw_torchoptim_args: Noneadafactor: Falsegroup_by_length: Falselength_column_name: lengthddp_find_unused_parameters: Noneddp_bucket_cap_mb: Noneddp_broadcast_buffers: Falsedataloader_pin_memory: Truedataloader_persistent_workers: Falseskip_memory_metrics: Trueuse_legacy_prediction_loop: Falsepush_to_hub: Falseresume_from_checkpoint: Nonehub_model_id: Nonehub_strategy: every_savehub_private_repo: Falsehub_always_push: Falsegradient_checkpointing: Falsegradient_checkpointing_kwargs: Noneinclude_inputs_for_metrics: Falseeval_do_concat_batches: Truefp16_backend: autopush_to_hub_model_id: Nonepush_to_hub_organization: Nonemp_parameters:auto_find_batch_size: Falsefull_determinism: Falsetorchdynamo: Noneray_scope: lastddp_timeout: 1800torch_compile: Falsetorch_compile_backend: Nonetorch_compile_mode: Nonedispatch_batches: Nonesplit_batches: Noneinclude_tokens_per_second: Falseinclude_num_input_tokens_seen: Falseneftune_noise_alpha: Noneoptim_target_modules: Nonebatch_eval_metrics: Falsebatch_sampler: no_duplicatesmulti_dataset_batch_sampler: round_robin
Training Logs
| Epoch | Step | Training Loss | sts-dev_spearman_max |
|---|---|---|---|
| 0.3477 | 500 | 0.931 | - |
| 0.6954 | 1000 | 0.7062 | 0.8313 |
| 1.0007 | 1439 | - | 0.8379 |
| 1.0424 | 1500 | 0.5893 | - |
| 1.3901 | 2000 | 0.3406 | 0.8343 |
| 1.7378 | 2500 | 0.2514 | - |
| 2.0007 | 2878 | - | 0.8450 |
| 2.0848 | 3000 | 0.2252 | 0.8470 |
Framework Versions
- Python: 3.10.12
- Sentence Transformers: 3.0.0
- Transformers: 4.41.2
- PyTorch: 2.3.0+cu121
- Accelerate: 0.30.1
- Datasets: 2.19.2
- 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",
}
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}
}