SentenceTransformer based on intfloat/multilingual-e5-base

This is a sentence-transformers model finetuned from intfloat/multilingual-e5-base. 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: intfloat/multilingual-e5-base
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 768 dimensions
  • Similarity Function: Cosine Similarity

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': False, 'architecture': '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("tellowit/custom-e5-miracl-ru")
# Run inference
sentences = [
    'query: Где происходит действие первой игры Warcraft?',
    'passage: Warcraft Adventures: Lord of the Clans\xa0— отменённая компьютерная игра в жанре графического квеста, которую совместно разрабатывали американская компания Blizzard Entertainment и американо-российская студия Animation Magic с по . Действие "Warcraft Adventures" происходит в вымышленной вселенной Warcraft вскоре после событий игры ""; главный герой, орк по имени Тралл, пытается объединить племена орков, после проигранной войны живущие в резервациях под властью победителей-людей. Игровой процесс "Warcraft Adventures" должен был быть схож с другими графическими квестами того времени — при помощи интерфейса «укажи и щелкни» игрок мог исследовать мир, решать головоломки и взаимодействовать с другими персонажами.',
    'passage: Тем временем с аэродрома Энгельс вылетел вертолёт Ми-4, в задачу экипажа которого входило найти и подобрать Гагарина. Экипаж вертолёта Ми-4 первым обнаружил спускаемый аппарат, но Гагарина рядом не было; ситуацию прояснили местные жители, которые сказали, что Гагарин уехал на грузовике в город Энгельс. Вертолёт взлетел и взял курс на город. С его борта на дороге неподалеку от КПП ракетного дивизиона заметили автомашину, на которой Гагарин после доклада в части направлялся к спускаемому аппарату. Гагарин вышел из машины и махал руками, его подобрали, и вертолёт полетел на аэродром Энгельс, передав радиограмму: «Космонавт взят на борт, следую на аэродром». На месте посадки Гагарину была вручена его первая награда за полёт в космос\xa0— медаль «За освоение целинных земель». Впоследствии такая же медаль вручалась на месте посадки и многим другим космонавтам.',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]

# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities)
# tensor([[1.0000, 0.8099, 0.6821],
#         [0.8099, 1.0000, 0.6656],
#         [0.6821, 0.6656, 1.0000]])

Evaluation

Metrics

Information Retrieval

Metric Value
cosine_accuracy@1 0.6605
cosine_accuracy@3 0.8722
cosine_accuracy@5 0.9241
cosine_precision@1 0.6605
cosine_precision@3 0.4819
cosine_precision@5 0.3819
cosine_recall@1 0.3197
cosine_recall@3 0.6041
cosine_recall@5 0.7388
cosine_ndcg@1 0.6605
cosine_ndcg@3 0.6674
cosine_ndcg@5 0.6997
cosine_mrr@1 0.6605
cosine_mrr@3 0.7549
cosine_mrr@5 0.7672
cosine_map@100 0.6726

Training Details

Training Dataset

Unnamed Dataset

  • Size: 33,921 training samples
  • Columns: sentence1, sentence2, and label
  • Approximate statistics based on the first 1000 samples:
    sentence1 sentence2 label
    type string string float
    details
    • min: 10 tokens
    • mean: 17.69 tokens
    • max: 32 tokens
    • min: 17 tokens
    • mean: 197.06 tokens
    • max: 512 tokens
    • min: 0.0
    • mean: 0.28
    • max: 1.0
  • Samples:
    sentence1 sentence2 label
    query: Когда был спущен на воду первый миноносец «Спокойный»? passage: Зачислен в списки ВМФ СССР 19 августа 1952 года. Официальная закладка (при 33 % готовности корпуса) была произведена на заводе № 190 им. А. А. Жданова 4 марта 1953 года (строительный № 701), спущен на воду 28 ноября 1953 года. Испытания корабля были начаты 26 апреля 1954 года на Балтике, испытания артиллерии велись с 8 августа по 8 сентября и с 3 по 16 декабря 1955 года. Корабль принят флотом 27 июня 1956 года, 9 октября 1957 года эсминец вступил в состав Советского Военно-Морского Флота. 1.0
    query: Когда был спущен на воду первый миноносец «Спокойный»? passage: Стерегу́щий — русский миноносец типа «Сокол». Заложен в 1900 году на Невском заводе (Санкт-Петербург), имея тогда название «Кулик». Спущен на воду в июне 1902 году под именем «Стерегущий» в Порт-Артуре, куда по частям был доставлен железнодорожным транспортом. В строй вступил в августе 1903 года. Погиб в неравном бою с превосходящими силами японцев а во время русско-японской войны. Против миноносцев «Стерегущий» и «Решительный» действовало четыре японских миноносца, которые по вооружению, водоизмещению и количеству экипажа существенно превосходили русские миноносцы. 0.0
    query: Когда был спущен на воду первый миноносец «Спокойный»? passage: Эскадренный миноносец заложен в 1900 году на Невском заводе в Санкт-Петербурге под названием «Перепел». 27 февраля 1902 года начат сборкой, и 4 мая 1903 года спущен на воду в Порт-Артуре. Принят в казну в декабре 1903 года. С 9 марта 1902 года — «Скорый».
    К началу русско-японской войны «Скорый» входил в состав 2-го отряда миноносцев 1-й Тихоокеанской эскадры. В задачи миноносца входило: дозорная и разведывательная служба, траление и постановка мины у побережья Порт-Артура.
    0.0
  • Loss: CoSENTLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "pairwise_cos_sim"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • per_device_train_batch_size: 64
  • num_train_epochs: 2
  • learning_rate: 1e-05
  • warmup_steps: 0.1
  • fp16: True
  • eval_strategy: steps
  • load_best_model_at_end: True
  • warmup_ratio: 0.1

