Edit model card

SentenceTransformer based on UBC-NLP/serengeti-E250

This is a sentence-transformers model finetuned from UBC-NLP/serengeti-E250. 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: UBC-NLP/serengeti-E250
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 768 tokens
  • Similarity Function: Cosine Similarity

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: ElectraModel 
  (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("Mollel/swahili-serengeti-E250-nli-matryoshka")
# Run inference
sentences = [
    'Mwanamume aliyevalia koti la bluu la kuzuia upepo, amelala uso chini kwenye benchi ya bustani, akiwa na chupa ya pombe iliyofungwa kwenye mojawapo ya miguu ya benchi.',
    'Mwanamume amelala uso chini kwenye benchi ya bustani.',
    'Mwanamume fulani anacheza dansi kwenye klabu hiyo akifungua chupa.',
]
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

Metric Value
pearson_cosine 0.7113
spearman_cosine 0.7065
pearson_manhattan 0.7134
spearman_manhattan 0.7023
pearson_euclidean 0.7138
spearman_euclidean 0.7021
pearson_dot 0.3921
spearman_dot 0.3601
pearson_max 0.7138
spearman_max 0.7065

Semantic Similarity

Metric Value
pearson_cosine 0.7091
spearman_cosine 0.7046
pearson_manhattan 0.713
spearman_manhattan 0.7022
pearson_euclidean 0.7139
spearman_euclidean 0.7032
pearson_dot 0.3935
spearman_dot 0.3628
pearson_max 0.7139
spearman_max 0.7046

Semantic Similarity

Metric Value
pearson_cosine 0.7068
spearman_cosine 0.7044
pearson_manhattan 0.7137
spearman_manhattan 0.7032
pearson_euclidean 0.7147
spearman_euclidean 0.7039
pearson_dot 0.3746
spearman_dot 0.3444
pearson_max 0.7147
spearman_max 0.7044

Semantic Similarity

Metric Value
pearson_cosine 0.7047
spearman_cosine 0.7051
pearson_manhattan 0.712
spearman_manhattan 0.701
pearson_euclidean 0.7132
spearman_euclidean 0.7016
pearson_dot 0.3546
spearman_dot 0.3229
pearson_max 0.7132
spearman_max 0.7051

Semantic Similarity

Metric Value
pearson_cosine 0.7012
spearman_cosine 0.7044
pearson_manhattan 0.7091
spearman_manhattan 0.6973
pearson_euclidean 0.7103
spearman_euclidean 0.6986
pearson_dot 0.338
spearman_dot 0.3051
pearson_max 0.7103
spearman_max 0.7044

Training Details

Training Hyperparameters

Non-Default Hyperparameters

  • per_device_train_batch_size: 16
  • per_device_eval_batch_size: 16
  • learning_rate: 2e-05
  • num_train_epochs: 1
  • warmup_ratio: 0.1
  • bf16: True
  • batch_sampler: no_duplicates

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • prediction_loss_only: True
  • per_device_train_batch_size: 16
  • per_device_eval_batch_size: 16
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: None
  • gradient_accumulation_steps: 1
  • eval_accumulation_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: linear
  • 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
  • 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: 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, '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_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional

Training Logs

Click to expand
Epoch Step Training Loss sts-test-128_spearman_cosine sts-test-256_spearman_cosine sts-test-512_spearman_cosine sts-test-64_spearman_cosine sts-test-768_spearman_cosine
0.0057 100 25.7713 - - - - -
0.0115 200 20.7886 - - - - -
0.0172 300 17.0398 - - - - -
0.0229 400 15.3913 - - - - -
0.0287 500 14.0214 - - - - -
0.0344 600 12.2125 - - - - -
0.0402 700 10.3033 - - - - -
0.0459 800 9.3822 - - - - -
0.0516 900 8.9276 - - - - -
0.0574 1000 8.552 - - - - -
0.0631 1100 8.6293 - - - - -
0.0688 1200 8.5353 - - - - -
0.0746 1300 8.6431 - - - - -
0.0803 1400 8.3192 - - - - -
0.0860 1500 7.1834 - - - - -
0.0918 1600 6.7834 - - - - -
0.0975 1700 6.4758 - - - - -
0.1033 1800 6.756 - - - - -
0.1090 1900 7.807 - - - - -
0.1147 2000 6.8836 - - - - -
0.1205 2100 6.9948 - - - - -
0.1262 2200 6.5031 - - - - -
0.1319 2300 6.3596 - - - - -
0.1377 2400 6.0257 - - - - -
0.1434 2500 5.9757 - - - - -
0.1491 2600 5.464 - - - - -
0.1549 2700 5.6518 - - - - -
0.1606 2800 6.2899 - - - - -
0.1664 2900 6.4876 - - - - -
0.1721 3000 6.9466 - - - - -
0.1778 3100 6.8439 - - - - -
0.1836 3200 6.2545 - - - - -
0.1893 3300 5.9795 - - - - -
0.1950 3400 5.3904 - - - - -
0.2008 3500 6.2798 - - - - -
0.2065 3600 5.6882 - - - - -
0.2122 3700 6.195 - - - - -
0.2180 3800 5.8728 - - - - -
0.2237 3900 6.2428 - - - - -
0.2294 4000 5.801 - - - - -
0.2352 4100 5.6918 - - - - -
0.2409 4200 5.3977 - - - - -
0.2467 4300 5.8792 - - - - -
0.2524 4400 5.9297 - - - - -
0.2581 4500 6.161 - - - - -
0.2639 4600 5.6571 - - - - -
0.2696 4700 5.5849 - - - - -
0.2753 4800 5.6382 - - - - -
0.2811 4900 5.2978 - - - - -
0.2868 5000 5.108 - - - - -
0.2925 5100 5.1158 - - - - -
0.2983 5200 5.6218 - - - - -
0.3040 5300 5.643 - - - - -
0.3098 5400 5.6894 - - - - -
0.3155 5500 5.373 - - - - -
0.3212 5600 5.0673 - - - - -
0.3270 5700 5.1915 - - - - -
0.3327 5800 5.3705 - - - - -
0.3384 5900 5.6432 - - - - -
0.3442 6000 5.2567 - - - - -
0.3499 6100 5.4516 - - - - -
0.3556 6200 5.4844 - - - - -
0.3614 6300 4.8238 - - - - -
0.3671 6400 4.8271 - - - - -
0.3729 6500 4.9863 - - - - -
0.3786 6600 5.4894 - - - - -
0.3843 6700 4.95 - - - - -
0.3901 6800 5.0881 - - - - -
0.3958 6900 5.249 - - - - -
0.4015 7000 5.0082 - - - - -
0.4073 7100 5.5064 - - - - -
0.4130 7200 5.0885 - - - - -
0.4187 7300 5.0321 - - - - -
0.4245 7400 4.8212 - - - - -
0.4302 7500 5.4231 - - - - -
0.4360 7600 4.7687 - - - - -
0.4417 7700 4.5707 - - - - -
0.4474 7800 5.2229 - - - - -
0.4532 7900 5.2446 - - - - -
0.4589 8000 4.682 - - - - -
0.4646 8100 4.888 - - - - -
0.4704 8200 5.0496 - - - - -
0.4761 8300 4.7089 - - - - -
0.4818 8400 4.9567 - - - - -
0.4876 8500 4.7913 - - - - -
0.4933 8600 4.8904 - - - - -
0.4991 8700 5.247 - - - - -
0.5048 8800 4.8254 - - - - -
0.5105 8900 4.973 - - - - -
0.5163 9000 4.6657 - - - - -
0.5220 9100 4.9224 - - - - -
0.5277 9200 4.8163 - - - - -
0.5335 9300 4.3673 - - - - -
0.5392 9400 4.6509 - - - - -
0.5449 9500 5.0667 - - - - -
0.5507 9600 4.8771 - - - - -
0.5564 9700 5.1056 - - - - -
0.5622 9800 4.8297 - - - - -
0.5679 9900 5.0156 - - - - -
0.5736 10000 5.0758 - - - - -
0.5794 10100 4.9551 - - - - -
0.5851 10200 4.9594 - - - - -
0.5908 10300 5.136 - - - - -
0.5966 10400 4.7873 - - - - -
0.6023 10500 4.5154 - - - - -
0.6080 10600 4.928 - - - - -
0.6138 10700 5.1825 - - - - -
0.6195 10800 5.046 - - - - -
0.6253 10900 5.0111 - - - - -
0.6310 11000 4.9458 - - - - -
0.6367 11100 5.188 - - - - -
0.6425 11200 4.6219 - - - - -
0.6482 11300 5.3367 - - - - -
0.6539 11400 4.9851 - - - - -
0.6597 11500 5.2068 - - - - -
0.6654 11600 4.3789 - - - - -
0.6711 11700 5.3533 - - - - -
0.6769 11800 5.3983 - - - - -
0.6826 11900 4.6 - - - - -
0.6883 12000 4.6668 - - - - -
0.6941 12100 5.0814 - - - - -
0.6998 12200 5.0787 - - - - -
0.7056 12300 4.6325 - - - - -
0.7113 12400 4.9415 - - - - -
0.7170 12500 4.7053 - - - - -
0.7228 12600 4.3212 - - - - -
0.7285 12700 4.8205 - - - - -
0.7342 12800 4.8602 - - - - -
0.7400 12900 4.6944 - - - - -
0.7457 13000 4.7785 - - - - -
0.7514 13100 4.3515 - - - - -
0.7572 13200 5.7561 - - - - -
0.7629 13300 5.3526 - - - - -
0.7687 13400 5.187 - - - - -
0.7744 13500 5.0143 - - - - -
0.7801 13600 4.515 - - - - -
0.7859 13700 4.639 - - - - -
0.7916 13800 4.5556 - - - - -
0.7973 13900 4.3526 - - - - -
0.8031 14000 4.3091 - - - - -
0.8088 14100 4.1761 - - - - -
0.8145 14200 4.0484 - - - - -
0.8203 14300 4.1886 - - - - -
0.8260 14400 4.237 - - - - -
0.8318 14500 4.2167 - - - - -
0.8375 14600 4.0329 - - - - -
0.8432 14700 3.9902 - - - - -
0.8490 14800 3.8211 - - - - -
0.8547 14900 4.0048 - - - - -
0.8604 15000 3.7979 - - - - -
0.8662 15100 3.8117 - - - - -
0.8719 15200 3.909 - - - - -
0.8776 15300 3.8526 - - - - -
0.8834 15400 3.79 - - - - -
0.8891 15500 3.7792 - - - - -
0.8949 15600 3.7469 - - - - -
0.9006 15700 3.8387 - - - - -
0.9063 15800 3.6418 - - - - -
0.9121 15900 3.645 - - - - -
0.9178 16000 3.4861 - - - - -
0.9235 16100 3.6416 - - - - -
0.9293 16200 3.6665 - - - - -
0.9350 16300 3.6809 - - - - -
0.9407 16400 3.7944 - - - - -
0.9465 16500 3.6585 - - - - -
0.9522 16600 3.5398 - - - - -
0.9580 16700 3.7036 - - - - -
0.9637 16800 3.6386 - - - - -
0.9694 16900 3.5501 - - - - -
0.9752 17000 3.7957 - - - - -
0.9809 17100 3.6076 - - - - -
0.9866 17200 3.4653 - - - - -
0.9924 17300 3.6768 - - - - -
0.9981 17400 3.49 - - - - -
1.0 17433 - 0.7051 0.7044 0.7046 0.7044 0.7065

Framework Versions

  • Python: 3.11.9
  • Sentence Transformers: 3.0.1
  • Transformers: 4.40.1
  • PyTorch: 2.3.0+cu121
  • Accelerate: 0.29.3
  • Datasets: 2.19.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",
}

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
16
Safetensors
Model size
277M params
Tensor type
F32
·
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.

Finetuned from

Evaluation results