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-v3")
# Run inference
sentences = [
    'query: Arco circular estructural a sardinel, de espesor 24 cm y 24 cm de anchura, de ladrillo perforado R-10, de 240x115x70 mm, para revestir, categoría I, HD, según la norma UNE-EN 771-1, colocado con mortero cemento 1:3',
    'passage: Arco estructural de forma circular, con un espesor de 24 cm y una anchura de 24 cm, fabricado con ladrillo perforado R-10 de dimensiones 240x115x70 mm, destinado a revestimiento, categoría I, HD, conforme a la norma UNE-EN 771-1, instalado con mortero de cemento en proporción 1:3.',
    'passage: Arco semicircular decorativo a pie de muro, de espesor 30 cm y 20 cm de anchura, de ladrillo macizo R-15, de 300x150x75 mm, para acabado, categoría II, LD, según la norma UNE-EN 771-2, colocado con mortero cal 1:4.',
]
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.9962
dot_accuracy 0.0038
manhattan_accuracy 0.9962
euclidean_accuracy 0.9962
max_accuracy 0.9962

Training Details

Training Dataset

Unnamed Dataset

  • Size: 4,236 training samples
  • Columns: anchor, positive, and negative
  • Approximate statistics based on the first 1000 samples:
    anchor positive negative
    type string string string
    details
    • min: 28 tokens
    • mean: 108.53 tokens
    • max: 320 tokens
    • min: 24 tokens
    • mean: 105.47 tokens
    • max: 287 tokens
    • min: 21 tokens
    • mean: 97.96 tokens
    • max: 304 tokens
  • Samples:
    anchor positive negative
    query: Losa aligerada de hormigón armado hormigón para armar con aditivo hidrófugo HA - 30 / F / 10 / XC2 con una cantidad de cemento de 300 kg/m3 i relación agua cemento =< 0.6 de 40 cm de canto, con capa superior e inferior de hormigón de 7.5/7,5 cm, armado de la capa inferior con malla electrosoldada de barras corrugadas de acero B500SD, ME 20x20 cm D:8-8 mm, y armado de la capa superior con malla electrosoldada de barras corrugadas de acero B500SD, ME 20x20 cm D:6-6 mm, con una cuantía de 0,45 m2/m2 de aligeradores de poliestireno expandido, interejes de 120 cm, nervios de 40 cm de espesor, armados con 30 kg/m2 de acero en barras corrugadas, utilizando encofrado para dejar el hormigón visto de <= 5 m de altura, hormigonado con bomba passage: Losa aligerada de concreto reforzado con aditivo impermeabilizante HA - 30 / F / 10 / XC2, con una dosificación de cemento de 300 kg/m3 y una relación agua-cemento menor o igual a 0.6, de 40 cm de espesor, con capas superior e inferior de concreto de 7.5 cm cada una, reforzada en la capa inferior con malla electrosoldada de acero B500SD, ME 20x20 cm D:8-8 mm, y en la capa superior con malla electrosoldada de acero B500SD, ME 20x20 cm D:6-6 mm, incorporando 0,45 m2/m2 de poliestireno expandido como aligerante, con nervios de 40 cm de grosor, reforzados con 30 kg/m2 de acero en varillas corrugadas, utilizando encofrado para un acabado de hormigón expuesto de hasta 5 m de altura, vertido con bomba. passage: Losa de concreto convencional con aditivo retardante para fraguado, con una cantidad de cemento de 350 kg/m3 y relación agua-cemento =< 0.5 de 30 cm de canto, con capa superior e inferior de concreto de 10/10 cm, armado de la capa inferior con malla de alambre de acero B500S, ME 15x15 cm D:10-10 mm, y armado de la capa superior con malla de alambre de acero B500S, ME 15x15 cm D:8-8 mm, con una cuantía de 0,50 m2/m2 de aligeradores de poliestireno extruido, interejes de 100 cm, nervios de 30 cm de espesor, armados con 25 kg/m2 de acero en barras lisas, utilizando encofrado para dejar el concreto cubierto de <= 4 m de altura, hormigonado manualmente.
    query: Base de hormigón (CE, EHE) hormigón HM-20/S / 40 / I de consistencia seca, tamaño máximo del árido 40 mm, con >= 200 kg/m3 de cemento, apto para clase de exposición I, vertido con transporte interior mecánico con extendido y vibrado manual, con acabado maestreado, 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 0.2 a 2 m3, con dúmper de gasoil passage: Base de concreto (CE, EHE) concreto HM-20/S / 40 / I de consistencia seca, con un tamaño máximo de agregado de 40 mm, conteniendo >= 200 kg/m3 de cemento, adecuado para clase de exposición I, vertido mediante transporte mecánico interno, extendido y vibrado manual, con acabado nivelado, en un entorno urbano con movilidad accesible, en aceras de más de 3 y hasta 5 m de ancho o calzada/plataforma única de más de 7 y hasta 12 m de ancho, afectado por servicios o elementos de mobiliario urbano, en trabajos de 0.2 a 2 m3, utilizando un camión de gasóleo. passage: Base de hormigón (CE, EHE) hormigón HM-25/S / 50 / II de consistencia fluida, tamaño máximo del árido 30 mm, con >= 250 kg/m3 de cemento, apto para clase de exposición II, vertido con transporte interior manual con extendido y vibrado mecánico, con acabado rugoso, en entorno rural con dificultad de movilidad, en aceras > 2 y <= 4 m de ancho o calzada/plataforma única > 6 y <= 10 m de ancho, sin afectación por servicios o elementos de mobiliario urbano, en actuaciones de 1 a 3 m3, con camión de gasóleo.
    query: Pavimento de losa de hormigón para pavimentos de 80x80 cm y 3,5 cm de espesor, de forma cuadrado, textura abujardada, precio alto, sobre lecho de arena de 3 cm de espesor, con relleno de juntas con arena fina y compactación del pavimento acabado, en entorno urbano sin dificultad de movilidad, en aceras <= 3 m de ancho o calzada/plataforma única <= 7 m de ancho, sin afectación por servicios o elementos de mobiliario urbano, en actuaciones de hasta 1 m2 passage: Losas de concreto de 80x80 cm y 3,5 cm de grosor, con acabado abujardado, instaladas sobre una base de arena de 3 cm, con juntas rellenadas con arena fina y compactación final, adecuadas para áreas urbanas con accesibilidad, en aceras de hasta 3 m de ancho o plataformas de hasta 7 m, sin interferencias de servicios públicos o mobiliario urbano, en proyectos de hasta 1 m2. passage: Pavimento de losa de cerámica para pavimentos de 60x60 cm y 2 cm de espesor, de forma rectangular, textura lisa, precio moderado, sobre base de grava de 2 cm de espesor, con relleno de juntas con mortero y nivelación del pavimento terminado, en entorno rural con dificultad de acceso, en caminos <= 2 m de ancho o senderos/plataformas múltiples <= 5 m de ancho, con afectación por servicios o elementos de jardinería, en actuaciones de hasta 2 m2.
  • Loss: TripletLoss with these parameters:
    {
        "distance_metric": "TripletDistanceMetric.EUCLIDEAN",
        "triplet_margin": 3
    }
    

