Multilingual E5 Large trained with triplet loss

This is a sentence-transformers model finetuned from intfloat/multilingual-e5-large on the csv 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: intfloat/multilingual-e5-large
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 1024 tokens
  • Similarity Function: Cosine Similarity
  • Training Dataset:
    • csv
  • Language: multilingual
  • License: apache-2.0

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: XLMRobertaModel 
  (1): Pooling({'word_embedding_dimension': 1024, '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})
  (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("RamsesDIIP/me5-large-construction-esp-cat")
# Run inference
sentences = [
    'query: Aïllament amb planxa de poliestirè expandit (EPS), de 70 mm de gruix, de 100 kPa de tensió a la compressió, de 2 m2·K/W de resistència tèrmica, amb una cara llisa i cantell preparat amb encaix, col·locades amb adhesiu de formulació específica',
    'passage: Aïllament amb panells de poliestirè extruït (XPS), de 80 mm de gruix, amb una resistència a la compressió de 150 kPa, de 2,5 m2·K/W de resistència tèrmica, amb una superfície llisa i vores dissenyades per encaixar, instal·lades amb un adhesiu especialitzat.',
    'passage: Aïllament amb panell de poliuretà rígid, de 50 mm de gruix, de 150 kPa de tensió a la compressió, de 3 m2·K/W de resistència tèrmica, amb una cara rugosa i cantell recte, instal·lades amb un sistema de fixació mecànica.',
]
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 Value
cosine_accuracy 1.0
dot_accuracy 0.0
manhattan_accuracy 1.0
euclidean_accuracy 1.0
max_accuracy 1.0

Triplet

Metric Value
cosine_accuracy 1.0
dot_accuracy 0.0
manhattan_accuracy 1.0
euclidean_accuracy 1.0
max_accuracy 1.0

Training Details

Training Dataset

csv

  • Dataset: csv
  • Size: 10,590 training samples
  • Columns: anchor, positive, and negative
  • Approximate statistics based on the first 1000 samples:
    anchor positive negative
    type string string string
    details
    • min: 18 tokens
    • mean: 112.13 tokens
    • max: 315 tokens
    • min: 20 tokens
    • mean: 109.24 tokens
    • max: 314 tokens
    • min: 17 tokens
    • mean: 102.06 tokens
    • max: 298 tokens
  • Samples:
    anchor positive negative
    query: Pieza recta de hormigón para bordillos, doble capa, con sección normalizada peatonal A1 20x14 cm, según UNE 127340, de clase climática B, clase resistente a la abrasión H y clase resistente a flexión T (R-5 MPa) según UNE-EN 1340, colocado sobre base de hormigón no estructural HNE-15/P/40 de 20 a 25 cm de altura, y rejuntado con mortero para albañilería passage: Elemento recto de concreto para bordillos, de doble capa, con dimensiones estandarizadas peatonales A1 20x14 cm, conforme a UNE 127340, de clase climática B, resistencia a la abrasión H y resistencia a flexión T (R-5 MPa) según UNE-EN 1340, instalado sobre una base de concreto no estructural HNE-15/P/40 de 20 a 25 cm de altura, y sellado con mortero para mampostería. passage: Pieza curvada de hormigón para muros, capa simple, con sección no normalizada vehicular B2 30x20 cm, según UNE 127341, de clase climática A, clase resistente a la abrasión M y clase resistente a flexión S (R-10 MPa) según UNE-EN 1341, colocado sobre base de hormigón estructural HNE-20/P/50 de 15 a 20 cm de altura, y sellado con cemento para construcción.
    query: Porta block de fulles batents de fusta per a interior, doble batent, de 35 mm de gruix, amb una llum de pas de 70 + 40 cm d'amplària i 200 cm d'alçària, per a un gruix de bastiment de 10 cm, com a màxim, acabat tropical envernissada, amb fulla cares llises de tauler aglomerat hidròfug xapat, galzes i tapajunts de MDF xapat, ribet de goma, ferramenta de penjar, pany de cop, amb joc de manetes, d'alumini anoditzat, amb placa petita, de preu mitjà passage: Porta de fusta interior amb fulles batents, doble batent, gruix de 35 mm, amplada de 70 + 40 cm i alçada de 200 cm, dissenyada per a un gruix de bastiment de 10 cm com a màxim, acabat envernissat tropical, amb cares llises de tauler aglomerat resistent a la humitat, galzes i tapajunts de MDF, ribet de goma, incloent ferramenta de penjar, pany de cop, i joc de manetes d'alumini anoditzat amb placa petita, de gamma mitjana. passage: Porta de fulles corredisses de metall per a exterior, amb un sistema de tancament automàtic, de 45 mm de gruix, amb una llum de pas de 80 + 50 cm d'amplària i 210 cm d'alçària, per a un gruix de bastiment de 12 cm, acabat galvanitzat, amb fulla de vidre temperitzat, marcs de ferro, segellat de silicona, mecanisme de bloqueig electrònic, amb manetes de plàstic reforçat, amb placa gran, de preu alt.
    query: Formigonament de murs de contenció (CE, EHE), de 3 m d'alçària com a màxim, amb formigó en massa HM - 30 / B / 10 / XA2 amb una quantitat de ciment de 350 kg/m3 i relació aigua ciment =< 0.5 i abocat des de camió passage: Construcció de murs de contenció (CE, EHE) amb una alçada màxima de 3 m, utilitzant formigó massiu HM - 30 / B / 10 / XA2, amb una dosi de ciment de 350 kg/m3 i una relació aigua-ciment ≤ 0.5, abocat directament des d'un camió. passage: Formigonament de murs de suport (CE, EHE), de 4 m d'alçària com a mínim, amb formigó estructural C25/30 amb una quantitat de ciment de 400 kg/m3 i relació aigua ciment =< 0.45 i abocat manualment.
  • Loss: Matryoshka2dLoss with these parameters:
    {
        "loss": "MultipleNegativesRankingLoss",
        "n_layers_per_step": 1,
        "last_layer_weight": 1.0,
        "prior_layers_weight": 1.0,
        "kl_div_weight": 1.0,
        "kl_temperature": 0.3,
        "matryoshka_dims": [
            1024,
            768,
            512,
            256
        ],
        "matryoshka_weights": [
            1,
            1,
            1,
            1
        ],
        "n_dims_per_step": 1
    }
    

Evaluation Dataset

csv

  • Dataset: csv
  • Size: 10,590 evaluation samples
  • Columns: anchor, positive, and negative
  • Approximate statistics based on the first 1000 samples:
    anchor positive negative
    type string string string
    details
    • min: 23 tokens
    • mean: 112.95 tokens
    • max: 320 tokens
    • min: 26 tokens
    • mean: 109.87 tokens
    • max: 302 tokens
    • min: 23 tokens
    • mean: 103.28 tokens
    • max: 309 tokens
  • Samples:
    anchor positive negative
    query: Aïllament tèrmic amb placa rígida d'escuma de poliisocianurat, de 35 kg/m3 de densitat, de 80 mm de gruix i 0,023 W/(m·K) de conductivitat tèrmica, amb recobriment de multicapa alumini, per a cobertes, amb fixacions mecàniques passage: Aïllament tèrmic amb panells rígids d'escuma de poliuretà, de 35 kg/m3 de densitat, de 80 mm de gruix i 0,022 W/(m·K) de conductivitat tèrmica, amb recobriment d'alumini multicapa, per a teulades, amb sistemes de fixació mecànica. passage: Aïllament acústic amb panells flexibles de fibra de vidre, de 50 kg/m3 de densitat, de 100 mm de gruix i 0,045 W/(m·K) de conductivitat acústica, amb recobriment de plàstic, per a parets interiors, amb adhesius especials.
    query: Hormigonado para encepados, con hormigón para armar con aditivo hidrófugo HA - 35 / B / 20 / XC4 + XF1 + XA1 con una cantidad de cemento de 325 kg/m3 i relación agua cemento =< 0.5, colocado con cubilote en obras de ingeniería civil passage: Mezcla de hormigón para cimentaciones, utilizando hormigón armado con aditivo impermeabilizante HA - 35 / B / 20 / XC4 + XF1 + XA1, con una dosificación de cemento de 325 kg/m3 y una relación agua-cemento menor o igual a 0.5, aplicado con cubilote en proyectos de infraestructura civil. passage: Hormigonado para fundaciones, con hormigón para estructuras con aditivo retardante HA - 35 / B / 20 / XC4 + XF1 + XA1 con una cantidad de cemento de 350 kg/m3 y relación agua cemento =< 0.6, colocado con bomba en proyectos de edificación.
    query: Formigonament per a sostre nervat reticular amb formigó HA-25/F / 10 / I de consistència fluïda, grandària màxima del granulat 10 mm, amb >= 250 kg/m3 de ciment, apte per a classe d'exposició I, abocat amb cubilot passage: Formigonament per a sostre nervat reticular amb formigó HA-25/F / 10 / I de consistència líquida, amb una mida màxima del granulat de 10 mm, que conté >= 250 kg/m3 de ciment, adequat per a classe d'exposició I, abocat mitjançant cubilot. passage: Formigonament per a sostre pla amb formigó HA-30/F / 12 / I de consistència espessa, grandària màxima del granulat 20 mm, amb >= 300 kg/m3 de ciment, apte per a classe d'exposició II, abocat amb bomba de formigó.
  • Loss: Matryoshka2dLoss with these parameters:
    {
        "loss": "MultipleNegativesRankingLoss",
        "n_layers_per_step": 1,
        "last_layer_weight": 1.0,
        "prior_layers_weight": 1.0,
        "kl_div_weight": 1.0,
        "kl_temperature": 0.3,
        "matryoshka_dims": [
            1024,
            768,
            512,
            256
        ],
        "matryoshka_weights": [
            1,
            1,
            1,
            1
        ],
        "n_dims_per_step": 1
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • per_device_train_batch_size: 6
  • per_device_eval_batch_size: 6
  • learning_rate: 4e-05
  • num_train_epochs: 10
  • warmup_ratio: 0.1
  • fp16: True
  • optim: rmsprop
  • 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: 6
  • per_device_eval_batch_size: 6
  • 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: 4e-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: 10
  • 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: False
  • 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}
  • 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: rmsprop
  • 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: False
  • hub_always_push: False
  • gradient_checkpointing: False
  • gradient_checkpointing_kwargs: None
  • include_inputs_for_metrics: False
  • 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
  • eval_use_gather_object: False
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss Validation Loss validation-set_max_accuracy test-set_max_accuracy
0 0 - - 0.8942 -
0.1416 200 0.5207 0.2853 0.9981 -
0.2833 400 0.2732 0.2365 0.9981 -
0.4249 600 0.2023 0.2480 0.9906 -
0.5666 800 0.1991 0.4594 0.9839 -
0.7082 1000 0.6376 0.1210 0.9953 -
0.8499 1200 0.217 0.0956 0.9981 -
0.9915 1400 0.1205 0.0848 0.9962 -
1.1324 1600 0.0678 0.2559 0.9896 -
1.2741 1800 0.0528 0.0454 0.9972 -
1.4157 2000 0.0494 0.0388 0.9981 -
1.5574 2200 0.7363 2.5659 0.5571 -
1.6990 2400 1.0851 0.0527 0.9972 -
1.8407 2600 0.1037 0.0476 0.9981 -
1.9823 2800 0.0865 0.0369 1.0 -
2.1232 3000 0.1278 0.0177 0.9991 -
2.2649 3200 0.0381 0.0211 0.9991 -
2.4065 3400 0.0217 0.0301 0.9953 -
2.5482 3600 0.019 0.0414 0.9962 -
2.6898 3800 0.0228 0.0194 0.9991 -
2.8314 4000 0.0167 0.0177 0.9991 -
2.9731 4200 0.0126 0.0166 1.0 -
3.1140 4400 0.0232 0.0183 0.9991 -
3.2557 4600 0.0197 0.0460 0.9981 -
3.3973 4800 0.0139 0.0154 1.0 -
3.5390 5000 0.0092 0.0287 0.9991 -
3.6806 5200 0.0107 0.0142 0.9991 -
3.8222 5400 0.007 0.0146 1.0 -
3.9639 5600 0.0103 0.0169 1.0 -
4.1048 5800 0.0082 0.0211 1.0 -
4.2465 6000 0.0074 0.0093 1.0 -
4.3881 6200 0.004 0.0099 0.9991 -
4.5297 6400 0.0071 0.0091 1.0 -
4.6714 6600 0.007 0.0053 1.0 -
4.8130 6800 0.0064 0.0052 1.0 -
4.9547 7000 0.0046 0.0077 1.0 -
5.0956 7200 0.0064 0.0081 1.0 -
5.2373 7400 0.0053 0.0096 0.9991 -
5.3789 7600 0.003 0.0123 1.0 -
5.5205 7800 0.0042 0.0033 1.0 -
5.6622 8000 0.0034 0.0045 1.0 -
5.8038 8200 0.0041 0.0063 0.9991 -
5.9455 8400 0.0032 0.0082 0.9991 -
6.0864 8600 0.0051 0.0037 1.0 -
6.2280 8800 0.0041 0.0073 1.0 -
6.3697 9000 0.003 0.0057 1.0 -
6.5113 9200 0.0027 0.0064 1.0 -
6.6530 9400 0.0034 0.0059 1.0 -
6.7946 9600 0.0035 0.0043 1.0 -
6.9363 9800 0.0054 0.0042 1.0 -
7.0772 10000 0.002 0.0074 1.0 -
7.2188 10200 0.0029 0.0058 1.0 -
7.3605 10400 0.0018 0.0049 1.0 -
7.5021 10600 0.0032 0.0041 1.0 -
7.6438 10800 0.0024 0.0077 1.0 -
7.7854 11000 0.0015 0.0070 1.0 -
7.9271 11200 0.005 0.0032 1.0 -
8.0680 11400 0.0015 0.0036 1.0 -
8.2096 11600 0.0054 0.0078 1.0 -
8.3513 11800 0.0023 0.0058 1.0 -
8.4929 12000 0.0018 0.0072 1.0 -
8.6346 12200 0.0018 0.0038 1.0 -
8.7762 12400 0.0022 0.0043 1.0 -
8.9178 12600 0.0029 0.0046 1.0 -
9.0588 12800 0.0014 0.0053 1.0 -
9.2004 13000 0.0011 0.0054 1.0 -
9.3421 13200 0.0042 0.0050 1.0 -
9.4837 13400 0.0014 0.0052 1.0 -
9.6254 13600 0.0018 0.0084 1.0 -
9.7670 13800 0.0016 0.0057 1.0 -
9.9086 14000 0.0012 0.0066 1.0 -
9.9936 14120 - - 1.0 1.0

Framework Versions

  • Python: 3.10.12
  • Sentence Transformers: 3.2.0
  • Transformers: 4.44.2
  • PyTorch: 2.4.1+cu121
  • Accelerate: 0.34.2
  • Datasets: 3.0.1
  • Tokenizers: 0.19.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",
}

Matryoshka2dLoss

@misc{li20242d,
    title={2D Matryoshka Sentence Embeddings},
    author={Xianming Li and Zongxi Li and Jing Li and Haoran Xie and Qing Li},
    year={2024},
    eprint={2402.14776},
    archivePrefix={arXiv},
    primaryClass={cs.CL}
}

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
11
Safetensors
Model size
560M params
Tensor type
F32
·
Inference Examples
This model does not have enough activity to be deployed to Inference API (serverless) yet. Increase its social visibility and check back later, or deploy to Inference Endpoints (dedicated) instead.

Model tree for RamsesDIIP/me5-large-construction-esp-cat

Finetuned
(70)
this model

Evaluation results