SentenceTransformer based on intfloat/multilingual-e5-small
This is a sentence-transformers model finetuned from intfloat/multilingual-e5-small on the msmarco-tr dataset. It maps sentences & paragraphs to a 384-dimensional dense vector space and can be used for retrieval.
Model Details
Model Description
- Model Type: Sentence Transformer
- Base model: intfloat/multilingual-e5-small
- Maximum Sequence Length: 256 tokens
- Output Dimensionality: 384 dimensions
- Similarity Function: Cosine Similarity
- Supported Modality: Text
- Training Dataset:
- msmarco-tr
Model Sources
- Documentation: Sentence Transformers Documentation
- Repository: Sentence Transformers on GitHub
- Hugging Face: Sentence Transformers on Hugging Face
Full Model Architecture
SentenceTransformer(
(0): Transformer({'transformer_task': 'feature-extraction', 'modality_config': {'text': {'method': 'forward', 'method_output_name': 'last_hidden_state'}}, 'module_output_name': 'token_embeddings', 'architecture': 'BertModel'})
(1): Pooling({'embedding_dimension': 384, 'pooling_mode': 'mean', '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("emirhanyac/e5-small-msmarco-tr")
# Run inference
queries = [
'query: Safra kesesi karaciğerin______ marjında bulunur',
]
documents = [
'passage: Karaciğer, karın boşluğunun üst kısmında diyaframın hemen altında bulunur. Karaciğerin büyük bir kısmı sağ kostal marjın altında bulunur ve ayrıca sol hemidiafragma ulaşmak için sola uzanır. Diyafram karaciğeri pleura, akciğerler, perikardiyum ve kalpten ayırır.',
"passage: Jay Gatsby (doğum adı James Gatz), F. Scott Fitzgerald'ın 1925 tarihli romanı The Great Gatsby'nin baş karakteridir. Gatsby, West Egg'deki Gotik bir konakta yaşayan inanılmaz derecede zengin bir genç adamdır.",
'passage: ağaç cerrahisi. n. Budama veya dalları destekleyerek hastalıklı veya hasarlı ağaçların tedavisi. ağaç cerrahı n.',
]
query_embeddings = model.encode_query(queries)
document_embeddings = model.encode_document(documents)
print(query_embeddings.shape, document_embeddings.shape)
# [1, 384] [3, 384]
# Get the similarity scores for the embeddings
similarities = model.similarity(query_embeddings, document_embeddings)
print(similarities)
# tensor([[ 0.4641, -0.0035, 0.1333]])
Evaluation
Metrics
Information Retrieval
- Dataset:
msmarco-tr-eval - Evaluated with InformationRetrievalEvaluator
| Metric | Value |
|---|---|
| cosine_accuracy@1 | 0.833 |
| cosine_accuracy@3 | 0.914 |
| cosine_accuracy@5 | 0.932 |
| cosine_accuracy@10 | 0.951 |
| cosine_precision@1 | 0.833 |
| cosine_precision@3 | 0.3047 |
| cosine_precision@5 | 0.1864 |
| cosine_precision@10 | 0.0951 |
| cosine_recall@1 | 0.833 |
| cosine_recall@3 | 0.914 |
| cosine_recall@5 | 0.932 |
| cosine_recall@10 | 0.951 |
| cosine_ndcg@10 | 0.8955 |
| cosine_mrr@10 | 0.8773 |
| cosine_map@100 | 0.8786 |
Training Details
Training Dataset
msmarco-tr
- Dataset: msmarco-tr
- Size: 10,000 training samples
- Columns: anchor and positive
- Approximate statistics based on the first 100 samples:
anchor positive type string string modality text text details min: 7 tokensmean: 13.33 tokensmax: 28 tokens min: 28 tokensmean: 81.28 tokensmax: 136 tokens - Samples:
anchor positive query: asal meridyen arktik daire veya antarktik daireden geçer mi passage: Dünya'daki boylamın her meridyeni Antarktika Çemberi, Arktik Çemberi ve Dünya'daki diğer tüm enlem paralellerini geçer. Her ikisine de evet. Asal meridyen bir boylam çizgisidir ve bu nedenle hem Kuzey Kutbu hem de Antarktika çemberlerinden geçer, bunlar latent çizgileridir. query: Kaç test şeridi için ilaç ödeyecek passage: Gary'ye göre, Medicare tarafından kapsanan test şeritlerinin sayısı, hastanın insülin kullanıp kullanmadığına bağlı olabilir. Bir yararlanıcı insülin kullanırsa, her ay 100 test şeridine ve lancet'a ve her 6 ayda bir lancet cihazına kadar çıkabilir, dedi Gary. query: Bir kedinin ortalama ömrü passage: Köpeklerin ve Kedilerin Yaşam Beklentisi. Evcil hayvanlarımızın uzun yıllar boyunca hayatımızın bir parçası olacağını umuyoruz, ancak gerçek şu ki, ortalama yaşam beklentisi köpekler için 10-12 yıl ve kediler için 10-14 yıldır. Yaşlı evcil hayvanların çok özel ihtiyaçları vardır ve daha sonraki yıllarda kanser, artrit ve diş hastalıklarına özellikle duyarlıdırlar. - Loss: MultipleNegativesRankingLoss with these parameters:
{ "scale": 20.0, "similarity_fct": "cos_sim", "gather_across_devices": false, "directions": [ "query_to_doc" ], "partition_mode": "joint", "hardness_mode": null, "hardness_strength": 0.0 }
Training Hyperparameters
Non-Default Hyperparameters
per_device_train_batch_size: 64num_train_epochs: 1learning_rate: 2e-05warmup_steps: 0.1batch_sampler: no_duplicates
All Hyperparameters
per_device_train_batch_size: 64num_train_epochs: 1max_steps: -1learning_rate: 2e-05lr_scheduler_type: linearlr_scheduler_kwargs: Nonewarmup_steps: 0.1optim: adamw_torch_fusedoptim_args: Noneweight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08optim_target_modules: Nonegradient_accumulation_steps: 1average_tokens_across_devices: Truemax_grad_norm: 1.0label_smoothing_factor: 0.0bf16: Falsefp16: Falsebf16_full_eval: Falsefp16_full_eval: Falsetf32: Nonegradient_checkpointing: Falsegradient_checkpointing_kwargs: Nonetorch_compile: Falsetorch_compile_backend: Nonetorch_compile_mode: Noneuse_liger_kernel: Falseliger_kernel_config: Noneuse_cache: Falseneftune_noise_alpha: Nonetorch_empty_cache_steps: Noneauto_find_batch_size: Falselog_on_each_node: Truelogging_nan_inf_filter: Trueinclude_num_input_tokens_seen: nolog_level: passivelog_level_replica: warningdisable_tqdm: Falseproject: huggingfacetrackio_space_id: Nonetrackio_bucket_id: Nonetrackio_static_space_id: Noneper_device_eval_batch_size: 8prediction_loss_only: Trueeval_on_start: Falseeval_do_concat_batches: Trueeval_use_gather_object: Falseeval_accumulation_steps: Noneinclude_for_metrics: []batch_eval_metrics: Falsesave_only_model: Falsesave_on_each_node: Falseenable_jit_checkpoint: Falsepush_to_hub: Falsehub_private_repo: Nonehub_model_id: Nonehub_strategy: every_savehub_always_push: Falsehub_revision: Noneload_best_model_at_end: Falseignore_data_skip: Falserestore_callback_states_from_checkpoint: Falsefull_determinism: Falseseed: 42data_seed: Noneuse_cpu: Falseaccelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}parallelism_config: Nonedataloader_drop_last: Falsedataloader_num_workers: 0dataloader_pin_memory: Truedataloader_persistent_workers: Falsedataloader_prefetch_factor: Noneremove_unused_columns: Truelabel_names: Nonetrain_sampling_strategy: randomlength_column_name: lengthddp_find_unused_parameters: Noneddp_bucket_cap_mb: Noneddp_broadcast_buffers: Falseddp_static_graph: Noneddp_backend: Noneddp_timeout: 1800fsdp: Nonefsdp_config: Nonedeepspeed: Nonedebug: []skip_memory_metrics: Truedo_predict: Falseresume_from_checkpoint: Nonewarmup_ratio: Nonelocal_rank: -1prompts: Nonebatch_sampler: no_duplicatesmulti_dataset_batch_sampler: proportionalrouter_mapping: {}learning_rate_mapping: {}
Training Logs
| Epoch | Step | Training Loss | msmarco-tr-eval_cosine_ndcg@10 |
|---|---|---|---|
| -1 | -1 | - | 0.8841 |
| 0.1592 | 25 | 1.3794 | - |
| 0.3185 | 50 | 0.1740 | - |
| 0.4777 | 75 | 0.1527 | - |
| 0.6369 | 100 | 0.1369 | - |
| 0.7962 | 125 | 0.1406 | - |
| 0.9554 | 150 | 0.1435 | - |
| -1 | -1 | - | 0.8955 |
Training Time
- Training: 5.2 minutes
Framework Versions
- Python: 3.13.9
- Sentence Transformers: 5.6.0
- Transformers: 5.13.1
- PyTorch: 2.13.0
- Accelerate: 1.14.0
- Datasets: 5.0.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",
}
MultipleNegativesRankingLoss
@misc{oord2019representationlearningcontrastivepredictive,
title={Representation Learning with Contrastive Predictive Coding},
author={Aaron van den Oord and Yazhe Li and Oriol Vinyals},
year={2019},
eprint={1807.03748},
archivePrefix={arXiv},
primaryClass={cs.LG},
url={https://arxiv.org/abs/1807.03748},
}