Evaluation Dataset

Unnamed Dataset

  • Size: 529 evaluation samples
  • Columns: anchor, positive, and negative
  • Approximate statistics based on the first 529 samples:
    anchor positive negative
    type string string string
    details
    • min: 28 tokens
    • mean: 109.1 tokens
    • max: 320 tokens
    • min: 29 tokens
    • mean: 105.07 tokens
    • max: 284 tokens
    • min: 28 tokens
    • mean: 98.9 tokens
    • max: 303 tokens
  • Samples:
    anchor positive negative
    query: Canal de hormigón polímero sin pendiente, de ancho interior 100 mm y de 160 a 200 mm de altura, con perfil lateral, con rejilla de acero inoxidable nervada clase A15, según norma UNE-EN 1433, fijada con cancela al canal, colocado sobre base de hormigón con solera de 100 mm de espesor y paredes de 100 mm de espesor passage: Canal de polímero de hormigón plano, con un ancho interno de 100 mm y una altura que varía entre 160 y 200 mm, equipado con un perfil lateral y una rejilla de acero inoxidable clase A15, conforme a la norma UNE-EN 1433, anclada al canal y asentada sobre una base de hormigón con una solera de 100 mm de grosor y paredes de 100 mm de grosor. passage: Canal de hormigón convencional con pendiente, de ancho interior 150 mm y de 200 a 250 mm de altura, sin perfil lateral, con rejilla de plástico clase B125, según norma UNE-EN 1433, fijada sin cancela al canal, colocado sobre base de asfalto con solera de 150 mm de espesor y paredes de 150 mm de espesor.
    query: Forjado nervado reticular de 35+5 cm, de casetones mortero de cemento con una cuantía de 0,61/m2 de forjado, interejes 0,8 m, con una cuantía de 24 kg/m2 de armadura AP500 S de acero en barras corrugadas, armadura AP500 T en mallas electrosoldadas de 15x15 cm, 5 y 5 mm de diámetro y 0,187 1/m2 de hormigón para armar HA - 35 / F / 20 / XC1 con una cantidad de cemento de 300 kg/m3 i relación agua cemento =< 0.6 vertido con bomba passage: Forjado reticulado nervado de 35+5 cm, compuesto por casetones de mortero de cemento, con una densidad de 0,61/m2, separaciones de 0,8 m, y una cantidad de 24 kg/m2 de armadura AP500 S en varillas corrugadas, además de armadura AP500 T en mallas electrosoldadas de 15x15 cm, 5 y 5 mm de diámetro, y 0,187 1/m2 de hormigón HA - 35 / F / 20 / XC1, utilizando 300 kg/m3 de cemento y una relación agua-cemento menor o igual a 0.6, aplicado mediante bomba. passage: Forjado plano de 30+10 cm, de casetones de poliestireno expandido con una cuantía de 0,75/m2 de forjado, interejes 1,0 m, con una cuantía de 30 kg/m2 de armadura B500S de acero en mallas electrosoldadas de 20x20 cm, 6 y 6 mm de diámetro y 0,150 1/m2 de hormigón para armar HA - 25 / F / 30 / XC2 con una cantidad de cemento de 350 kg/m3 y relación agua cemento => 0.5 vertido manualmente.
    query: Ventana de aluminio lacado blanco, colocada sobre premarco, con tres hojas correderas sobre dos raíles, para un hueco de obra aproximado de 210x150 cm, elaborada con perfiles de precio alto, clasificación mínima 3 de permeabilidad al aire según UNE-EN 12207, clasificación mínima 7A de estanqueidad al agua según UNE-EN 12208 y clasificación mínima C3 de resistencia al viento según UNE-EN 12210, sin persiana passage: Ventana de PVC blanco, instalada en un premarco, con tres paneles deslizantes sobre dos rieles, diseñada para un espacio de obra de aproximadamente 210x150 cm, fabricada con perfiles de alta calidad, con una clasificación mínima de 3 en permeabilidad al aire según UNE-EN 12207, clasificación mínima 7A en estanqueidad al agua según UNE-EN 12208 y clasificación mínima C3 en resistencia al viento según UNE-EN 12210, sin sistema de persiana. passage: Ventana de PVC sin lacar, instalada en un marco fijo, con dos hojas abatibles sobre un solo raíl, para un hueco de obra aproximado de 200x140 cm, elaborada con perfiles de precio bajo, clasificación mínima 1 de permeabilidad al aire según UNE-EN 12207, clasificación mínima 5A de estanqueidad al agua según UNE-EN 12208 y clasificación mínima B2 de resistencia al viento según UNE-EN 12210, con persiana incorporada.
  • Loss: TripletLoss with these parameters:
    {
        "distance_metric": "TripletDistanceMetric.EUCLIDEAN",
        "triplet_margin": 3
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • per_device_train_batch_size: 6
  • per_device_eval_batch_size: 6
  • learning_rate: 2e-05
  • num_train_epochs: 10
  • 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: 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: 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: 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: 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}
  • 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.2833 200 2.8113 2.3674 0.9962
