image/png


Italian-ModernBERT-base-embed-mmarco-triplet

This is a sentence-transformers model finetuned from DeepMount00/Italian-ModernBERT-base on the mmarco dataset. 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: DeepMount00/Italian-ModernBERT-base
  • Maximum Sequence Length: 8192 tokens
  • Output Dimensionality: 768 dimensions
  • Similarity Function: Cosine Similarity
  • Training Dataset:
    • mmarco

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 8192, 'do_lower_case': False}) with Transformer model: ModernBertModel 
  (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})
)

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("Italian-ModernBERT-base-embed-mmarco-triplet")
# Run inference
sentences = [
    "qual è il più grande il mare o l'oceano",
    "L'Oceano Pacifico è il più grande dei cinque oceani del mondo, seguito dall'Oceano Atlantico, dall'Oceano Indiano, dall'Oceano Meridionale e dall'Oceano Artico. Copre un'area di circa 155 milioni di chilometri quadrati (circa 60 milioni di miglia quadrate). L'Oceano Pacifico è il più grande dei cinque oceani del mondo, seguito dall'Oceano Atlantico e dall'Oceano Indiano , Oceano Meridionale e Oceano Artico. Copre un'area di circa 155 milioni di chilometri quadrati (circa 60 milioni di miglia quadrate).",
    "Il fiume Chang Jiang, o fiume Yangtze, sfocia nel mare della Cina orientale. Questo mare è una parte dell'Oceano Indiano vicino all'Asia. 3 persone l'hanno trovato utile. Modificare.",
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]

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

Evaluation

Metrics

Triplet

Metric Value
cosine_accuracy 0.909

Triplet

Metric Value
cosine_accuracy 0.921

Training Details

Training Dataset

mmarco

  • Dataset: mmarco
  • Total Size: 39,780,811
  • Size: 50,000 training samples
  • Columns: query, positive, and negative
  • Approximate statistics based on the first 1000 samples:
    query positive negative
    type string string string
    details
    • min: 4 tokens
    • mean: 10.91 tokens
    • max: 24 tokens
    • min: 22 tokens
    • mean: 92.84 tokens
    • max: 276 tokens
    • min: 19 tokens
    • mean: 88.55 tokens
    • max: 242 tokens
  • Samples:
    query positive negative
    chi suona è granger su ncis la Firmato per un ruolo ricorrente in NCIS: Los Angeles come assistente del direttore del servizio investigativo criminale navale Owen Granger, Ferrer è stato promosso a personaggio regolare per la quinta stagione il 6 febbraio 2013. È anche apparso nel film del 2013 Iron Man 3 come il vice. -Presidente. NCIS: L'agente Abigail Borin di CGIS (Coast Guard Investigative Service) è interpretata da Diane Neal, che ha anche interpretato ADA Casey Novak in Law and Order, SVU. L'agente Borin è simile nello stile di comando e nel temperamento all'agente speciale Leroy Jethro Gibbs dell'NCIS.
    come si chiama la strada principale di hershey pa? Chocolate Avenue è una strada di Hershey, in Pennsylvania, che passa davanti all'originale Hershey's Chocolate Factory ed è considerata la strada principale della città. Milton S. Hershey è nato il 13 settembre 1857 da Henry e Veronica Fanny Snavely Hershey. La sua famiglia erano membri della comunità mennonita della Pennsylvania. I suoi antenati erano svizzeri e tedeschi e si erano stabiliti in Pennsylvania nei primi anni del 1700. Crebbe parlando l'olandese della Pennsylvania. ilton S. Hershey nacque il 13 settembre 1857 da Henry e Veronica Fanny Snavely Hershey. La sua famiglia erano membri della comunità mennonita della Pennsylvania. I suoi antenati erano svizzeri e tedeschi e si erano stabiliti in Pennsylvania nei primi anni del 1700. È cresciuto parlando l'olandese della Pennsylvania.
    definizione di dissoluzione in geologia Rocce solubili (dissoluzione) Sinkhole; mentre l'acqua filtra attraverso le rocce sopra, il sale inizia a dissolversi e le rocce sopra cadono a formare una dolina. La dissoluzione del suolo si verifica quando l'acqua che passa attraverso rocce solubili produce cavità sotterranee e sistemi di grotte. Tali cavità riducono l'appoggio al terreno sovrastante e possono provocare cedimenti localizzati delle rocce e dei depositi sovrastanti. Per porre fine all'esistenza di una società o LLC, un'entità deve presentare gli articoli di scioglimento o altra forma di scioglimento o annullamento dei documenti con il Segretario di Stato. I requisiti variano in base alla giurisdizione.
  • Loss: TripletLoss with these parameters:
    {
        "distance_metric": "TripletDistanceMetric.EUCLIDEAN",
        "triplet_margin": 5
    }
    

