Edit model card

BGE large Legal Spanish Spa Law QA

This is a sentence-transformers model finetuned from BAAI/bge-m3 on the boe-data-sintetic 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: BAAI/bge-m3
  • Maximum Sequence Length: 8192 tokens
  • Output Dimensionality: 1024 dimensions
  • Similarity Function: Cosine Similarity
  • Training Dataset:
  • Language: es
  • License: apache-2.0

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 8192, 'do_lower_case': False}) with Transformer model: XLMRobertaModel 
  (1): Pooling({'word_embedding_dimension': 1024, 'pooling_mode_cls_token': True, 'pooling_mode_mean_tokens': False, '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("pablosi/bge-m3-retrained")
# Run inference
sentences = [
    '¿En qué subsistema de contabilidad se realizan las anotaciones contables para la formalización de reintegros del presupuesto de gastos?',
    ' la columna de haber del concepto 51030 “Otros movimientos internos.\nFormalización de ingresos por cuenta de relaciones internas”».\n\n2. El número 41) FRPG.995, de formalización de reintegros del presupuesto de gastos\n\n\n(minora reconocimientos de obligaciones, propuestas de pago, ordenaciones de pago y\nrealizaciones de pago). Ejercicio corriente, queda redactado en los términos siguientes:\n\n«41.–) FRPG.995, de formalización de reintegros del presupuesto de gastos\n\n\n(minora reconocimientos de obligaciones, propuestas de pago, ordenaciones de\npago y realizaciones de pago). Ejercicio corriente. Las anotaciones contables se\n\n\n-----\n\n# BOLETÍN OFICIAL DEL ESTADO\n\n**Núm. 4** **Sábado 4 de enero de 2020** **Sec. I.  Pág. 382**\n\n\nrealizan en los centros de gestión que expidieron las correspondientes propuestas\nde reintegros y en las cajas pagadoras.\n\n41.1 En el subsistema de contabilidad patrimonial.\n\n\n41.1.1 En el centro de gestión que expidió la propuesta de reintegro. Por el\n\n\nimporte total íntegro del documento KRPG de referencia y de forma encadenada se\nrealizan los siguientes asientos con signo negativo:\n\na) Cargo, según proceda, a la subcuenta 40002 “Acreedores por obligaciones\n\n\nrec',
    ' Subsecre-\nOficina de Control de Aproximación y Torre de Con\xad taría de Aviación Civil.\n##### trol de Aeródromo de Tenerife-Norte. 5.2.6. Estación de Comunicaciones de la ENA.\n\nSegunda: Torres de Control de Aeródromo de Almería, 5.3. Tendrá consideración de periférico, dependiendo de\n##### Sevilla, Alicante, lbiza, Gerona, Menorca, Valencia, San\xad la Sección de Telecomunicaciones Aeronáuticas, el\ntiago, Bilbao, Zaragoza y Lanzarote. Centro de Retransmisión Automática de Madrid, con\nTercera: Torres de Control de Aeródromo de Asturias, nivel orgánico de Sección.\nCórdoba, Fuerteventura, Granada, Hierro, La Coruña, La Se estructurará en dos Negociados:\nPalma, Madrid-Cuatro Vientos, Melilla, Pampona,l Reus,\nSabadell, Santander, San Sebastián y Vigo. — Negociado de Comunicaciones Nacionales.\n\n— Negociado de Comunicaciones Internacionales.\n\nCuando en un aeropuerto existen simultáneamente ofici\xad\n##### na de Control de Aproximación y Torre de Control de 6. Jefaturas de Mantenimiento, enclavadas en los aeropuer\xad\nAeródromo, la Jefatura es conjunta. tos y Centros de Control en que presten servicio, depen\xad\nLas de categoría primera y segunda con nivel orgánico diendo orgánicamente de la Subdirecci',
]
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

Information Retrieval

Metric dim_1024 dim_768
cosine_accuracy@1 0.0875 0.0946
cosine_accuracy@3 0.7494 0.7329
cosine_accuracy@5 0.8227 0.8156
cosine_accuracy@10 0.8889 0.8889
cosine_precision@1 0.0875 0.0946
cosine_precision@3 0.2498 0.2443
cosine_precision@5 0.1645 0.1631
cosine_precision@10 0.0889 0.0889
cosine_recall@1 0.0875 0.0946
cosine_recall@3 0.7494 0.7329
cosine_recall@5 0.8227 0.8156
cosine_recall@10 0.8889 0.8889
cosine_ndcg@10 0.5558 0.5548
cosine_mrr@10 0.4428 0.442
cosine_map@100 0.4469 0.4462

Training Details

Training Dataset

boe-data-sintetic

  • Dataset: boe-data-sintetic at eccbec3
  • Size: 4,221 training samples
  • Columns: question and context
  • Approximate statistics based on the first 1000 samples:
    question context
    type string string
    details
    • min: 3 tokens
    • mean: 28.61 tokens
    • max: 65 tokens
    • min: 6 tokens
    • mean: 312.36 tokens
    • max: 837 tokens
  • Samples:
    question context
    ¿Cuál es el carácter de la Jornada Escolar sobre el día Universal del Niño? ica DE EDUCACION Y CIENCIA Segundo.—La Jornada Escolar sobre el día Universal del

    Niño, que se considerará lectiva a todos los efectos, tendrá
    carácter didáctico y conmemorativo y se celebrará con la parti­
    cipación de toda la comunidad escolar.

    ###### 18723 dificaORDENla dede 146 dede abriljulio desobre1982convalidaciónpor la que sedelmotí­­ Tercero —La Inspección de Educación Básica del Estado orien­
    tulo de Profesor de Educación Física por los co­ tará y supervisará la realización de las actividades que se
    rrespondientes a que hace referencia el artículo 5.º organicen de acuerdo con las instrucciones que señale la Direc­
    del Real Decreto 790/1981, de 24 de abril. ción General de Educación Básica.

    Cuarto.—La Constitución Española, la Declaración Universal

    Ilustrísimo señor:

    de los Derechos del Niño y los Pactos y Declaraciones Interna­

    La Orden ministerial de 6 de abril de 1982 («Boletín Oficial cionales ratificados por España c...
    ¿Cuál es el salario correspondiente al cargo de Oficial Administrativo de 2.ª? e Administrativo de 2.ª, Jefe de Negociado 2.ª
    ¿Qué cambio se realiza en la denominación de la partida presupuestaria en la Comunidad Autónoma de Andalucía y Extremadura en el anexo? ecir: K .. quedan afectados creditos,

    Arqueo bruto de los barcos destinados ...».

    Fecha Artículo 1.0 5, quinta y sexta líneas, donde dice: «... y 3.142,0
    de entradaen vigor deDuración la t5tancia o mferiorIgual ur Superiora 5.000 aSuperior 10.000 a Extremadura ...millones a Extremadura ... ). )), debe decir: «... y 3.142,0 millones de pesetas

    ## - a 3.000 TRB o ei
    f:or o eif~~r TRB En el anexo, Sección 21 -Ministerio de Agricultura, Pesca y
    a 5.000 TRB a IO.COO TRB Alimentación, Servicio/Organismo 109- Instituto Nacional de Reforma

    y Desarrollo Agrario. _

    ###### Períodos Comunidad Autónoma de Andalucía, donde dice: «89211090030

    comple~ Ordenación y transformación de regadíos», debe decir: «89211090040
    ###### tos de Ordenación y transformación de regadíos».
    1 enero veinti- Comunidad Autónoma de Extremadura, donde dice: «89211090030
    de 1990 cuatro Ordenación y transformación de regadíos~), debe decir: «89211090040
    horas o Ordenación y transformación de regadíos)).
    fracción
    sup...
  • Loss: MatryoshkaLoss with these parameters:
    {
        "loss": "MultipleNegativesRankingLoss",
        "matryoshka_dims": [
            1024,
            768
        ],
        "matryoshka_weights": [
            1,
            1
        ],
        "n_dims_per_step": -1
    }
    

