SentenceTransformer based on intfloat/multilingual-e5-small

This is a sentence-transformers model finetuned from intfloat/multilingual-e5-small. It maps sentences & paragraphs to a 384-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-small
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 384 dimensions
  • Similarity Function: Cosine Similarity

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: BertModel 
  (1): Pooling({'word_embedding_dimension': 384, '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("diegolacomba/multilingual-e5-small-legal-cmnrl-final")
# Run inference
sentences = [
    'query: ¿De qué manera se determina el período de ejercicio de la actividad para el cálculo de su rendimiento en un año?',
    'passage: Descripción de hechos: Actividad de transporte de mercancías por carretera, que determina el rendimiento neto de la actividad por el método de estimación objetiva. En 2020, la actividad no se paralizó en ningún momento la actividad.\n\nCuestión planteada: Cómputo, en 2020, de los días de ejercicio de la actividad para la determinación del rendimiento neto.',
    'passage: La posterior restitución al socio de las cantidades aportadas, en tanto no suponga disminución del capital social, no constituye ningún hecho imponible del impuesto.\nLo que comunico a Vd. con efectos vinculantes, conforme a lo dispuesto en el apartado 1 del artículo 89 de la Ley 58/2003, de 17 de diciembre, General Tributaria.',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 384]

# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]

Evaluation

Metrics

Information Retrieval

Metric Value
cosine_accuracy@1 0.3141
cosine_accuracy@3 0.4604
cosine_accuracy@5 0.5381
cosine_accuracy@10 0.6382
cosine_accuracy@20 0.733
cosine_precision@1 0.3141
cosine_precision@3 0.1535
cosine_precision@5 0.1076
cosine_precision@10 0.0638
cosine_recall@1 0.3141
cosine_recall@3 0.4604
cosine_recall@5 0.5381
cosine_recall@10 0.6382
cosine_ndcg@10 0.4632
cosine_mrr@10 0.4088
cosine_map@100 0.4199

Training Details

Training Dataset

Unnamed Dataset

  • Size: 95,184 training samples
  • Columns: anchor and positive
  • Approximate statistics based on the first 1000 samples:
    anchor positive
    type string string
    details
    • min: 17 tokens
    • mean: 30.88 tokens
    • max: 55 tokens
    • min: 17 tokens
    • mean: 345.99 tokens
    • max: 509 tokens
  • Samples:
    anchor positive
    query: ¿Qué criterios deben cumplirse para que una actividad se considere sujeto pasivo del IVA en casos de obras inmobiliarias? passage: Estos preceptos son de aplicación general y, por tanto, también a la entidad consultante que, consecuentemente, tendrá la condición de empresario a efectos del Impuesto sobre el Valor Añadido cuando ordene un conjunto de medios personales y materiales, con independencia y bajo su responsabilidad, para desarrollar una actividad empresarial o profesional, sea de fabricación, comercio, de prestación de servicios, etc., mediante la realización continuada de entregas de bienes o prestaciones de servicios, asumiendo el riesgo y ventura que pueda producirse en el desarrollo de la actividad, siempre que las mismas se realicen, como en este caso, a título oneroso.
    2.- Con respecto al sujeto pasivo de las ejecuciones de obra inmobiliaria, se debe tener en consideración lo establecido por el artículo 84 de la Ley 37/1992, en su redacción dada por Ley 7/2012, de 29 de octubre, de modificación de la normativa tributaria y presupuestaria y de adecuación de la normativa financiera para la in...
    query: ¿Cuál es el proceso para comunicar la condición de revendedor ante la administración tributaria? passage: En estas circunstancias puede considerarse que la consultante tiene la consideración que empresario o profesional revendedor a que se refiere el artículo 84.Uno.2º. g) de la Ley 37/1992, en los términos referidos en el transcrito artículo 24 quinquies del Reglamento del Impuesto en la medida que se dedica con habitualidad a la reventa de los bienes adquiridos a que se refieren dichas operaciones.
    3.- Por otra parte, el Real Decreto 1073/2014 ha modificado también el Reglamento General de las actuaciones y los procedimientos de gestión e inspección tributaria y de desarrollo de las normas comunes de los procedimientos de aplicación de los tributos, aprobado por el Real Decreto 1065/2007, de 27 de julio, y ha incluido una nueva letra o) en el apartado 3 del artículo 9 del Reglamento con el objeto de establecer que la declaración censal, que deben presentar ante la Administración tributaria, los Empresarios, Profesionales y Retenedores, sirva también para:
    “o) Comunicar la condic...
    query: ¿Cómo afecta la adquisición de servicios relacionados con terapias cognitivas a la tributación del Impuesto sobre el Valor Añadido en una nueva empresa? passage: Descripción de hechos: La consultante es una entidad mercantil de nueva creación, que tiene previsto adquirir de otra entidad mercantil una serie de elementos afectos a una actividad de prestación de servicios de terapia psicológica, pedagógica y logopedia.

    Cuestión planteada: Tributación de la operación citada a efectos del Impuesto sobre el Valor Añadido.
  • Loss: CachedMultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim",
        "mini_batch_size": 32
    }
    