Evaluation Dataset

mmarco

  • Dataset: mmarco
  • Size: 2,000 evaluation samples
  • Columns: query, positive, and negative
  • Approximate statistics based on the first 1000 samples:
    query positive negative
    type string string string
    details
    • min: 4 tokens
    • mean: 11.25 tokens
    • max: 37 tokens
    • min: 15 tokens
    • mean: 94.27 tokens
    • max: 309 tokens
    • min: 24 tokens
    • mean: 90.05 tokens
    • max: 305 tokens
  • Samples:
    query positive negative
    significato del tatuaggio del drago e del lupo Wolf Tattoo: significati e disegni. Il tatuaggio del lupo è un ottimo modo per mostrare lealtà e devozione alla famiglia. Alcune persone hanno il loro intero branco di persone care inchiostrate o si fanno tatuare una sola zampa di lupo e hanno i nomi dei propri cari inchiostrati all'interno del disegno. Il tatuaggio del lupo può anche rappresentare l'amore. Qual è il significato di Apocalisse capitolo 12? Di cosa parla Apocalisse 12? Chi sono la donna, il bambino e il drago descritti in Apocalisse capitolo 12? Qual è il significato di Apocalisse capitolo 12? Apocalisse capitolo 12 contiene una descrizione di una donna, che è vestita di sole, con la luna sotto i suoi piedi e una corona di dodici stelle in cima alla sua testa. La donna è incinta e sta per partorire. È inseguita da un grande drago rosso, la cui coda ha spazzato via un terzo delle stelle dal cielo e le ha gettate sulla terra.
    cosa significa amianto friabile L'amianto friabile si riferisce a qualsiasi tipo di amianto fragile che può sgretolarsi con poca forza o pressione. Qualsiasi materiale che può essere frantumato con le mani e contiene amianto è considerato amianto friabile e deve essere rimosso. Il prezzo del test dell'aria dell'amianto di solito varia a seconda del tipo e del numero di test richiesti, dovresti ottenere stime specifiche per il tuo lavoro e dovrebbero essere inclusi nel calcolo di quanto costa rimuovere l'amianto. Ottieni ulteriori informazioni sui costi dei test dell'aria dell'amianto.
    che ha giocato a lois lane in superman Noel Neill. Noel Darleen Neill (25 novembre 1920  3 luglio 2016) è stata un'attrice statunitense. È nota per aver interpretato Lois Lane nei serial cinematografici Superman (1948) e Atom Man vs. Superman (1950), nonché nella serie televisiva degli anni '50 Adventures of Superman. È apparsa in 80 film e serie televisive nella sua carriera. esiste ed è un supplente di . Wonder Woman è un classico supereroe della DC Comics. Condivide la sua eredità con personaggi del calibro di Superman, Batman e Flash. Wonder Woman è un classico supereroe della DC Comics. Condivide la sua eredità con personaggi del calibro di Superman, Batman e Flash.
  • Loss: TripletLoss with these parameters:
    {
        "distance_metric": "TripletDistanceMetric.EUCLIDEAN",
        "triplet_margin": 5
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • per_device_train_batch_size: 16
  • per_device_eval_batch_size: 16
  • learning_rate: 2e-05
  • num_train_epochs: 1
  • warmup_ratio: 0.1
  • fp16: 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: 16
  • per_device_eval_batch_size: 16
  • 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: 2e-05
  • 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: False
  • fp16: True
  • 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
-1 -1 - - 0.6285
0.08 250 1.8669 2.4032 0.7960
0.16 500 1.793 1.6328 0.8600
0.24 750 1.4301 1.3971 0.8930
0.32 1000 1.3361 1.2686 0.8955
0.4 1250 1.237 1.2151 0.909

Test Logs

Epoch Step Training Loss Validation Loss mmarco_dev_cosine_accuracy
-1 -1 - - 0.9210
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.11.11
  • Sentence Transformers: 3.5.0.dev0
  • Transformers: 4.50.0.dev0
  • PyTorch: 2.5.1+cu124
  • Accelerate: 1.3.0
  • Datasets: 3.3.2
  • 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",
}

TripletLoss

@misc{hermans2017defense,
    title={In Defense of the Triplet Loss for Person Re-Identification},
    author={Alexander Hermans and Lucas Beyer and Bastian Leibe},
    year={2017},
    eprint={1703.07737},
    archivePrefix={arXiv},
    primaryClass={cs.CV}
}
Downloads last month
0
Safetensors
Model size
135M params
Tensor type
F32
·
Inference Providers NEW
This model is not currently available via any of the supported Inference Providers.

Model tree for nickprock/Italian-ModernBERT-base-embed-mmarco-triplet

Finetuned
(3)
this model

Collection including nickprock/Italian-ModernBERT-base-embed-mmarco-triplet

Evaluation results