CoolFace
Modelpublic

pablosi/bge-m3-retrained

sourceHugging Faceapache-2.0updated 2y agoView on Hugging Face
0likes82downloads
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 <!-- at revision 5617a9f61b028005a4858fdac845db406aefb181 -->
  • —Maximum Sequence Length: 8192 tokens
  • —Output Dimensionality: 1024 dimensions
  • —Similarity Function: Cosine Similarity
  • —Training Dataset:
  • —boe-data-sintetic
  • —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:

bash
pip install -U sentence-transformers

Then you can load this model and run inference.

python
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]

<!--

Direct Usage (Transformers)

<details><summary>Click to see the direct usage in Transformers</summary>

</details> -->

<!--

Downstream Usage (Sentence Transformers)

You can finetune this model on your own dataset.

<details><summary>Click to expand</summary>

</details> -->

<!--

Out-of-Scope Use

List how the model may foreseeably be misused and address what users ought not to do with the model. -->

Evaluation

Metrics

Information Retrieval
Metricdim_1024dim_768
cosine_accuracy@10.08750.0946
cosine_accuracy@30.74940.7329
cosine_accuracy@50.82270.8156
cosine_accuracy@100.88890.8889
cosine_precision@10.08750.0946
cosine_precision@30.24980.2443
cosine_precision@50.16450.1631
cosine_precision@100.08890.0889
cosine_recall@10.08750.0946
cosine_recall@30.74940.7329
cosine_recall@50.82270.8156
cosine_recall@100.88890.8889
cosine_ndcg@100.55580.5548
cosine_mrr@100.44280.442
cosine_map@1000.44690.4462

<!--

Bias, Risks and Limitations

What are the known or foreseeable issues stemming from this model? You could also flag here known failure cases or weaknesses of the model. -->

<!--

Recommendations

What are recommendations with respect to the foreseeable issues? For example, filtering explicit content. -->

Training Details

Training Dataset

boe-data-sintetic
  • —Dataset: boe-data-sintetic at eccbec3
  • —Size: 4,221 training samples
  • —Columns: <code>question</code> and <code>context</code>
  • —Approximate statistics based on the first 1000 samples: | | question | context | |:--------|:----------------------------------------------------------------------------------|:------------------------------------------------------------------------------------| | type | string | string | | details | <ul><li>min: 3 tokens</li><li>mean: 28.61 tokens</li><li>max: 65 tokens</li></ul> | <ul><li>min: 6 tokens</li><li>mean: 312.36 tokens</li><li>max: 837 tokens</li></ul> |
  • —Samples: | question | context | |:-----------------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | <code>¿Cuál es el carácter de la Jornada Escolar sobre el día Universal del Niño?</code> | <code>ica DE EDUCACION Y CIENCIA Segundo.—La Jornada Escolar sobre el día Universal del<br><br>Niño, que se considerará lectiva a todos los efectos, tendrá<br>carácter didáctico y conmemorativo y se celebrará con la parti­<br>cipación de toda la comunidad escolar.<br><br>###### 18723 dificaORDENla dede 146 dede abriljulio desobre1982convalidaciónpor la que sedelmotí­­ Tercero —La Inspección de Educación Básica del Estado orien­<br>tulo de Profesor de Educación Física por los co­ tará y supervisará la realización de las actividades que se<br>rrespondientes a que hace referencia el artículo 5.º organicen de acuerdo con las instrucciones que señale la Direc­<br>del Real Decreto 790/1981, de 24 de abril. ción General de Educación Básica.<br><br>Cuarto.—La Constitución Española, la Declaración Universal<br><br>Ilustrísimo señor:<br><br>de los Derechos del Niño y los Pactos y Declaraciones Interna­<br><br>La Orden ministerial de 6 de abril de 1982 («Boletín Oficial cionales ratificados por España c...</code> | | <code>¿Cuál es el salario correspondiente al cargo de Oficial Administrativo de 2.ª?</code> | <code>e Administrativo de 2.ª, Jefe de Negociado 2.ª|133,45|<br>|Oficial Administrativo de 1.ª|133,43|<br>|Oficial Administrativo de 2.ª|133,43|<br>|Programador.|131,05|<br><br><br>-----<br><br></code> | | <code>¿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?</code> | <code>ecir: K .. quedan afectados creditos,<br><br>Arqueo bruto de los barcos destinados ...».<br><br>Fecha Artículo 1.0 5, quinta y sexta líneas, donde dice: «... y 3.142,0<br>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<br><br>## - a 3.000 TRB o ei~f:~or o ei~f~~r TRB En el anexo, Sección 21 -Ministerio de Agricultura, Pesca y<br>a 5.000 TRB a IO.COO TRB Alimentación, Servicio/Organismo 109- Instituto Nacional de Reforma<br><br>y Desarrollo Agrario. _<br><br>###### Períodos Comunidad Autónoma de Andalucía, donde dice: «89211090030<br><br>comple~ Ordenación y transformación de regadíos», debe decir: «89211090040<br>###### tos de Ordenación y transformación de regadíos».<br>1 enero veinti- Comunidad Autónoma de Extremadura, donde dice: «89211090030<br>de 1990 cuatro Ordenación y transformación de regadíos~), debe decir: «89211090040<br>horas o Ordenación y transformación de regadíos)).<br>fracción<br>sup...</code> |
  • —Loss: <code>MatryoshkaLoss</code> with these parameters:
