Static Embeddings with BERTino uncased tokenizer finetuned on a subset of MMARCO

This is a sentence-transformers model trained on the mmarco 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
  • Maximum Sequence Length: inf tokens
  • Output Dimensionality: 1024 dimensions
  • Similarity Function: Cosine Similarity
  • Training Dataset:
    • mmarco
  • License: apache-2.0

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): StaticEmbedding(
    (embedding): EmbeddingBag(31102, 1024, mode='mean')
  )
)

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("nickprock/static-similarity-mmarco3m-mrl-BERTino-v1.5")
# Run inference
sentences = [
    "di quale sistema fa parte l'insulina?",
    'Come i nostri nervi regolano la secrezione di insulina. LA STORIA COMPLETA. Il sistema nervoso autonomo, che è la parte del sistema nervoso al di fuori del controllo cosciente, svolge un ruolo importante nel rilascio di insulina dalle cellule beta nella parte endocrina del pancreas.',
    "1 Arrotolare il flacone di insulina tra le mani due o tre volte per miscelare l'insulina. 2 Non agitare il flacone, poiché possono formarsi bolle d'aria che influiscono sulla quantità di insulina prelevata. 3 Pulire la parte in gomma sulla parte superiore del flacone di insulina con un tampone imbevuto di alcol o un batuffolo di cotone inumidito con alcol.",
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 1024]

# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]

Evaluation

Metrics

Triplet

Metric mmarco_dev mmarco_test
cosine_accuracy 0.9816 0.9785

Training Details

Training Dataset

mmarco

  • Dataset: mmarco
  • Size: 39,780,811 training samples
  • Columns: query, positive, and negative
  • Approximate statistics based on the first 1000 samples:
    query positive negative
    type string string string
    details
    • min: 10 characters
    • mean: 38.84 characters
    • max: 112 characters
    • min: 92 characters
    • mean: 400.26 characters
    • max: 1273 characters
    • min: 76 characters
    • mean: 383.85 characters
    • max: 1071 characters
  • Samples:
    query positive negative
    è un certificato di nascita uguale a un certificato di naturalizzazione No. Un certificato di nascita viene rilasciato dopo la nascita, di solito nella città e nello stato in cui è avvenuta la nascita. La nascita di Barack Obama è stata registrata a Honolulu, nelle Hawaii, per esempio. La modifica non può essere effettuata tramite posta. Per trovare l'ufficio più vicino, vedere Office Locator. Quando visiti l'ufficio dell'amministrazione della sicurezza sociale, devi portare una prova della cittadinanza statunitense come il certificato di naturalizzazione o il passaporto statunitense e qualche altra forma di documento d'identità con foto come la patente di guida. Il cambio non può essere effettuato per posta. Per trovare l'ufficio più vicino, vedere Office Locator. Quando visiti l'ufficio dell'amministrazione della sicurezza sociale, devi portare una prova della cittadinanza statunitense come il certificato di naturalizzazione o il passaporto statunitense e qualche altra forma di documento d'identità con foto come la patente di guida.
    il latte è consentito nella dieta della pancia di grano? Se perdi peso con la dieta della pancia di grano, probabilmente sarà per aver fatto scelte alimentari sane e non perché hai evitato il glutine. Non ci sono prove scientifiche che gli alimenti con glutine causino un aumento di peso maggiore rispetto ad altri alimenti. Ma la dieta della pancia di grano non elimina solo il glutine. Vieta anche tutta una serie di altri alimenti, tra cui sciroppo di mais ad alto contenuto di fruttosio, saccarosio, cibi zuccherati, riso, patate, soda, succhi di frutta, frutta secca e legumi. Eliminare il sale è ottimo per la pressione sanguigna. Ma se hai il colesterolo alto o malattie cardiache, potresti voler evitare i latticini ricchi di grassi e la carne rossa che sono consentiti nella dieta della pancia di grano. Davis incoraggia l'esercizio, ma il tipo e la quantità effettivi sono lasciati a te. Rasmalai. Ingredienti: Latte, zucchero, ingredienti del latte modificato, farina di frumento, pistacchi, acido citrico, acido acetico, cloruro di calcio, sorbato di potassio, fecola di patate modificata, gomma di guar, gomma di xantano e aromi.Fatti: ingredienti: latte, zucchero, latte modificato ingredienti, farina di frumento, pistacchi, acido citrico, acido acetico, cloruro di calcio, sorbato di potassio, fecola di patate modificata, gomma di guar, gomma di xantano e aromi. Fatti:
    qual è stata la logica alla base della politica di pacificazione durante la seconda guerra mondiale? La politica di pacificazione come motivo più importante dello scoppio della seconda guerra mondiale. Lo scoppio della seconda guerra mondiale ebbe molte cause, una delle quali fu. la politica di pacificazione che fu una delle cause più importanti. La politica di pacificazione, tra il 1936 â€â†1939 era la politica di. cedendo alle richieste di Hitler di prevenire un altro conflitto. Questo era un. una delle maggiori cause della seconda guerra mondiale come Gran Bretagna e Francia. avrebbe potuto fermare Hitler molto prima, per esempio l'invasione di. Razionale per la politica sulla valutazione delle prestazioni. La valutazione delle prestazioni può essere vista come il processo di valutazione e registrazione delle prestazioni del personale allo scopo di esprimere giudizi sul personale che portano a decisioni.
  • Loss: MatryoshkaLoss with these parameters:
    {
        "loss": "MultipleNegativesRankingLoss",
        "matryoshka_dims": [
            1024,
            768,
            512,
            256,
            128,
            64,
            32
        ],
        "matryoshka_weights": [
            1,
            1,
            1,
            1,
            1,
            1,
            1
        ],
        "n_dims_per_step": -1
    }
    