Evaluation Dataset

Unnamed Dataset

  • Size: 10,577 evaluation samples
  • Columns: anchor and positive
  • Approximate statistics based on the first 1000 samples:
    anchor positive
    type string string
    details
    • min: 18 tokens
    • mean: 30.85 tokens
    • max: 50 tokens
    • min: 33 tokens
    • mean: 343.78 tokens
    • max: 499 tokens
  • Samples:
    anchor positive
    query: ¿Qué requisitos establece la legislación para que una escultura sea reconocida como obra original y totalmente creada por un artista? passage: c) Esculturas originales y estatuas de cualquier materia, siempre que hayan sido realizadas totalmente por el artista; vaciados de esculturas, de tirada limitada a ocho ejemplares y controlada por el artista o sus derechohabientes (código NC 9703 00 00).
    (…).”.
    3.- De acuerdo con el artículo 5 del Texto Refundido de la Ley de Propiedad Intelectual aprobado por Real Decreto Legislativo 1/1996, de 12 de abril (BOE de 22 de abril), determina que:
    “1. Se considera autor a la persona natural que crea alguna obra literaria, artística o científica.
    2. No obstante, de la protección que esta Ley concede al autor se podrán beneficiar personas jurídicas en los casos expresamente previstos en ella.”.
    En particular, el artículo 8 del mismo texto refundido establece lo siguiente en relación a las personas jurídicas:
    “Se considera obra colectiva la creada por la iniciativa y bajo la coordinación de una persona natural o jurídica que la edita y divulga bajo su nombre y está constituida por la...
    query: ¿Se aplica el IVA cuando un ayuntamiento adquiere una edificación previamente utilizada como sede de correos? passage: Descripción de hechos: El consultante es un Ayuntamiento que va a adquirir una edificación, que había sido la sede municipal de Correos y Telégrafos, que se construyó sobre un terreno entregado a dicha entidad, a su vez, por el consultante.

    Cuestión planteada: Si la entrega de dicho inmueble se encontrará sujeta al Impuesto sobre el Valor Añadido.
    query: ¿Cómo se gravan fiscalmente las intervenciones de implantación de prótesis capilares en pacientes con fines estéticos según la normativa vigente? passage: Descripción de hechos: La consultante se dedica a la prestación de servicios médicos profesionales consistentes en el diagnóstico y prevención, tratamiento, y reconstrucción de la alopecia por miniaturización folicular y alopecia cicatricial.
    Para la reconstrucción de alopecia se diseña e implantan prótesis capilares personalizadas que son adquiridas en Italia, y posteriormente son vendidas a otros profesionales médicos, o bien se entregan al paciente en el momento de la intervención.

    Cuestión planteada: La consultante plantea cuestiones adicionales en relación con la contestación vinculante de 2 de octubre de 2018, consulta V2687-18. En particular:
    El tipo del Impuesto sobre el Valor Añadido aplicable a las entregas y adquisiciones
    intracomunitarias de prótesis capilares que son utilizadas indistintamente para fines estéticos y para fines terapéuticos adquiridas por profesionales.
    El tipo impositivo aplicable a las ventas por la implantación de la prótesis, efectuadas a paci...
  • Loss: CachedMultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim",
        "mini_batch_size": 32
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • per_device_train_batch_size: 256
  • per_device_eval_batch_size: 256
  • gradient_accumulation_steps: 4
  • learning_rate: 3e-05
  • num_train_epochs: 12
  • lr_scheduler_type: cosine
  • warmup_ratio: 0.1
  • fp16: True
  • tf32: True
  • load_best_model_at_end: True
  • optim: adamw_torch_fused
  • 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: 256
  • per_device_eval_batch_size: 256
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: None
  • gradient_accumulation_steps: 4
  • eval_accumulation_steps: None
  • torch_empty_cache_steps: None
  • learning_rate: 3e-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: 12
  • max_steps: -1
  • lr_scheduler_type: cosine
  • 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: True
  • 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_fused
  • 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: None
  • hub_always_push: False
  • hub_revision: None
  • gradient_checkpointing: False
  • gradient_checkpointing_kwargs: None
  • include_inputs_for_metrics: False
  • include_for_metrics: []
  • 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
  • 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
  • use_liger_kernel: False
  • liger_kernel_config: None
  • eval_use_gather_object: False
  • average_tokens_across_devices: False
  • prompts: None
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss Validation Loss InformationRetrievalEvaluator_cosine_ndcg@10
None 0 - 4.5300 0.2369
1.0753 100 2.1784 0.6987 0.3869
2.1505 200 0.6499 0.5427 0.4295
3.2258 300 0.539 0.4956 0.4459
4.3011 400 0.4811 0.4683 0.4488
5.3763 500 0.4476 0.4512 0.4545
6.4516 600 0.4238 0.4389 0.4567
7.5269 700 0.4076 0.4289 0.4608
8.6022 800 0.3928 0.4253 0.4620
9.6774 900 0.3879 0.4244 0.4625
10.7527 1000 0.3802 0.4231 0.4632
11.8280 1100 0.3779 0.4225 0.4631
12.0 1116 - 0.4231 0.4632
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.11.13
  • Sentence Transformers: 4.1.0
  • Transformers: 4.53.2
  • PyTorch: 2.6.0+cu124
  • Accelerate: 1.9.0
  • Datasets: 2.14.4
  • Tokenizers: 0.21.2

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