All Hyperparameters

Click to expand
  • per_device_train_batch_size: 64
  • num_train_epochs: 2
  • max_steps: -1
  • learning_rate: 1e-05
  • lr_scheduler_type: linear
  • lr_scheduler_kwargs: None
  • warmup_steps: 0.1
  • optim: adamw_torch_fused
  • optim_args: None
  • weight_decay: 0.0
  • adam_beta1: 0.9
  • adam_beta2: 0.999
  • adam_epsilon: 1e-08
  • optim_target_modules: None
  • gradient_accumulation_steps: 1
  • average_tokens_across_devices: True
  • max_grad_norm: 1.0
  • label_smoothing_factor: 0.0
  • bf16: False
  • fp16: True
  • bf16_full_eval: False
  • fp16_full_eval: False
  • tf32: None
  • gradient_checkpointing: False
  • gradient_checkpointing_kwargs: None
  • torch_compile: False
  • torch_compile_backend: None
  • torch_compile_mode: None
  • use_liger_kernel: False
  • liger_kernel_config: None
  • use_cache: False
  • neftune_noise_alpha: None
  • torch_empty_cache_steps: None
  • auto_find_batch_size: False
  • log_on_each_node: True
  • logging_nan_inf_filter: True
  • include_num_input_tokens_seen: no
  • log_level: passive
  • log_level_replica: warning
  • disable_tqdm: False
  • project: huggingface
  • trackio_space_id: trackio
  • eval_strategy: steps
  • per_device_eval_batch_size: 8
  • prediction_loss_only: True
  • eval_on_start: False
  • eval_do_concat_batches: True
  • eval_use_gather_object: False
  • eval_accumulation_steps: None
  • include_for_metrics: []
  • batch_eval_metrics: False
  • save_only_model: False
  • save_on_each_node: False
  • enable_jit_checkpoint: False
  • push_to_hub: False
  • hub_private_repo: None
  • hub_model_id: None
  • hub_strategy: every_save
  • hub_always_push: False
  • hub_revision: None
  • load_best_model_at_end: True
  • ignore_data_skip: False
  • restore_callback_states_from_checkpoint: False
  • full_determinism: False
  • seed: 42
  • data_seed: None
  • use_cpu: False
  • accelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}
  • parallelism_config: None
  • dataloader_drop_last: False
  • dataloader_num_workers: 0
  • dataloader_pin_memory: True
  • dataloader_persistent_workers: False
  • dataloader_prefetch_factor: None
  • remove_unused_columns: True
  • label_names: None
  • train_sampling_strategy: random
  • length_column_name: length
  • ddp_find_unused_parameters: None
  • ddp_bucket_cap_mb: None
  • ddp_broadcast_buffers: False
  • ddp_backend: None
  • ddp_timeout: 1800
  • fsdp: []
  • fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}
  • deepspeed: None
  • debug: []
  • skip_memory_metrics: True
  • do_predict: False
  • resume_from_checkpoint: None
  • warmup_ratio: 0.1
  • local_rank: -1
  • prompts: None
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: proportional
  • router_mapping: {}
  • learning_rate_mapping: {}

Training Logs