json
  {
      "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: <code>question</code> and <code>context</code>
  • —Approximate statistics based on the first 1000 samples: | | question | context | |:--------|:----------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------| | type | string | string | | details | <ul><li>min: 3 tokens</li><li>mean: 27.84 tokens</li><li>max: 61 tokens</li></ul> | <ul><li>min: 31 tokens</li><li>mean: 325.91 tokens</li><li>max: 932 tokens</li></ul> |
  • —Samples: | question | context | |:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | <code>¿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?</code> | <code>stado constituye una reserva.<br>El Gobierno del Reino de España considera que la<br>Declaración del Gobierno de la República Islámica de<br>Pakistán mediante la cual subordina la aplicación de las<br>disposiciones del Pacto a las disposiciones de la constitución de la República Islámica de Pakistán constituye una<br>reserva que pretende limitar los efectos jurídicos del<br>Pacto en su aplicación a la República Islámica de Pakistán.<br>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<br>de Pakistán ha aceptado las obligaciones derivadas del<br>Pacto y, en consecuencia, suscita dudas sobre el compromiso de la República Islámica de Pakistán con el objeto y<br>el fin del Pacto .<br>El Gobierno del Reino de España considera que la<br>Declaración del Gobierno de la República islámica de<br>Pakistán mediante la cual subordina las obligaciones derivadas del Pacto Internacional de Derechos Económicos,<br>Sociales y Cult...</code> | | <code>¿Qué Plan de Reestructuración se aprobó por Decreto seiscientos noventa y cuatro/mil novecientos setenta y cinco, de Tres de abril?</code> | <code>ro, y el apartado b) de este mismo<br>cuotas específicas de carácter social ya establecidas puedan punto, artículo y Decreto, modificado por el Decreto tres mil<br>ser recaudadas en periodo ejecutivo por la vía administrativa cuarenta y nueve/mil novecientos setenta y uno, de veinticinco<br>de apremio, habida cuenta, por lo demás, del precedente exis­ de noviembre, por los que se desarrolla la Ley setenta y ocho/<br>tente en favor del Plan de Reestructuración de la Industria mil novecientos sesenta y ocho, de cinco de diciembre, queda­<br>Textil Lanera, aprobado por Decreto seiscientos noventa y cua­ rán redactados en la forma siguiente:<br>tro/mil novecientos setenta y cinco, de Tres de abril.<br><br>«Artículo dieciocho.—Dos. a) En los empleos de Capitán de<br><br>En su virtud, a propuesta de los Ministros de Hacienda, Tra­<br><br>Navio y asimilados comprenderá a todos los cumplidos de con­<br><br>bajo e Industria, con el informe favorable de las Comisiones<br><br>diciones generales y específicas. Caso de que este número no<br><br>Gestor...</code> | | <code>¿Cuál es la modalidad de pesca asignada a los buques censados en las modalidades mencionadas en el texto?</code> | <code>a Pérez. FE-2-2810 Camariñas Palangre de fondo.<br>E: Lnngitud 44~ 8' N~ latitud 8" 28' W. Nuevo Balbino. FE-2-2677 Finisterre _ Palangre de fondo.<br>F: Longitud 44' 8' N, latitud 8' 37' W. Nuevo Hermanos<br>G: Longitud 44" S' N, latitud 8" 37' W. Casina. FE-2-2954 Burela. Volanta.<br>H: Longitud 44' 5' N, latitud 8' 48' W. Nuevo Hermanos<br><br>Fraga. FE-2-2731 Burela. Volanta.<br><br> - Ql;leda reservada en forma exclusiva para el ejercicio de la pesca con Nuevo Jaime Balmes ST-3-1718 Cedeira. Volanta.<br>aparejos de palangre de fondo y artes de enmalle fijo de fondo, para Nuevo José Antonio. FE-3-1740 Cedeira. Volanta.<br>##### . buques censados en las citadas modalidades y con base oficialmente Nuevo Lozano. r Cü-3-1519 Cedeira. Volanta.<br><br><br>-----<br><br>10784 Martes 31 marzo 1992 BüE núm. 78 .,.<br><br>|Nombre dd buque|Matricula|Puerto base:|Modalidad|<br>|---|---|---|---|<br>|Vamos Indo 5. Vigo Blanco. Vulcano 11.|CQ..7-3447 CO-4-1754 Cü-4-1425|Camelle. Muxia. Camariñas|Palangre de fondo. Palangre de fondo. Palangre de fondo....</code> |
  • —Loss: <code>MatryoshkaLoss</code> with these parameters:
