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-v2")
# Run inference
sentences = [
    'Banco de tablas de madera tropical con certificado FSC con aceite de dos componentes, de dos módulos, de 3,1 m de longitud, con un respaldo de madera y con soportes de pletina de acero, colocado con fijaciones mecánicas, 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 1 a 5 u',
    'Banco de madera tropical con certificación FSC, tratado con aceite de dos componentes, de dos secciones, con una longitud de 3,1 m, equipado con respaldo de madera y soportes de acero, instalado con fijaciones mecánicas en un entorno urbano, apto para aceras de más de 3 y hasta 5 m de ancho o calzadas de más de 7 y hasta 12 m de ancho, considerando la presencia de servicios o mobiliario urbano, en proyectos de 1 a 5 unidades.',
    'Banco de madera reciclada con tratamiento de pintura ecológica, de un solo módulo, de 2,5 m de longitud, sin respaldo y con patas de plástico, instalado en un parque rural con acceso restringido, en senderos de menos de 3 m de ancho, sin interferencias de servicios públicos o mobiliario, en proyectos de 6 a 10 unidades.',
]
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.9886
dot_accuracy 0.0114
manhattan_accuracy 0.9886
euclidean_accuracy 0.9886
max_accuracy 0.9886

Triplet

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

Triplet

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

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: 107.33 tokens
    • max: 317 tokens
    • min: 14 tokens
    • mean: 102.76 tokens
    • max: 272 tokens
    • min: 14 tokens
    • mean: 86.3 tokens
    • max: 247 tokens
  • Samples:
    anchor positive negative
    Ventana de aluminio lacado blanco con rotura de puente térmico, colocada sobre premarco, con una hoja oscilobatiente, para un hueco de obra aproximado de 90x120 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 8A de estanqueidad al agua según UNE-EN 12208 y clasificación mínima C4 de resistencia al viento según UNE-EN 12210, sin persiana Ventana de PVC blanco con rotura de puente térmico, instalada sobre premarco, con una hoja oscilobatiente, para un hueco de obra aproximado de 90x120 cm, fabricada con perfiles de alta gama, clasificación mínima 3 de permeabilidad al aire según UNE-EN 12207, clasificación mínima 8A de estanqueidad al agua según UNE-EN 12208 y clasificación mínima C4 de resistencia al viento según UNE-EN 12210, sin persiana. Puerta de madera sin tratar con marco de acero, instalada en un espacio de 80x100 cm, diseñada con un sistema de apertura tradicional, fabricada con materiales de bajo costo, sin clasificación de permeabilidad al aire, estanqueidad o resistencia al viento, con persiana integrada.
    Viga de hormigón armado de canto, con encofrado para revestir, con una cuantía de 7,5 m2/m3, hormigón hormigón para armar HA - 30 / B / 10 / XC2 con una cantidad de cemento de 275 kg/m3 i relación agua cemento =< 0.6, vertido con bomba y armadura AP500 S de acero en barras corrugadas con una cuantía de 150 kg/m3 Viga de concreto reforzado de sección, con encofrado para acabado, con una densidad de 7,5 m2/m3, concreto HA - 30 / B / 10 / XC2 que contiene 275 kg/m3 de cemento y una relación agua-cemento menor o igual a 0.6, vertido mediante bomba y con refuerzo de acero en varillas corrugadas AP500 S con una cantidad de 150 kg/m3. Viga de madera laminada de canto, con revestimiento decorativo, con una cuantía de 5 m2/m3, madera tratada para exteriores con una densidad de 500 kg/m3 y una relación de humedad =< 12%, instalada manualmente y refuerzo de fibra de vidrio con una cuantía de 100 kg/m3.
    Caja modular de polipropileno de medidas 0.75x0.45x3,5 m (LxAxH) para sistema urbano drenante SUD formando una pieza prismática de medidas 7.5x2.7x3,5 m (LxAxH) y envuelto con geotextil formado por fieltro de polipropileno/polietileno no tejido ligado térmicamente de 110 a 130 g/m2, colocada sin adherir Caja modular de polipropileno de dimensiones 0.75x0.45x3.5 m (LxAxH) para un sistema de drenaje urbano SUD, que se integra en una estructura prismática de 7.5x2.7x3.5 m (LxAxH) y recubierta con geotextil de fieltro de polipropileno/polietileno no tejido, con un peso de 110 a 130 g/m2, instalada sin adhesión. Caja de almacenamiento de cartón reciclado de dimensiones 0.75x0.45x3.5 m (LxAxH) para uso doméstico, diseñada como un contenedor rectangular de medidas 7.5x2.7x3.5 m (LxAxH) y recubierta con papel kraft de 80 a 100 g/m2, ensamblada con pegamento.
  • 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: 27 tokens
    • mean: 107.66 tokens
    • max: 299 tokens
    • min: 22 tokens
    • mean: 103.47 tokens
    • max: 265 tokens
    • min: 23 tokens
    • mean: 87.09 tokens
    • max: 237 tokens
  • Samples:
    anchor positive negative
    Pavimento de hormigón de 20 cm de espesor acabado con 5 kg/m2 de polvo de cuarzo color, con hormigón para armar HA - 30 / B / 20 / XC3 con una cantidad de cemento de 300 kg/m3 i relación agua cemento =< 0.55, colocado desde camión, extendido y vibrado manual y fratasado mecánico Losas de concreto de 20 cm de grosor, terminadas con 5 kg/m2 de polvo de cuarzo de color, utilizando hormigón HA - 30 / B / 20 / XC3, con una dosificación de cemento de 300 kg/m3 y una relación agua-cemento menor o igual a 0.55, aplicadas desde camión, niveladas y compactadas manualmente, y pulidas con máquina. Pavimento de asfalto de 15 cm de espesor tratado con 3 kg/m2 de colorante, utilizando mezcla bituminosa tipo AC-20 con una proporción de betún de 4% y relación agregado asfáltico =< 0.60, aplicado desde planta, extendido y compactado con rodillo vibratorio.
    Alcantarilla con tubo de pared estructurada para saneamiento enterrado sin presión, de polietileno, diámetro nominal DN 1200, clase de rigidez anular SN 4 (rigidez anular 4 kN/m2), de superficies interna lisa y externa perfilada de tipo B, código de área de aplicación U, fabricación según norma UNE-EN 13476-3, unión mediante manguito extruido y junta elastomérica de estanquidad, colocado en el fondo de la zanja sobre lecho de arena de 30 cm de espesor y relleno de arena hasta 30 cm por encima del tubo, incluida la formación de una solera de 15 cm de espesor de 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, con pisón vibrante eléctrico Tubería de alcantarillado de polietileno con diámetro nominal DN 1200, diseñada para saneamiento enterrado sin presión, con clase de rigidez anular SN 4, y uniones mediante manguito extruido y junta elastomérica, instalada sobre un lecho de arena de 30 cm y cubierta con arena hasta 30 cm por encima, además de una base de hormigón no estructural de 15 cm de espesor. Alcantarilla con tubo de pared lisa para drenaje superficial sin presión, de PVC, diámetro nominal DN 1000, clase de rigidez anular SN 2 (rigidez anular 2 kN/m2), de superficies interna y externa lisas, código de área de aplicación T, fabricación según norma UNE-EN 1452-2, unión mediante soldadura y junta de goma, colocado en la superficie del terreno sobre una base de grava de 10 cm de espesor y relleno de tierra hasta 20 cm por encima del tubo, incluida la formación de una capa de césped de 5 cm de espesor, con riego manual.
    Placa complementaria para señales de tráfico, de acero galvanizado y pintado, de 30x15 cm, acabada con lámina retrorreflectante clase RA3, fijada a la señal, en entorno urbano con dificultad de mobilidad, en aceras > 3 y <= 5 m de ancho o calzada/plataforma única > 7 y <= 12 m de ancho, sin afectación por servicios o elementos de mobiliario urbano, en actuaciones de hasta 1 u Placa adicional para señales viales, fabricada en acero galvanizado y pintada, con dimensiones de 30x15 cm, recubierta con lámina retrorreflectante de clase RA3, montada sobre la señal, en áreas urbanas con limitaciones de movilidad, en aceras de más de 3 y hasta 5 m de ancho o en calzadas/plataformas únicas de más de 7 y hasta 12 m de ancho, sin interferencias de servicios o mobiliario urbano, en proyectos de hasta 1 unidad. Placa de refuerzo para estructuras de soporte, fabricada en aluminio anodizado y sin recubrimiento, de 40x20 cm, diseñada para resistir condiciones climáticas extremas, instalada en áreas rurales con acceso limitado, en caminos > 5 y <= 10 m de ancho o terrenos > 10 y <= 15 m de ancho, con interferencia de servicios públicos y elementos de paisajismo, en proyectos de hasta 3 unidades.
  • 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: 6
  • per_device_eval_batch_size: 6
  • learning_rate: 2e-05
  • num_train_epochs: 10
  • 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: 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: 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.9773 -
0.8475 200 4.1904 3.4566 1.0 -
1.6949 400 3.5286 3.4838 0.9659 -
2.5424 600 3.42 3.4114 0.9943 -
3.3898 800 3.3426 3.4048 0.9830 -
4.2373 1000 3.255 3.3055 0.9886 -
5.0847 1200 3.1994 3.3124 1.0 -
5.9322 1400 3.1468 3.2585 0.9830 -
6.7797 1600 3.1209 3.2398 0.9886 -
7.6271 1800 3.0917 3.2182 0.9886 -
8.4746 2000 3.0697 3.1917 0.9886 -
9.3220 2200 3.07 3.1934 0.9886 -
10.0 2360 - - 0.9886 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",
}

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
21
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-v2

Finetuned
(70)
this model

Evaluation results