0.5666 400 1.6305 0.7209 0.9887
0.8499 600 0.7763 0.6523 0.9792
1.1331 800 0.7287 0.5315 0.9849
1.4164 1000 0.5824 0.4461 0.9849
1.6997 1200 0.508 0.4173 0.9905
1.9830 1400 0.4784 0.3315 0.9905
2.2663 1600 0.2979 0.2590 0.9868
2.5496 1800 0.2218 0.2567 0.9868
2.8329 2000 0.2886 0.1700 0.9887
3.1161 2200 0.2331 0.1453 0.9887
3.3994 2400 0.1352 0.1226 0.9962
3.6827 2600 0.16 0.1649 0.9887
3.9660 2800 0.1549 0.1291 0.9962
4.2493 3000 0.088 0.1059 0.9962
4.5326 3200 0.0908 0.0973 0.9962
4.8159 3400 0.0784 0.0907 0.9962
5.0992 3600 0.0858 0.1177 0.9962
5.3824 3800 0.0559 0.0898 0.9962
5.6657 4000 0.0558 0.0715 0.9962
5.9490 4200 0.038 0.0621 0.9905
6.2323 4400 0.0322 0.0639 0.9981
6.5156 4600 0.0189 0.0804 0.9943
6.7989 4800 0.0322 0.0572 0.9887
7.0822 5000 0.0234 0.0468 0.9962
7.3654 5200 0.0109 0.0393 0.9962
7.6487 5400 0.0089 0.0423 0.9962
7.9320 5600 0.0109 0.0452 0.9962
8.2153 5800 0.0142 0.0453 0.9962
8.4986 6000 0.0087 0.0482 0.9943
8.7819 6200 0.0016 0.0482 0.9943
9.0652 6400 0.0022 0.0442 0.9943
9.3484 6600 0.0067 0.0449 0.9924
9.6317 6800 0.0008 0.0448 0.9943
9.9150 7000 0.0025 0.0455 0.9962
10.0 7060 - - 0.9962
  • The bold row denotes the saved checkpoint.

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

Finetuned
(70)
this model

Evaluation results