nickprock's picture
Update README.md
7a98142 verified
metadata
license: apache-2.0
tags:
  - sentence-transformers
  - sentence-similarity
  - feature-extraction
  - generated_from_trainer
  - dataset_size:39780811
  - loss:MatryoshkaLoss
  - loss:MultipleNegativesRankingLoss
widget:
  - source_sentence: quanto tempo può stare fuori l'anguria prima che vada a male?
    sentences:
      - >-
        Fu allora che la linea Make-up Cover sviluppata da Dermacol fu lanciata
        come una delle prime del suo genere sia in Europa che nel mondo e la
        licenza di questo prodotto fu venduta fino a Hollywood nel 1969. Siamo
        orgogliosi che la bellezza di molte stelle del cinema ha avuto le sue
        origini da Dermacol a Praga.
      - >-
        Risposta completa. Se l'anguria viene tagliata, può rimanere fresca in
        frigorifero per circa tre-cinque giorni. L'anguria tagliata può durare
        un giorno se tagliata e conservata sul piano di lavoro. L'anguria è
        ricca di acqua ed elettroliti. Il frutto è anche ricco di vitamina A, un
        potente antiossidante che protegge il corpo dai radicali liberi.
      - >-
        È più spesso associato ai pomodori, ma l'anguria è in realtà una fonte
        più concentrata. Rispetto a un grande pomodoro fresco, una tazza di
        anguria ha 1,5 volte il licopene (6 milligrammi (mg) in un'anguria
        rispetto a 4 mg in un pomodoro). Maggiori informazioni sul motivo per
        cui il licopene è così importante a breve.
  - source_sentence: dove vivono i serpenti a sonagli?
    sentences:
      - >-
        Il bengalese è la lingua nazionale e ufficiale del Bangladesh e una
        delle 23 lingue ufficiali riconosciute dalla Repubblica dell'India. È la
        lingua ufficiale degli stati indiani del Bengala occidentale, del
        Tripura e dell'Assam.
      - >-
        I componenti del veleno possono anche cambiare nel corso della vita di
        un serpente, in specie (ad esempio, alcuni serpenti a sonagli del genere
        Crotalus) che si affidano a una serie di animali da preda come giovani
        (lucertole a sangue freddo e altri piccoli esotermici), e un diverso
        insieme di animali da preda da adulti (roditori a sangue caldo).
      - >-
        Dimensioni: un certo numero di diversi serpenti a sonagli vivono negli
        Stati Uniti e hanno dimensioni variabili dal serpente a sonagli dal naso
        lungo 1 piede al diamondback orientale lungo da 5 a 8 piedi. Dieta: i
        serpenti a sonagli sono pit vipersâ€à Hanno organi di rilevamento
        del calore situati in fosse vicino agli occhi. Abitat: Vivono in una
        varietà di habitat, tra cui foreste, praterie, arbusti, paludi e
        deserti, e sono anche abili nuotatori. Quasi tutti i rettili, compresi i
        serpenti a sonagli, sono ectotermici (a sangue freddo). Gli ectotermi
        non possono regolare la temperatura corporea come fanno gli animali a
        sangue caldo.
  - source_sentence: come miscelare correttamente il  matcha
    sentences:
      - >-
        Il miglior sito per chi ama la lingua Visayan (Bisaya o Cebuano) che
        offre Bisaya English e English Bisaya Translations and Dictionary.
        Bisaya (Cebuano o Visayan) è una delle lingue più parlate nelle
        Filippine, specialmente a Visayas.
      - >-
        È vero che, poiché il matcha è composto da foglie di tè intere
        frantumate, il contenuto di caffeina è leggermente superiore a quello
        del tè in busta. In effetti, il livello di caffeina del matcha può
        effettivamente eguagliare la metà del livello di una tazza di caffè
        nero. Tieni presente che la caffeina non fa male a te in quantità
        moderate.
      - >-
        Hai solo bisogno di aggiungere circa 1/2 cucchiaino di Matcha per tazza
        di acqua/latte riscaldata. Il tè verde Matcha, soprattutto biologico, è
        il tè più costoso da raccogliere e macinare sul mercato. Ci vogliono
        giorni di essiccazione e macinazione e ci vuole una grande quantità di
        foglie di tè Matcha per creare solo 1 cucchiaino di Matcha in polvere.
  - source_sentence: terapia fisica colleyville
    sentences:
      - >-
        I primi cinque segni precoci di gravidanza. 1 Nausea o malattia possono
        iniziare molto presto per alcune donne - un comune segno precoce di
        gravidanza sarà la nausea mattutina. 2 Avendo bisogno di fare pipì più
        spesso quando si rimane incinta, un segno precoce potrebbe essere la
        necessità di fare pipì di più. 3 Mal di testa - Potresti provare mal di
        testa nelle prime fasi della gravidanza.
      - >-
        Sabato: 8:00 - 12:00. Terapia fisica e riabilitazione sportiva di
        Colleyville. Joel D. Judd, PT, DPT, OCS - Dottore in fisioterapia /
        Specialista clinico ortopedico certificato Boaord. Colleyville Physical
        Therapy fornisce servizi di fisioterapia eccezionali ai cittadini di
        Colleyville dal 2000. Joel e il suo staff sono esperti nell'aiutarvi a
        riprendervi da un infortunio o da un intervento chirurgico.
      - >-
        Programmi e requisiti di formazione del fisioterapista. I corsi di
        laurea in fisioterapia preparano gli studenti a lavorare sul campo con i
        pazienti che necessitano di terapia fisica. La maggior parte degli
        studenti nei programmi di formazione in fisioterapia completa i diplomi
        di dottorato nel campo, ma alcuni possono esercitarsi con i master.
  - source_sentence: di quale sistema fa parte l'insulina?
    sentences:
      - >-
        Un contatore elettrico o un contatore di energia è un'apparecchiatura in
        grado di misurare la quantità di energia elettrica consumata da
        un'abitazione, un'azienda o un dispositivo alimentato elettricamente. I
        contatori elettrici sono generalmente calibrati in unità di
        fatturazione; il più comune è il kilowattora.
      - >-
        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.
      - >-
        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.
pipeline_tag: sentence-similarity
library_name: sentence-transformers
metrics:
  - cosine_accuracy
model-index:
  - name: >-
      Static Embeddings with BERTino uncased tokenizer finetuned on a subset of
      MMARCO
    results:
      - task:
          type: triplet
          name: Triplet
        dataset:
          name: mmarco dev
          type: mmarco_dev
        metrics:
          - type: cosine_accuracy
            value: 0.9815999865531921
            name: Cosine Accuracy
      - task:
          type: triplet
          name: Triplet
        dataset:
          name: mmarco test
          type: mmarco_test
        metrics:
          - type: cosine_accuracy
            value: 0.9785000085830688
            name: Cosine Accuracy
datasets:
  - unicamp-dl/mmarco
language:
  - it
base_model:
  - indigo-ai/BERTino

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