CachedMultipleNegativesRankingLoss

@misc{gao2021scaling,
    title={Scaling Deep Contrastive Learning Batch Size under Memory Limited Setup},
    author={Luyu Gao and Yunyi Zhang and Jiawei Han and Jamie Callan},
    year={2021},
    eprint={2101.06983},
    archivePrefix={arXiv},
    primaryClass={cs.LG}
}
Downloads last month
7
Safetensors
Model size
118M params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for diegolacomba/multilingual-e5-small-legal-cmnrl-final

Finetuned
(125)
this model

Evaluation results

  • Cosine Accuracy@1 on InformationRetrievalEvaluator
    self-reported
    0.314
  • Cosine Accuracy@3 on InformationRetrievalEvaluator
    self-reported
    0.460
  • Cosine Accuracy@5 on InformationRetrievalEvaluator
    self-reported
    0.538
  • Cosine Accuracy@10 on InformationRetrievalEvaluator
    self-reported
    0.638
  • Cosine Accuracy@20 on InformationRetrievalEvaluator
    self-reported
    0.733
  • Cosine Precision@1 on InformationRetrievalEvaluator
    self-reported
    0.314
  • Cosine Precision@3 on InformationRetrievalEvaluator
    self-reported
    0.153
  • Cosine Precision@5 on InformationRetrievalEvaluator
    self-reported
    0.108
  • Cosine Precision@10 on InformationRetrievalEvaluator
    self-reported
    0.064
  • Cosine Recall@1 on InformationRetrievalEvaluator
    self-reported
    0.314