Edit model card

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")
# Run inference
sentences = [
    "Formación de junta de trabajo interior, en piezas hormigonadas 'in situ', con junta de PVC de 24 cm de ancho y de 3,5 mm de espesor",
    "Instalación de juntas de trabajo internas en elementos de hormigón vertido 'in situ', utilizando juntas de PVC de 24 cm de ancho y 3,5 mm de grosor.",
    'Instalación de paneles prefabricados, utilizando sellador de silicona de 12 cm de ancho y 5 mm de espesor.',
]
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 0.9716
dot_accuracy 0.0284
manhattan_accuracy 0.9716
euclidean_accuracy 0.9716
max_accuracy 0.9716

Triplet

Metric Value
cosine_accuracy 0.9944
dot_accuracy 0.0056
manhattan_accuracy 0.9944
euclidean_accuracy 0.9944
max_accuracy 0.9944

Training Details

Training Dataset

csv

  • Dataset: csv
  • Size: 1,765 training samples
  • Columns: anchor, positive, and negative
  • Approximate statistics based on the first 1000 samples:
    anchor positive negative
    type string string string
    details
    • min: 13 tokens
    • mean: 105.38 tokens
    • max: 317 tokens
    • min: 14 tokens
    • mean: 101.15 tokens
    • max: 282 tokens
    • min: 14 tokens
    • mean: 85.69 tokens
    • max: 265 tokens
  • Samples:
    anchor positive negative
    Placas nervadas tipo pi o doble t de hormigón armado, de 35 cm de altura y 120 a 140 cm de anchura, con junta lateral abierta inferiormente, de 205 a 220 kN·m de momento flector último por m de ancho, para una luz máxima de 12 m, para forjado con capa de compresión mínima de 10 cm, colocadas sobre estructura Placas de hormigón armado tipo pi o doble t, con dimensiones de 35 cm de altura y entre 120 y 140 cm de ancho, diseñadas con junta lateral abierta en la parte inferior, capaces de soportar un momento flector último de 205 a 220 kN·m por metro de ancho, adecuadas para luces de hasta 12 m y con un forjado que incluya una capa de compresión mínima de 10 cm, instaladas sobre una estructura. Placas de yeso laminado de 35 cm de altura y 120 a 140 cm de anchura, con junta lateral cerrada, para una luz máxima de 12 m, para tabiques con aislamiento acústico de 10 cm, colocadas sobre estructura.
    Puerta cortafuegos de una hoja corredera de acero galvanizado, EI2-C 60, para un hueco de obra de más de 12 m2, colocada Puerta cortafuegos de una sola hoja deslizante de acero galvanizado, clasificación EI2-C 60, instalada en un espacio de obra superior a 12 m2. Puerta de acceso principal de madera maciza, sin clasificación de resistencia al fuego, para un espacio de almacenamiento de menos de 10 m2, instalada.
    Pavimento de mezcla bituminosa continua en caliente tipo AC 32 bin B 50/70 S, con betún asfáltico de penetración, de granulometría semidensa para capa intermedia y árido calcáreo, extendida y compactada, en entorno urbano sin dificultad de movilidad, en aceras > 3 y <= 5 m de ancho o calzada/plataforma única > 7 y <= 12 m de ancho, con afectación por servicios o elementos de mobiliario urbano, en actuaciones de hasta 1 m2 Pavimento de asfalto continuo en caliente tipo AC 32 bin B 50/70 S, utilizando betún asfáltico de penetración y granulometría semidensa para la capa intermedia, con árido calcáreo, aplicado y compactado en áreas urbanas con buena accesibilidad, en aceras de más de 3 y hasta 5 m de ancho o calzadas/plataformas únicas de más de 7 y hasta 12 m de ancho, considerando la interferencia de servicios o mobiliario urbano, en proyectos de hasta 1 m2. Pavimento de hormigón armado con aditivos especiales para mejorar la resistencia a la compresión, diseñado para áreas industriales con tráfico pesado, en losas de más de 10 m de ancho, sin restricciones de acceso, en proyectos de más de 50 m2.
  • Loss: TripletLoss with these parameters:
    {
        "distance_metric": "TripletDistanceMetric.EUCLIDEAN",
        "triplet_margin": 5
    }
    

Evaluation Dataset

