Edit model card

Multilingual E5 Large with Linear Adapter for Construction Terms

This is a sentence-transformers model finetuned from intfloat/multilingual-e5-large. 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
  • 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()
  (linear_adapter): MyLinearAdapter(
    (linear): Linear(in_features=1024, out_features=1024, bias=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("RamsesDIIP/me5-large-construction-adapter")
# Run inference
sentences = [
    'Vidrio aislante de luna incolora de 5 mm de espesor, cámara de aire de 10 mm y luna de 3+3 mm de espesor con 1 butiral de color estándard de luna de coloreado, clase 2 (B) 2 según UNE-EN 12600, colocado con perfiles conformados de neopreno sobre aluminio o PVC',
    'Vidrio doble de 5 mm de espesor con cámara de aire de 10 mm y vidrio laminado de 3+3 mm, utilizando butiral estándar de color, clase 2 (B) 2 según UNE-EN 12600, instalado con marcos de neopreno sobre aluminio o PVC.',
    'Vidrio templado de color azul de 6 mm de espesor, con una cámara de aire de 12 mm y luna de 4+4 mm de espesor, utilizando un butiral transparente, clase 1 (A) 1 según UNE-EN 12600, instalado con marcos de acero inoxidable.',
]
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.9773
dot_accuracy 0.0568
manhattan_accuracy 0.9773
euclidean_accuracy 0.9773
max_accuracy 0.9773

Training Details

Training Dataset

Unnamed Dataset

  • Size: 1,412 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.73 tokens
    • max: 317 tokens
    • min: 14 tokens
    • mean: 102.31 tokens
    • max: 282 tokens
    • min: 14 tokens
    • mean: 86.46 tokens
    • max: 265 tokens
  • Samples:
    anchor positive negative
    Hormigonado para riostras y pilarejos, con hormigón para armar autocompactante HA - 40 / AC / 20 / XC4 + XS1 + XA1 con una cantidad de cemento de 350 kg/m3 i relación agua cemento =< 0.45, colocado con cubilote Vertido de hormigón para vigas y columnas, utilizando hormigón autocompactante HA - 40 / AC / 20 / XC4 + XS1 + XA1 con una dosificación de cemento de 350 kg/m3 y una relación agua-cemento menor o igual a 0.45, aplicado con cubilote. Hormigonado para cimientos y muros, utilizando hormigón convencional de resistencia media con una cantidad de cemento de 300 kg/m3 y relación agua-cemento =< 0.50, vertido manualmente.
    Tapón extremo de polietileno, diámetro nominal DN 400, conexión hembra-hembra, de superficies interna lisa y externa lisa reforzada con nervios, de fabricación inyectada según norma UNE-EN 13476-3, apta para tubo de saneamiento enterrado sin presión de superficies interna lisa y externa perfilada según norma UNE-EN 13476-3, para doble unión elástica con anillas elastoméricas de estanquidad, colocado sobre lecho de arena de 15 cm de espesor, incluído el relleno del apoyo, con pisón vibrante eléctrico Tapón de polietileno de diámetro nominal DN 400, con conexión hembra-hembra, superficies internas y externas lisas, fabricado por inyección conforme a la norma UNE-EN 13476-3, adecuado para tubería de saneamiento enterrada sin presión, con doble unión elástica y anillas de sellado, instalado sobre un lecho de arena de 15 cm de grosor, incluyendo el relleno de soporte, utilizando un pisón vibrante eléctrico. Tapón de PVC, diámetro nominal DN 500, conexión macho-hembra, de superficies interna rugosa y externa lisa, de fabricación extruida según norma UNE-EN 1401, apto para tubo de desagüe superficial con superficies interna y externa lisas, para unión rígida con adhesivo, colocado sobre lecho de grava de 20 cm de espesor, excluido el relleno del soporte, con compactador manual.
    Vidrio aislante de luna incolora de 6+6 mm de espesor con 1 butiral de color estándard clase 2 (B) 2 según UNE-EN 12600, cámara de aire de 6 mm y luna de 8+8 mm de espesor con 1 butiral transparente de luna incolora, clase 2 (B) 2 según UNE-EN 12600, colocado con perfiles conformados de neopreno sobre aluminio o PVC Vidrio doble de 6+6 mm de espesor con butiral estándar de color clase 2 (B) 2 según UNE-EN 12600, con una cámara de aire de 6 mm y un vidrio de 8+8 mm de espesor con butiral transparente, clase 2 (B) 2 según UNE-EN 12600, instalado con marcos de neopreno sobre aluminio o PVC. Vidrio templado de color verde de 10+10 mm de espesor con 1 butiral de color personalizado clase 1 (A) 1 según UNE-EN 12600, cámara de aire de 8 mm y luna de 6+6 mm de espesor con 1 butiral opaco, clase 1 (A) 1 según UNE-EN 12600, instalado con marcos de acero inoxidable.
  • Loss: TripletLoss with these parameters:
    {
        "distance_metric": "TripletDistanceMetric.EUCLIDEAN",
        "triplet_margin": 5
    }
    

Evaluation Dataset

Unnamed Dataset

  • Size: 176 evaluation samples
  • Columns: anchor, positive, and negative
  • Approximate statistics based on the first 176 samples:
    anchor positive negative
    type string string string
    details
    • min: 25 tokens
    • mean: 111.19 tokens
    • max: 298 tokens
    • min: 24 tokens
    • mean: 104.95 tokens
    • max: 272 tokens
    • min: 24 tokens
    • mean: 86.95 tokens
    • max: 235 tokens
  • Samples:
    anchor positive negative
    Sistema de aislamiento térmico por el exterior (SATE) con aislamiento exterior para soporte de revestimiento delgado, con plancha de poliestireno expandido (EPS), de 40 mm de espesor, de 60 kPa de tensión a la compresión, de 1,05 m2·K/W de resistencia térmica, con una cara lisa y borde recto, fijada mecánicamente con mortero de cemento para uso corriente (GP) y taco y soporte de nylon, y revestida con morter de cemento para uso corriente (GP) con malla de fibra de vidrio revestida de PVC, de dimensiones 4x4 mm, con un peso mínimo de 160 g/m2 embebida, acabado exteriormente con enfoscado con mortero monocapa (OC) de cemento, de designación CSIII-W2, según la norma UNE-EN 998-1, colocado manualmente y acabado liso, con parte proporcional de protección de arista con cantonera de aluminio de 5 mm de espesor y 25 mm de desarrollo. No incluye la preparación del soporte. B2+R3 según CTE/DB-HS 2006 Sistema de aislamiento térmico exterior (SATE) con paneles de poliestireno expandido (EPS) de 40 mm, que ofrece una resistencia térmica de 1,05 m2·K/W, fijado con mortero de cemento y reforzado con malla de fibra de vidrio, terminado con un enfoscado monocapa de cemento, cumpliendo con la normativa UNE-EN 998-1. Sistema de impermeabilización de techos con membrana asfáltica de 3 mm de espesor, con una resistencia a la tracción de 200 N/5 cm, fijada mecánicamente con tornillos de acero inoxidable y sellada con masilla de poliuretano, y revestida con gravilla de 10 mm de diámetro, para mejorar la durabilidad y la estética del acabado, con un peso mínimo de 300 g/m2, colocada en capas cruzadas y con un acabado rugoso, sin incluir la preparación del soporte. B1+R2 según CTE/DB-HS 2006.
    Pared de cerramiento de dos caras vistas de 20 cm de espesor de bloque macizo de mortero cemento, de 400x90x200 mm, liso, blanco con componentes hidrofugantes, categoría I según la norma UNE-EN 771-3, tomado con mortero cemento 1:6 de cemento blanco de albañilería Muro de cerramiento de doble cara de 20 cm de grosor, construido con bloques macizos de mortero de cemento de dimensiones 400x90x200 mm, acabado liso y blanco, con aditivos hidrofugantes, clasificado como categoría I según la norma UNE-EN 771-3, unido con mortero de cemento 1:6 de cemento blanco para albañilería. Pared de soporte de una sola cara de 15 cm de espesor de ladrillo hueco de arcilla, de 300x150x200 mm, rugoso, rojo sin aditivos, categoría II según la norma UNE-EN 771-1, unida con mortero de cal 1:3 de cemento gris.
    Hormigonado de losas con hormigón para armar con aditivo hidrófugo HA - 30 / B / 20 / XC4 + XD3 + XF4 + XM2 con una cantidad de cemento de 350 kg/m3 i relación agua cemento =< 0.5, colocado con cubilote Vertido de losas utilizando hormigón armado con aditivo impermeabilizante HA - 30 / B / 20 / XC4 + XD3 + XF4 + XM2, con una dosificación de cemento de 350 kg/m3 y una relación agua-cemento menor o igual a 0.5, aplicado con cubilote. Hormigonado de columnas con hormigón para estructuras de soporte con aditivo retardante HR - 25 / A / 15 / XC2 + XD1 + XF2 + XM1 con una cantidad de cemento de 400 kg/m3 y relación agua cemento =< 0.6, vertido con bomba.
  • 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: 5
  • per_device_eval_batch_size: 5
  • learning_rate: 2e-05
  • num_train_epochs: 5
  • 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: 5
  • per_device_eval_batch_size: 5
  • 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: 5
  • 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
0.7067 200 4.3691 3.3158 0.9318
1.4134 400 2.0025 1.2971 0.9716
2.1201 600 1.0978 1.1959 0.9716
2.8269 800 0.7522 0.6714 0.9943
3.5336 1000 0.5156 0.7532 0.9659
4.2403 1200 0.3121 0.5983 0.9773
4.9470 1400 0.2111 0.5432 0.9773
5.0 1415 - - 0.9773

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
2
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-adapter

Finetuned
(70)
this model

Evaluation results