SentenceTransformer based on BAAI/bge-m3
This is a sentence-transformers model finetuned from BAAI/bge-m3 on the ro-msmarco-divided dataset. 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: 512 tokens
- Output Dimensionality: 1024 dimensions
- Similarity Function: Cosine Similarity
- Training Dataset:
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': 512, 'do_lower_case': False, 'architecture': '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("alina0195/bge-m3-ro-msmarco-v2")
# Run inference
sentences = [
'Cine a fost John Andre?',
'Cazul unui faimos trădător american văzut de către handlerul său. JOHN ANDRE, OFITER DE CAZ. Robert Amory, Jr. În mai 1779, cu doi ani și jumătate înainte de victoria decisivă de la Yorktown, cauza continentală era într-o stare precară.',
'Andre Meadows (născut pe 25 octombrie 1978), este un YouTuber cunoscut mai ales pentru vlogurile, diatribele, recenziile și comediile sale despre orice are legătură cu nostalgia, cum ar fi jocurile video sau filmele clasice. S-a alăturat platformei YouTube pe 10 iulie 2007. Intros video. Meadows are multe introduceri video. Toate sunt folosite în funcție de subiectul videoclipului. Bună, eu sunt Andre și sunt un Nerd de culoare! - Introducerea lui neutră. Bună, eu sunt Andre și sunt un Nerd de culoare și sunt furios! AAAAGGGGGGHHHHH! Diatribele unui Nerd de culoare! - Introducerea lui pentru videoclipurile de diatribă. Bună, eu sunt Andre și sunt un Nerd de culoare cu o recenzie pentru TINE! Recenzile unui Nerd de culoare! - Introducerea lui pentru videoclipurile de recenzie. Bună, eu sunt Andre și sunt un Nerd de culoare cu o altă recenzie pentru Teenage Mutant Ninja Turtles!',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 1024]
# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities)
# tensor([[1.0000, 0.4323, 0.4008],
# [0.4323, 1.0000, 0.1556],
# [0.4008, 0.1556, 1.0000]])
Evaluation
Metrics
Information Retrieval
- Datasets:
ro-msmarco-devandro-msmarco-dev-nodiac - Evaluated with InformationRetrievalEvaluator
| Metric | ro-msmarco-dev | ro-msmarco-dev-nodiac |
|---|---|---|
| cosine_accuracy@1 | 0.6544 | 0.6519 |
| cosine_accuracy@10 | 0.9073 | 0.9082 |
| cosine_precision@10 | 0.0958 | 0.096 |
| cosine_precision@100 | 0.0106 | 0.0105 |
| cosine_recall@10 | 0.9 | 0.9013 |
| cosine_recall@100 | 0.9887 | 0.9871 |
| cosine_ndcg@10 | 0.7739 | 0.7727 |
| cosine_mrr@10 | 0.7388 | 0.7369 |
| cosine_map@100 | 0.7357 | 0.7336 |
Training Details
Training Dataset
ro-msmarco-divided
- Dataset: ro-msmarco-divided at d2448c2
- Size: 402,871 training samples
- Columns: anchor, positive, and negative
- Approximate statistics based on the first 1000 samples:
anchor positive negative type string string string details min: 4 tokensmean: 12.35 tokensmax: 38 tokens min: 20 tokensmean: 99.75 tokensmax: 332 tokens min: 20 tokensmean: 99.81 tokensmax: 398 tokens - Samples:
anchor positive negative Ce încarcă bateria unei mașini de tuns iarba? Cum se încarcă bateria tractorului de 12 volți în mod corespunzător? Important: Când încărcați bateria tractorului, folosiți un încărcător proiectat pentru baterii cu plumb-acid de 12 volți. Cititi manualul de utilizare al încărcătorului de baterii înainte de a încărca bateria tractorului. Urmați întotdeauna instrucțiunile și respectați avertismentele. Dacă tractorul nu a fost folosit pentru o perioadă lungă de timp, încărcați bateria după cum urmează: Setați încărcătorul de baterii să nu furnizeze mai mult de un curent de maxim 6 amperi. O mașină de tuns iarba pe baterii poate tăia iarba groasă, dar pune o mulțime de stres pe baterie și pe motorul electric. Bateriile se vor descărca repede sub o astfel de sarcină, iar bateriile cu ioni de litiu se pot încălzi, cauzând oprirea temporară a circuitului electric al bateriei pentru a o proteja. Cât costă un nou sistem septic în Massachusetts? Povara financiară pe care o creează un sistem septic defect poate fi considerabilă pentru majoritatea oamenilor. Costul instalării unui nou sistem septic care respectă reglementările din titlul 5 poate varia între 10.000 și 50.000 de dolari sau mai mult, în funcție de condițiile solului, nivelul apelor subterane și dacă se întâlnește un strat de rocă. Ultimul lucru pe care îl doriți este o problemă cu sistemul septic! Ca agent imobiliar din Massachusetts, care a fost implicat în numeroase vânzări de case, sunt uimit de faptul că unii vânzători sunt atât de neglijenți în ceea ce privește obținerea unei inspecții în conformitate cu reglementările din titlul 5 înainte de a-și pune casa pe piață. În majoritatea comitatelor și statelor, instalarea sau înlocuirea unui sistem septic necesită un permis de construire, care costă între 250 și 1000 de dolari sau mai mult, în funcție de locație și de complexitatea proiectului. Pentru detalii, consultați departamentul local de construcții/planificare. Numerele de telefon ale companiei MassMutual Număr de telefon al serviciului de asistență clienți de la MassMutual. Numărul de telefon al serviciului de asistență clienți de la MassMutual este +1 (800) 767-1000 / 413-744-8411 / 1 (800) 272-2216 (faceți clic pe numărul de telefon pentru a suna). data-ad-slot=7829909793> Număr de telefon al serviciului de asistență clienți de la MassMutual. Număr de telefon al serviciului de asistență clienți pentru pensionare de la MassMutual. Număr de telefon de contact al serviciului de asistență clienți pentru pensionare de la MassMutual. Cine să contactați dacă aveți întrebări. Dacă aveți nevoie să sunați sau să scrieți la CMSP, vă rugăm să folosiți numerele de telefon și adresele de mai jos. Sunați la Serviciul Clienți CMSP la numărul de telefon 1-800-909-2677 pentru: servicii acoperite de CMSP - doar medicale, stomatologice, de optometrie și de sănătate comportamentală. Pentru întrebări privind beneficiile farmaciei, sunați la Serviciul Clienți MassHealth (a se vedea mai jos). - Loss: CachedMultipleNegativesRankingLoss with these parameters:
{ "scale": 20.0, "similarity_fct": "cos_sim", "mini_batch_size": 16, "gather_across_devices": false }
Training Hyperparameters
Non-Default Hyperparameters
eval_strategy: stepsper_device_train_batch_size: 128per_device_eval_batch_size: 64learning_rate: 1e-05weight_decay: 0.01num_train_epochs: 1.0warmup_ratio: 0.05bf16: Truedataloader_drop_last: Truedataloader_num_workers: 4load_best_model_at_end: Truebatch_sampler: no_duplicates
All Hyperparameters
overwrite_output_dir: Falsedo_predict: Falseeval_strategy: stepsprediction_loss_only: Trueper_device_train_batch_size: 128per_device_eval_batch_size: 64per_gpu_train_batch_size: Noneper_gpu_eval_batch_size: Nonegradient_accumulation_steps: 1eval_accumulation_steps: Nonetorch_empty_cache_steps: Nonelearning_rate: 1e-05weight_decay: 0.01adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1.0num_train_epochs: 1.0max_steps: -1lr_scheduler_type: linearlr_scheduler_kwargs: {}warmup_ratio: 0.05warmup_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: Truefp16: 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: Truedataloader_num_workers: 4dataloader_prefetch_factor: Nonepast_index: -1disable_tqdm: Falseremove_unused_columns: Truelabel_names: Noneload_best_model_at_end: Trueignore_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}parallelism_config: Nonedeepspeed: Nonelabel_smoothing_factor: 0.0optim: adamw_torch_fusedoptim_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: Nonehub_always_push: Falsehub_revision: Nonegradient_checkpointing: Falsegradient_checkpointing_kwargs: Noneinclude_inputs_for_metrics: Falseinclude_for_metrics: []eval_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: Noneinclude_tokens_per_second: Falseinclude_num_input_tokens_seen: Falseneftune_noise_alpha: Noneoptim_target_modules: Nonebatch_eval_metrics: Falseeval_on_start: Falseuse_liger_kernel: Falseliger_kernel_config: Noneeval_use_gather_object: Falseaverage_tokens_across_devices: Falseprompts: Nonebatch_sampler: no_duplicatesmulti_dataset_batch_sampler: proportionalrouter_mapping: {}learning_rate_mapping: {}
Training Logs
| Epoch | Step | Training Loss | ro-msmarco-dev_cosine_ndcg@10 | ro-msmarco-dev-nodiac_cosine_ndcg@10 |
|---|---|---|---|---|
| -1 | -1 | - | 0.7165 | 0.7112 |
| 0.0159 | 50 | 0.636 | - | - |
| 0.0318 | 100 | 0.4842 | - | - |
| 0.0477 | 150 | 0.4367 | - | - |
| 0.0636 | 200 | 0.4343 | - | - |
| 0.0794 | 250 | 0.4113 | - | - |
| 0.0953 | 300 | 0.4288 | - | - |
| 0.1112 | 350 | 0.4117 | - | - |
| 0.1249 | 393 | - | 0.7497 | - |
| 0.1271 | 400 | 0.4062 | - | - |
| 0.1430 | 450 | 0.3962 | - | - |
| 0.1589 | 500 | 0.3887 | - | - |
| 0.1748 | 550 | 0.3972 | - | - |
| 0.1907 | 600 | 0.3941 | - | - |
| 0.2065 | 650 | 0.3875 | - | - |
| 0.2224 | 700 | 0.3745 | - | - |
| 0.2383 | 750 | 0.3938 | - | - |
| 0.2498 | 786 | - | 0.7503 | - |
| 0.2542 | 800 | 0.381 | - | - |
| 0.2701 | 850 | 0.3775 | - | - |
| 0.2860 | 900 | 0.3694 | - | - |
| 0.3019 | 950 | 0.3759 | - | - |
| 0.3178 | 1000 | 0.3702 | - | - |
| 0.3337 | 1050 | 0.3589 | - | - |
| 0.3495 | 1100 | 0.3715 | - | - |
| 0.3654 | 1150 | 0.3658 | - | - |
| 0.3746 | 1179 | - | 0.7648 | - |
| 0.3813 | 1200 | 0.3682 | - | - |
| 0.3972 | 1250 | 0.3716 | - | - |
| 0.4131 | 1300 | 0.3667 | - | - |
| 0.4290 | 1350 | 0.3661 | - | - |
| 0.4449 | 1400 | 0.3673 | - | - |
| 0.4608 | 1450 | 0.356 | - | - |
| 0.4766 | 1500 | 0.3565 | - | - |
| 0.4925 | 1550 | 0.3584 | - | - |
| 0.4995 | 1572 | - | 0.7614 | - |
| 0.5084 | 1600 | 0.3394 | - | - |
| 0.5243 | 1650 | 0.3589 | - | - |
| 0.5402 | 1700 | 0.3737 | - | - |
| 0.5561 | 1750 | 0.3712 | - | - |
| 0.5720 | 1800 | 0.3654 | - | - |
| 0.5879 | 1850 | 0.3633 | - | - |
| 0.6037 | 1900 | 0.3579 | - | - |
| 0.6196 | 1950 | 0.3602 | - | - |
| 0.6244 | 1965 | - | 0.7667 | - |
| 0.6355 | 2000 | 0.3701 | - | - |
| 0.6514 | 2050 | 0.3508 | - | - |
| 0.6673 | 2100 | 0.3552 | - | - |
| 0.6832 | 2150 | 0.3508 | - | - |
| 0.6991 | 2200 | 0.3442 | - | - |
| 0.7150 | 2250 | 0.3604 | - | - |
| 0.7309 | 2300 | 0.3606 | - | - |
| 0.7467 | 2350 | 0.3695 | - | - |
| 0.7493 | 2358 | - | 0.7725 | - |
| 0.7626 | 2400 | 0.3456 | - | - |
| 0.7785 | 2450 | 0.3524 | - | - |
| 0.7944 | 2500 | 0.3657 | - | - |
| 0.8103 | 2550 | 0.346 | - | - |
| 0.8262 | 2600 | 0.333 | - | - |
| 0.8421 | 2650 | 0.3325 | - | - |
| 0.8580 | 2700 | 0.3524 | - | - |
| 0.8738 | 2750 | 0.3507 | - | - |
| 0.8742 | 2751 | - | 0.7739 | - |
| 0.8897 | 2800 | 0.3466 | - | - |
| 0.9056 | 2850 | 0.3449 | - | - |
| 0.9215 | 2900 | 0.3324 | - | - |
| 0.9374 | 2950 | 0.357 | - | - |
| 0.9533 | 3000 | 0.3556 | - | - |
| 0.9692 | 3050 | 0.3682 | - | - |
| 0.9851 | 3100 | 0.3566 | - | - |
| 0.9990 | 3144 | - | 0.7723 | - |
| -1 | -1 | - | 0.7739 | 0.7727 |
- The bold row denotes the saved checkpoint.
Framework Versions
- Python: 3.11.13
- Sentence Transformers: 5.1.1
- Transformers: 4.56.2
- PyTorch: 2.9.0+cu128
- Accelerate: 1.13.0
- Datasets: 4.4.1
- Tokenizers: 0.22.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}
}