Click to expand
Epoch Step Training Loss miracl-dev_cosine_ndcg@5
0.0188 10 6.5815 -
0.0377 20 6.5509 0.6958
0.0565 30 6.4997 -
0.0753 40 6.4911 0.6962
0.0942 50 6.4202 -
0.1130 60 6.4611 0.6951
0.1318 70 6.6049 -
0.1507 80 6.3301 0.6947
0.1695 90 6.4636 -
0.1883 100 6.3973 0.6959
0.2072 110 6.4483 -
0.2260 120 6.4115 0.6976
0.2448 130 6.5310 -
0.2637 140 6.5184 0.6979
0.2825 150 6.3948 -
0.3013 160 6.3295 0.6967
0.3202 170 6.4219 -
0.3390 180 6.3656 0.6983
0.3578 190 6.3893 -
0.3766 200 6.2737 0.6993
0.3955 210 6.4098 -
0.4143 220 6.3519 0.7020
0.4331 230 6.4040 -
0.4520 240 6.4088 0.7018
0.4708 250 6.5007 -
0.4896 260 6.3679 0.7026
0.5085 270 6.3605 -
0.5273 280 6.3862 0.7027
0.5461 290 6.4210 -
0.5650 300 6.2719 0.7028
0.5838 310 6.4073 -
0.6026 320 6.5132 0.7028
0.6215 330 6.4895 -
0.6403 340 6.4847 0.7023
0.6591 350 6.4607 -
0.678 360 6.3017 0.7033
0.6968 370 6.3331 -
0.7156 380 6.2592 0.7030
0.7345 390 6.5381 -
0.7533 400 6.3632 0.7018
0.7721 410 6.3819 -
0.7910 420 6.4583 0.7019
0.8098 430 6.3559 -
0.8286 440 6.4377 0.7022
0.8475 450 6.2426 -
0.8663 460 6.4216 0.7029
0.8851 470 6.3419 -
0.9040 480 6.3999 0.7015
0.9228 490 6.2523 -
0.9416 500 6.4349 0.7013
0.9605 510 6.5806 -
0.9793 520 6.2994 0.7014
0.9981 530 6.5537 -
1.0169 540 5.6289 0.7005
1.0358 550 6.3149 -
1.0546 560 6.3903 0.6993
1.0734 570 6.3323 -
1.0923 580 6.4648 0.7002
1.1111 590 6.3129 -
1.1299 600 6.3834 0.7003
1.1488 610 6.3474 -
1.1676 620 6.1932 0.6994
1.1864 630 6.2955 -
1.2053 640 6.3489 0.6987
1.2241 650 6.4112 -
1.2429 660 6.4257 0.6996
1.2618 670 6.4300 -
1.2806 680 6.3101 0.6998
1.2994 690 6.2131 -
1.3183 700 6.3198 0.6999
1.3371 710 6.3770 -
1.3559 720 6.3222 0.6994
1.3748 730 6.3333 -
1.3936 740 6.4028 0.6989
1.4124 750 6.3535 -
1.4313 760 6.2531 0.6988
1.4501 770 6.1225 -
1.4689 780 6.4201 0.6985
1.4878 790 6.2942 -
1.5066 800 6.3772 0.6988
1.5254 810 6.3184 -
1.5443 820 6.3186 0.6985
1.5631 830 6.3802 -
1.5819 840 6.3708 0.6985
1.6008 850 6.3125 -
1.6196 860 6.3675 0.6985
1.6384 870 6.2405 -
1.6573 880 6.3862 0.6988
1.6761 890 6.3365 -
1.6949 900 6.3041 0.6994
1.7137 910 6.3419 -
1.7326 920 6.1718 0.6992
1.7514 930 6.2510 -
1.7702 940 6.3050 0.6991
1.7891 950 6.4384 -
1.8079 960 6.3246 0.6994
1.8267 970 6.2532 -
1.8456 980 6.3469 0.6996
1.8644 990 6.3095 -
1.8832 1000 6.1955 0.7000
1.9021 1010 6.2463 -
1.9209 1020 6.3498 0.6998
1.9397 1030 6.3084 -
1.9586 1040 6.2430 0.6996
1.9774 1050 6.2689 -
1.9962 1060 6.3395 0.6997
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.13.11
  • Sentence Transformers: 5.2.3
  • Transformers: 5.3.0
  • PyTorch: 2.10.0+cu128
  • Accelerate: 1.13.0
  • Datasets: 2.21.0
  • Tokenizers: 0.22.2

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",
}

CoSENTLoss

@article{10531646,
    author={Huang, Xiang and Peng, Hao and Zou, Dongcheng and Liu, Zhiwei and Li, Jianxin and Liu, Kay and Wu, Jia and Su, Jianlin and Yu, Philip S.},
    journal={IEEE/ACM Transactions on Audio, Speech, and Language Processing},
    title={CoSENT: Consistent Sentence Embedding via Similarity Ranking},
    year={2024},
    doi={10.1109/TASLP.2024.3402087}
}
Downloads last month
7
Safetensors
Model size
0.3B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for tellowit/custom-e5-miracl-ru

Finetuned
(146)
this model

Paper for tellowit/custom-e5-miracl-ru

Evaluation results