csv

  • Dataset: csv
  • Size: 1,765 evaluation samples
  • Columns: anchor, positive, and negative
  • Approximate statistics based on the first 1000 samples:
    anchor positive negative
    type string string string
    details
    • min: 26 tokens
    • mean: 106.52 tokens
    • max: 298 tokens
    • min: 31 tokens
    • mean: 103.53 tokens
    • max: 254 tokens
    • min: 25 tokens
    • mean: 87.43 tokens
    • max: 247 tokens
  • Samples:
    anchor positive negative
    Perforación de pantalla en terreno blando, de 45 cm de espesor con lodo tixotrópico y hormigonado con hormigón HA-35/L / 10 / IIa de consistencia líquida, tamaño máximo del árido 10 mm, con >= 375 kg/m3 de cemento, aditivo hidrófugo/superplastificante, apto para clase de exposición IIa, con el equipo de lodos incluido Perforación de pantalla en suelo blando de 45 cm de grosor, utilizando lodo tixotrópico y hormigón HA-35/L / 10 / IIa de consistencia fluida, con un tamaño máximo de árido de 10 mm, conteniendo al menos 375 kg/m3 de cemento, aditivo hidrófugo y superplastificante, adecuado para la clase de exposición IIa, incluyendo el equipo de lodos necesario. Instalación de paneles solares en terreno duro, con una base de 60 cm de espesor y utilizando cemento convencional, sin aditivos especiales, apto para condiciones climáticas extremas, con un equipo de montaje estándar.
    Falso techo de lamas de aluminio prelacado, con canto circular con pestaña, de 185 mm de anchura y 16 mm de altura, color estándar, con la superficie perforada, montadas en posición horizontal, separadas 15 mm, fijadas a presión sobre estructura de perfiles omega con troquel para fijación clipada de acero galvanizado, con perfil de refuerzo, separados <= 1.5 m, colgados con supensión autoniveladora de barra roscada, separadas <= 1.2 m, fijadas mecánicamente al forjado Techo falso de paneles de aluminio prelacado, con borde redondeado y pestaña, de 185 mm de ancho y 16 mm de alto, en color estándar, con perforaciones en la superficie, instalados horizontalmente, con una separación de 15 mm, asegurados a presión sobre una estructura de perfiles omega con troqueles para fijación clipada de acero galvanizado, reforzados con perfiles, separados a un máximo de 1.5 m, suspendidos con un sistema autonivelador de barra roscada, separados a un máximo de 1.2 m, fijados mecánicamente al forjado. Techo acústico de paneles de yeso laminado, con borde recto, de 120 mm de ancho y 12 mm de grosor, acabado en pintura mate, con superficie lisa, instalados en posición vertical, separados 20 mm, fijados con adhesivo sobre estructura de perfiles en U, con refuerzo de madera, separados <= 2 m, suspendidos con cables ajustables, separados <= 1.5 m, fijados a la pared.
    Canalización con uno tubo curvable corrugado de polietileno de 110 mm de diámetro nominal, de doble capa, y dado de recubrimiento de 40x30 cm con hormigón de uso no estructural HNE-20/P/20 de resistencia a compresión 20 N/mm2, consistencia plástica y tamaño máximo del árido 20 mm, cuerda guía en cada tubo, parte proporcional de accesorios de unión, separadores y obturadores, en entorno urbano sin dificultad de movilidad, en aceras > 5 m de ancho o calzada/plataforma única > 12 m de ancho, sin afectación por servicios o elementos de mobiliario urbano, en actuaciones de hasta 1 m Instalación de un sistema de canalización utilizando un tubo flexible corrugado de polietileno de 110 mm de diámetro nominal, con doble capa, y recubierto con hormigón no estructural HNE-20/P/20 de resistencia a compresión de 20 N/mm2, consistencia plástica y un tamaño máximo de árido de 20 mm, incluyendo cuerda guía en cada tubo, así como la proporción adecuada de accesorios de unión, separadores y obturadores, en un entorno urbano con fácil acceso, en aceras de más de 5 m de ancho o calzadas/plataformas de más de 12 m de ancho, sin interferencias de servicios o elementos de mobiliario urbano, en proyectos de hasta 1 m de profundidad. Instalación de un sistema de drenaje con tuberías de PVC rígido de 75 mm de diámetro, de una sola capa, y revestimiento de 30x20 cm con asfalto de alta resistencia, diseñado para soportar cargas estructurales, con una resistencia a compresión de 30 N/mm2, consistencia seca y tamaño máximo del árido de 10 mm, sin cuerda guía, incluyendo una cantidad adecuada de conectores, soportes y tapas, en un entorno rural con acceso limitado, en caminos de tierra de menos de 3 m de ancho, con interferencias por servicios públicos y elementos de paisajismo, en proyectos de más de 2 m.
  • 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: 4
  • per_device_eval_batch_size: 4
  • learning_rate: 2e-05
  • warmup_ratio: 0.1
  • fp16: 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: 4
  • per_device_eval_batch_size: 4
  • 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: 3
  • 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: 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: 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.9830 -
0.2833 100 4.4372 3.6833 1.0 -
0.5666 200 3.724 3.4490 0.9943 -
0.8499 300 3.5575 3.5777 0.9886 -
1.1331 400 3.4996 3.4224 0.9773 -
1.4164 500 3.4846 3.3883 0.9943 -
1.6997 600 3.4126 3.4181 0.9886 -
1.9830 700 3.3225 3.3863 0.9773 -
2.2663 800 3.3446 3.3971 0.9716 -
2.5496 900 3.3351 3.3816 0.9773 -
2.8329 1000 3.2597 3.3936 0.9716 -
3.0 1059 - - - 0.9944

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

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

Finetuned
(70)
this model

Evaluation results