Evaluation Dataset

boe-data-sintetic

  • Dataset: boe-data-sintetic at eccbec3
  • Size: 4,221 evaluation samples
  • Columns: question and context
  • Approximate statistics based on the first 1000 samples:
    question context
    type string string
    details
    • min: 3 tokens
    • mean: 27.84 tokens
    • max: 61 tokens
    • min: 31 tokens
    • mean: 325.91 tokens
    • max: 932 tokens
  • Samples:
    question context
    ¿Cuál es el motivo por el que el Gobierno del Reino de España considera que la Declaración del Gobierno de la República Islámica de Pakistán es incompatible con el objeto y el fin del Pacto? stado constituye una reserva.
    El Gobierno del Reino de España considera que la
    Declaración del Gobierno de la República Islámica de
    Pakistán mediante la cual subordina la aplicación de las
    disposiciones del Pacto a las disposiciones de la constitución de la República Islámica de Pakistán constituye una
    reserva que pretende limitar los efectos jurídicos del
    Pacto en su aplicación a la República Islámica de Pakistán.
    Una reserva que contiene una referencia general al derecho interno, sin precisar su contenido, no permite determinar con claridad en qué medida la República Islámica
    de Pakistán ha aceptado las obligaciones derivadas del
    Pacto y, en consecuencia, suscita dudas sobre el compromiso de la República Islámica de Pakistán con el objeto y
    el fin del Pacto .
    El Gobierno del Reino de España considera que la
    Declaración del Gobierno de la República islámica de
    Pakistán mediante la cual subordina las obligaciones derivadas del Pacto Internacional de Derechos Económicos,
    Sociales y Cult...
    ¿Qué Plan de Reestructuración se aprobó por Decreto seiscientos noventa y cuatro/mil novecientos setenta y cinco, de Tres de abril? ro, y el apartado b) de este mismo
    cuotas específicas de carácter social ya establecidas puedan punto, artículo y Decreto, modificado por el Decreto tres mil
    ser recaudadas en periodo ejecutivo por la vía administrativa cuarenta y nueve/mil novecientos setenta y uno, de veinticinco
    de apremio, habida cuenta, por lo demás, del precedente exis­ de noviembre, por los que se desarrolla la Ley setenta y ocho/
    tente en favor del Plan de Reestructuración de la Industria mil novecientos sesenta y ocho, de cinco de diciembre, queda­
    Textil Lanera, aprobado por Decreto seiscientos noventa y cua­ rán redactados en la forma siguiente:
    tro/mil novecientos setenta y cinco, de Tres de abril.

    «Artículo dieciocho.—Dos. a) En los empleos de Capitán de

    En su virtud, a propuesta de los Ministros de Hacienda, Tra­

    Navio y asimilados comprenderá a todos los cumplidos de con­

    bajo e Industria, con el informe favorable de las Comisiones

    diciones generales y específicas. Caso de que este número no

    Gestor...
    ¿Cuál es la modalidad de pesca asignada a los buques censados en las modalidades mencionadas en el texto? a Pérez. FE-2-2810 Camariñas Palangre de fondo.
    E: Lnngitud 44~ 8' N~ latitud 8" 28' W. Nuevo Balbino. FE-2-2677 Finisterre _ Palangre de fondo.
    F: Longitud 44' 8' N, latitud 8' 37' W. Nuevo Hermanos
    G: Longitud 44" S' N, latitud 8" 37' W. Casina. FE-2-2954 Burela. Volanta.
    H: Longitud 44' 5' N, latitud 8' 48' W. Nuevo Hermanos

    Fraga. FE-2-2731 Burela. Volanta.

    - Ql;leda reservada en forma exclusiva para el ejercicio de la pesca con Nuevo Jaime Balmes ST-3-1718 Cedeira. Volanta.
    aparejos de palangre de fondo y artes de enmalle fijo de fondo, para Nuevo José Antonio. FE-3-1740 Cedeira. Volanta.
    ##### . buques censados en las citadas modalidades y con base oficialmente Nuevo Lozano. r Cü-3-1519 Cedeira. Volanta.


    -----

    10784 Martes 31 marzo 1992 BüE núm. 78 .,.

  • Loss: MatryoshkaLoss with these parameters:
    {
        "loss": "MultipleNegativesRankingLoss",
        "matryoshka_dims": [
            1024,
            768
        ],
        "matryoshka_weights": [
            1,
            1
        ],
        "n_dims_per_step": -1
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • per_device_train_batch_size: 32
  • per_device_eval_batch_size: 32
  • gradient_accumulation_steps: 8
  • learning_rate: 3e-05
  • weight_decay: 0.01
  • num_train_epochs: 12
  • lr_scheduler_type: cosine
  • warmup_ratio: 0.15
  • bf16: True
  • tf32: True
  • dataloader_num_workers: 4
  • load_best_model_at_end: True
  • optim: adamw_torch_fused
  • gradient_checkpointing: 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: 32
  • per_device_eval_batch_size: 32
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: None
  • gradient_accumulation_steps: 8
  • eval_accumulation_steps: None
  • torch_empty_cache_steps: None
  • learning_rate: 3e-05
  • weight_decay: 0.01
  • 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.15
  • 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: True
  • fp16: False
  • 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: 4
  • 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: False
  • hub_always_push: False
  • gradient_checkpointing: True
  • 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
  • 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
  • use_liger_kernel: False
  • 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 dim_1024_cosine_ndcg@10 dim_768_cosine_ndcg@10
0.6723 10 0.987 - - -
1.3529 20 0.452 - - -
2.0336 30 0.2283 - - -
2.7059 40 0.0941 - - -
3.3866 50 0.0624 0.1497 0.5937 0.5904
4.0672 60 0.0381 - - -
4.7395 70 0.0235 - - -
5.4202 80 0.0204 - - -
6.1008 90 0.0171 - - -
6.7731 100 0.0085 0.1949 0.5714 0.5642
7.4538 110 0.0107 - - -
8.1345 120 0.0087 - - -
8.8067 130 0.0049 - - -
9.4874 140 0.0073 - - -
10.1681 150 0.0074 0.2107 0.5558 0.5548
10.8403 160 0.0047 - - -
  • The bold row denotes the saved checkpoint.

Framework Versions

  • Python: 3.10.14
  • Sentence Transformers: 3.3.0
  • Transformers: 4.46.2
  • PyTorch: 2.2.2
  • Accelerate: 1.1.1
  • Datasets: 3.1.0
  • Tokenizers: 0.20.3

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

MatryoshkaLoss

@misc{kusupati2024matryoshka,
    title={Matryoshka Representation Learning},
    author={Aditya Kusupati and Gantavya Bhatt and Aniket Rege and Matthew Wallingford and Aditya Sinha and Vivek Ramanujan and William Howard-Snyder and Kaifeng Chen and Sham Kakade and Prateek Jain and Ali Farhadi},
    year={2024},
    eprint={2205.13147},
    archivePrefix={arXiv},
    primaryClass={cs.LG}
}

MultipleNegativesRankingLoss

@misc{henderson2017efficient,
    title={Efficient Natural Language Response Suggestion for Smart Reply},
    author={Matthew Henderson and Rami Al-Rfou and Brian Strope and Yun-hsuan Sung and Laszlo Lukacs and Ruiqi Guo and Sanjiv Kumar and Balint Miklos and Ray Kurzweil},
    year={2017},
    eprint={1705.00652},
    archivePrefix={arXiv},
    primaryClass={cs.CL}
}
Downloads last month
11
Safetensors
Model size
568M 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 pablosi/bge-m3-retrained

Base model

BAAI/bge-m3
Finetuned
(130)
this model

Dataset used to train pablosi/bge-m3-retrained

Evaluation results