Evaluation Dataset

mmarco

  • Dataset: mmarco
  • Size: 39,780,811 evaluation samples
  • Columns: query, positive, and negative
  • Approximate statistics based on the first 1000 samples:
    query positive negative
    type string string string
    details
    • min: 11 characters
    • mean: 39.1 characters
    • max: 194 characters
    • min: 71 characters
    • mean: 392.09 characters
    • max: 1089 characters
    • min: 65 characters
    • mean: 372.69 characters
    • max: 1060 characters
  • Samples:
    query positive negative
    che colpa c'è in turchia? Il terremoto in Turchia rivela una nuova zona di faglia attiva di Wendy Zukerman Un terremoto di magnitudo 7.2 ha colpito ieri la Turchia, uccidendo più di 200 persone e ferendone migliaia. La Turchia è uno dei paesi più terremotati al mondo. La maggior parte si trova sulla placca anatolica, una piccola placca tettonica a forma di cuneo che viene schiacciata verso ovest mentre la placca araba a est si scontra con la placca eurasiatica. Leggi e regolamenti sull'assicurazione auto senza colpa della Florida. La Florida segue senza colpa quando si tratta del pagamento dei sinistri dell'assicurazione auto dopo un incidente d'auto. In uno stato senza colpa, i conducenti sono tenuti a portare un'assicurazione auto che paga la protezione contro le lesioni personali, o PIP, benefici.
    significato del nome olivia 15 Terribili significati del nome del bambino. Olivia. La storia: Olivia è stata usata per la prima volta come nome femminile nella dodicesima notte di Shakespeare. Mentre secondo l'interpretazione latina significa semplicemente ramo d'ulivo, Olivia è anche conosciuta come una versione femminile di Oliver che significa, sì, esercito di elfi. Olivia Munn ha lavorato senza sforzo sulle onde da spiaggia strutturate sul braccio di Aaron Rodgers agli ESPYs 2016 a Los Angeles mercoledì 13 luglio. Alberto E. Rodriguez/Getty. In una parola, impeccabile! Olivia Munn ha calcato il tappeto rosso agli ESPYs 2016 mercoledì 13 luglio a Los Angeles, lavorando sulle onde da spiaggia più voluminose e strutturate. Continua a leggere per i dettagli su come ricreare lo stile! Questo look è grintoso ma senza sforzo - [è] tutto basato sulla consistenza, ha detto a Us Weekly l'hairstylist delle celebrità Chris Appleton.
    a cosa servono i carboidrati? Scopri quali buoni carboidrati aggiungere alla tua dieta per perdere peso. Non sono mai stato un fan delle diete a basso contenuto di carboidrati: il nostro corpo e il nostro cervello hanno bisogno di carboidrati per funzionare in modo efficace. Scopri quali carboidrati buoni aggiungere alla tua dieta per perdere peso. Non sono mai stato un fan delle diete a basso contenuto di carboidrati: il nostro corpo e il nostro cervello hanno bisogno di carboidrati per funzionare in modo efficace. L'elenco di carboidrati sani di seguito è la migliore fonte di carboidrati buoni. La scelta di carboidrati cattivi (anziché da questo elenco di carboidrati buoni) può minare rapidamente la tua salute e sabotare i tuoi obiettivi di gestione del peso.
  • Loss: MatryoshkaLoss with these parameters:
    {
        "loss": "MultipleNegativesRankingLoss",
        "matryoshka_dims": [
            1024,
            768,
            512,
            256,
            128,
            64,
            32
        ],
        "matryoshka_weights": [
            1,
            1,
            1,
            1,
            1,
            1,
            1
        ],
        "n_dims_per_step": -1
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • per_device_train_batch_size: 2048
  • per_device_eval_batch_size: 2048
  • learning_rate: 0.2
  • num_train_epochs: 1
  • warmup_ratio: 0.1
  • bf16: True
  • load_best_model_at_end: True
  • batch_sampler: no_duplicates

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: steps
  • prediction_loss_only: True
  • per_device_train_batch_size: 2048
  • per_device_eval_batch_size: 2048
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: None
  • gradient_accumulation_steps: 1
  • eval_accumulation_steps: None
  • torch_empty_cache_steps: None
  • learning_rate: 0.2
  • 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
  • restore_callback_states_from_checkpoint: 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: True
  • 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}
  • tp_size: 0
  • fsdp_transformer_layer_cls_to_wrap: None
  • accelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, '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: None
  • hub_always_push: False
  • gradient_checkpointing: False
  • gradient_checkpointing_kwargs: None
  • include_inputs_for_metrics: False
  • include_for_metrics: []
  • 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_eval_metrics: False
  • eval_on_start: False
  • use_liger_kernel: False
  • eval_use_gather_object: False
  • average_tokens_across_devices: False
  • prompts: None
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss Validation Loss mmarco_dev_cosine_accuracy mmarco_test_cosine_accuracy
-1 -1 - - 0.7382 -
0.0007 1 42.3016 - - -
0.0683 100 20.914 8.5389 0.9048 -
0.1365 200 7.612 5.6560 0.9345 -
0.2048 300 5.4857 4.3568 0.9503 -
0.2730 400 4.374 3.5553 0.9593 -
0.3413 500 3.7164 3.0826 0.9664 -
0.4096 600 3.2707 2.7282 0.9719 -
0.4778 700 2.9356 2.5033 0.9742 -
0.5461 800 2.6984 2.3172 0.9781 -
0.6143 900 2.5414 2.1870 0.9797 -
0.6826 1000 2.3811 2.0797 0.9804 -
0.7509 1100 2.273 1.9936 0.9816 -
-1 -1 - - - 0.9785

Framework Versions

  • Python: 3.10.12
  • Sentence Transformers: 3.5.0.dev0
  • Transformers: 4.50.0.dev0
  • PyTorch: 2.5.1+cu121
  • Accelerate: 1.2.1
  • Datasets: 3.3.1
  • Tokenizers: 0.21.0

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

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model is not currently available via any of the supported Inference Providers.

Model tree for nickprock/static-similarity-mmarco3m-mrl-BERTino-v1.5

Base model

indigo-ai/BERTino
Finetuned
(1)
this model

Dataset used to train nickprock/static-similarity-mmarco3m-mrl-BERTino-v1.5

Evaluation results