json
  {
      "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: adamwtorchfused
  • —gradient_checkpointing: True
  • —batch_sampler: no_duplicates
All Hyperparameters

<details><summary>Click to expand</summary>

  • —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: {'minnumparams': 0, 'xla': False, 'xlafsdpv2': False, 'xlafsdpgrad_ckpt': False}
  • —fsdp_transformer_layer_cls_to_wrap: None
  • —accelerator_config: {'splitbatches': False, 'dispatchbatches': None, 'evenbatches': True, 'useseedablesampler': True, 'nonblocking': False, 'gradientaccumulationkwargs': None}
  • —deepspeed: None
  • —label_smoothing_factor: 0.0
  • —optim: adamwtorchfused
  • —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

</details>

Training Logs

EpochStepTraining LossValidation Lossdim_1024_cosine_ndcg@10dim_768_cosine_ndcg@10
0.6723100.987---
1.3529200.452---
2.0336300.2283---
2.7059400.0941---
3.3866500.06240.14970.59370.5904
4.0672600.0381---
4.7395700.0235---
5.4202800.0204---
6.1008900.0171---
6.77311000.00850.19490.57140.5642
7.45381100.0107---
8.13451200.0087---
8.80671300.0049---
9.48741400.0073---
10.16811500.00740.21070.55580.5548
10.84031600.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
bibtex
@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
bibtex
@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
bibtex
@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}
}

<!--

Glossary

Clearly define terms in order to be accessible across audiences. -->

<!--

Model Card Authors

Lists the people who create the model card, providing recognition and accountability for the detailed work that goes into its construction. -->

<!--

Model Card Contact

Provides a way for people who have updates to the Model Card, suggestions, or questions, to contact the Model Card authors. -->