embed-andegpt-H384 / README.md
enpaiva's picture
Add new SentenceTransformer model.
533d03a verified
---
language:
- es
license: apache-2.0
library_name: sentence-transformers
tags:
- sentence-transformers
- sentence-similarity
- feature-extraction
- generated_from_trainer
- dataset_size:74124
- loss:MultipleNegativesRankingLoss
base_model: nreimers/MiniLM-L6-H384-uncased
datasets: []
metrics:
- cosine_accuracy
- dot_accuracy
- manhattan_accuracy
- euclidean_accuracy
- max_accuracy
widget:
- source_sentence: Enumere los tres casos en los que se aplican las prescripciones
del artículo 40.1.1.
sentences:
- 'Reglamento de Baja Tensión de la ANDE: El 39.1.1 trata sobre: Estas prescripciones
se aplican a todos los aparatos domésticos y de iluminación de cualquier tipo,
forma y tamaño, siempre que: a) La instalación eléctrica de la residencia se
halle capacitada para servirlos. b) Se respeten las demás prescripciones de este
Reglamento que le sean aplicables.. El 39.1.1 pertenece a la sección: <section>39.1</section>'
- 'Reglamento de Baja Tensión de la ANDE: El 14.3.1 trata sobre: Circuitos trifásicos
son aquellos que emplean las tres fases de la energía que provee la ANDE, con
interruptor y protección adecuados en el tablero de arranque y se emplean en líneas
distribuidoras de fuerza motriz, calefacción, refrigeración y similares, comprendiendo
incluso aparatos monofásicos, sin limitaciones de carga, siempre que: a) Se realice
el equilibrio de cargas de los equipos monofásicos. b) Se atienda correctamente
a 13.4.2. c) Que ninguna de las cargas trifásicas individuales sea igual o superior
a 15 A nominales en el caso de motores, o 20 A si son equipos de calefacción o
similares. d) Se use un circuito trifásico independiente por cada motor de 15
A nominales o más. e) Se use un circuito trifásico independiente por cada equipo
de calefacción o similar de 20 A o más.. El 14.3.1 pertenece a la sección: <section>14.3</section>'
- 'Reglamento de Baja Tensión de la ANDE: El 40.1.1 trata sobre: Sin perjuicio de
las demás disposiciones de este Reglamento, estas prescripciones se aplican para:
a) Conexiones entre las instalaciones fijas y los aparatos portátiles, o que deban
ser desplazadas con alguna frecuencia. b) Conexiones de las partes móviles de
aparatos y máquinas fijas. c) Conexiones de aparatos de iluminación, colgantes,
etc. con la observación del numeral 39. 40.2 Tipos de conductores:. El 40.1.1
pertenece a la sección: <section>40.1</section>'
- source_sentence: ¿Hasta dónde llega la conexión eléctrica según el punto 11.1.1
del reglamento de baja tensión de la ANDE?
sentences:
- 'Reglamento de Baja Tensión de la ANDE: El 11.5.3 trata sobre: Los conductores,
equipo eléctrico auxiliar y la mano de obra para el servicio y entrada subterránea,
serán aportados por la ANDE, y abonados por el usuario, quedando de propiedad
de la ANDE, la que, en consecuencia, tendrá a su cargo su conservación y buen
servicio.. El 11.5.3 pertenece a la sección: <section>11.5</section>'
- 'Reglamento de Baja Tensión de la ANDE: El 11.1.1 trata sobre: Servicio es la
conexión eléctrica desde el punto de toma de energía de la red, hasta la parte
externa de la propiedad del usuario, sobre la calle, en el punto escogido para
la entrada de energía.. El 11.1.1 pertenece a la sección: <section>11.1</section>'
- 'Reglamento de Baja Tensión de la ANDE: El 22.2.3 trata sobre: En los sistemas
de distribución sin neutro, la conexión a tierra de equipos es obligatoria (22.1.2).
En los sistemas de distribución con neutro, la red de interconexión de tierra
de los equipos quedará substituida por el conductor neutro, que hará sus veces,
debiendo conectarse a él todas las partes que normalmente irían conectadas a la
red de conexión de tierra de equipos.. El 22.2.3 pertenece a la sección: <section>22.2</section>'
- source_sentence: ¿Cuál es el propósito de los grupos mencionados en el reglamento
de baja tensión de la ANDE?
sentences:
- 'Reglamento de Baja Tensión de la ANDE: El 6.1 trata sobre: En todos los planos
de instalaciones eléctricas deberá usarse la simbología indicada en el Anexo N°
2.. El 6.1 pertenece a la sección: <section>6-</section>'
- 'Reglamento de Baja Tensión de la ANDE: El 25- trata sobre Instalación en tubos
flexibles: y tiene las siguientes sub-secciones: <sub-section>25.1</sub-section>,
<sub-section>25.2</sub-section>'
- 'Reglamento de Baja Tensión de la ANDE: El 42.3.1 trata sobre: Estos grupos se
utilizarán para proveer energía eléctrica complementaria a la que se toma de la
red de distribución de ANDE y, exclusivamente, a las instalaciones del usuario..
El 42.3.1 pertenece a la sección: <section>42.3</section>'
- source_sentence: ¿Cuántas redes independientes debe comprender la instalación de
iluminación de cines, teatros y locales semejantes?
sentences:
- 'Reglamento de Baja Tensión de la ANDE: El 41.5.2 trata sobre: La instalación
de iluminación de cines, teatros y locales semejantes deberá comprender las siguientes
redes independientes: a) Iluminación del edificio propiamente dicho (oficinas,
pasillos, taquilla, baños, entradas y salidas, guardarropas, camarines, etc.). b)
Iluminación del escenario. c) Iluminación del local ocupado por las personas (plateas,
palcos, balcones, así como para circulación de las personas durante la realización
del programa con luces generales apagadas). d) Iluminación de emergencia.. El
41.5.2 pertenece a la sección: <section>41.5</section>'
- 'Reglamento de Baja Tensión de la ANDE: El 33.3.2 trata sobre: Los cables, aunque
del tipo adecuado, no podrán ser enterrados en el suelo en el interior de edificios,
salvo que se trate de áreas industriales. La profundidad de instalación no deberá
ser inferior a 60 cm, debiendo llevar el cable en toda su extensión, una capa
de arena, y encima de la misma una línea continua de ladrillos simplemente apoyados
(no unidos con argamasa), cuya función fundamental es denunciar la presencia del
cable, además de brindar una pequeña protección mecánica adicional.. El 33.3.2
pertenece a la sección: <section>33.3</section>'
- 'Reglamento de Baja Tensión de la ANDE: El 12.1.2 trata sobre: Los tableros se
instalarán en lugares secos y de fácil acceso y, si es posible, en lugares expresamente
reservados, ventilados e iluminados.. El 12.1.2 pertenece a la sección: <section>12.1</section>'
- source_sentence: ¿Cuál es el nombre del reglamento que se menciona en la información
proporcionada?
sentences:
- 'Reglamento de Baja Tensión de la ANDE: El 22.1.2 trata sobre: Se entiende “tierra
de equipos”, la conexión a tierra de las partes metálicas de la instalación o
de los aparatos que no transportan corriente, tales como: tubos de metal, blindajes
metálicos de los cables, cajas de conexión y/o derivación, estructuras de tableros
o cuadros, cajas de interruptores, bastidores de máquinas y, en general, cualquier
parte metálica relacionada con la instalación eléctrica y no destinada a la conducción
de corriente.. El 22.1.2 pertenece a la sección: <section>22.1</section>'
- 'Reglamento de Baja Tensión de la ANDE: El 10- trata sobre Partes de que se compone
una instalación eléctrica: y tiene las siguientes sub-secciones: <sub-section>10.1</sub-section>'
- 'Reglamento de Baja Tensión de la ANDE: El 37- trata sobre Soldadura eléctrica:
y tiene las siguientes sub-secciones: <sub-section>37.1</sub-section>, <sub-section>37.2</sub-section>,
<sub-section>37.3</sub-section>, <sub-section>37.4</sub-section>'
pipeline_tag: sentence-similarity
model-index:
- name: embed-andegpt-H384
results:
- task:
type: triplet
name: Triplet
dataset:
name: andegpt dev
type: andegpt-dev
metrics:
- type: cosine_accuracy
value: 0.998300145701797
name: Cosine Accuracy
- type: dot_accuracy
value: 0.002185526954832443
name: Dot Accuracy
- type: manhattan_accuracy
value: 0.9985429820301117
name: Manhattan Accuracy
- type: euclidean_accuracy
value: 0.998300145701797
name: Euclidean Accuracy
- type: max_accuracy
value: 0.9985429820301117
name: Max Accuracy
- task:
type: triplet
name: Triplet
dataset:
name: andegpt test
type: andegpt-test
metrics:
- type: cosine_accuracy
value: 0.9973288003885381
name: Cosine Accuracy
- type: dot_accuracy
value: 0.0024283632831471587
name: Dot Accuracy
- type: manhattan_accuracy
value: 0.9970859640602234
name: Manhattan Accuracy
- type: euclidean_accuracy
value: 0.9973288003885381
name: Euclidean Accuracy
- type: max_accuracy
value: 0.9973288003885381
name: Max Accuracy
---
# embed-andegpt-H384
This is a [sentence-transformers](https://www.SBERT.net) model finetuned from [nreimers/MiniLM-L6-H384-uncased](https://huggingface.co/nreimers/MiniLM-L6-H384-uncased). 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:** [nreimers/MiniLM-L6-H384-uncased](https://huggingface.co/nreimers/MiniLM-L6-H384-uncased) <!-- at revision 3276f0fac9d818781d7a1327b3ff818fc4e643c0 -->
- **Maximum Sequence Length:** 512 tokens
- **Output Dimensionality:** 384 tokens
- **Similarity Function:** Cosine Similarity
<!-- - **Training Dataset:** Unknown -->
- **Language:** es
- **License:** apache-2.0
### Model Sources
- **Documentation:** [Sentence Transformers Documentation](https://sbert.net)
- **Repository:** [Sentence Transformers on GitHub](https://github.com/UKPLab/sentence-transformers)
- **Hugging Face:** [Sentence Transformers on Hugging Face](https://huggingface.co/models?library=sentence-transformers)
### 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})
)
```
## 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("enpaiva/embed-andegpt-H384")
# Run inference
sentences = [
'¿Cuál es el nombre del reglamento que se menciona en la información proporcionada?',
'Reglamento de Baja Tensión de la ANDE: El 10- trata sobre Partes de que se compone una instalación eléctrica: y tiene las siguientes sub-secciones: <sub-section>10.1</sub-section>',
'Reglamento de Baja Tensión de la ANDE: El 37- trata sobre Soldadura eléctrica: y tiene las siguientes sub-secciones: <sub-section>37.1</sub-section>, <sub-section>37.2</sub-section>, <sub-section>37.3</sub-section>, <sub-section>37.4</sub-section>',
]
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]
```
<!--
### 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
#### Triplet
* Dataset: `andegpt-dev`
* Evaluated with [<code>TripletEvaluator</code>](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.TripletEvaluator)
| Metric | Value |
|:-------------------|:-----------|
| cosine_accuracy | 0.9983 |
| dot_accuracy | 0.0022 |
| manhattan_accuracy | 0.9985 |
| euclidean_accuracy | 0.9983 |
| **max_accuracy** | **0.9985** |
#### Triplet
* Dataset: `andegpt-test`
* Evaluated with [<code>TripletEvaluator</code>](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.TripletEvaluator)
| Metric | Value |
|:-------------------|:-----------|
| cosine_accuracy | 0.9973 |
| dot_accuracy | 0.0024 |
| manhattan_accuracy | 0.9971 |
| euclidean_accuracy | 0.9973 |
| **max_accuracy** | **0.9973** |
<!--
## 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 Hyperparameters
#### Non-Default Hyperparameters
- `prediction_loss_only`: False
- `per_device_train_batch_size`: 32
- `learning_rate`: 2e-05
- `lr_scheduler_type`: cosine
- `log_level_replica`: passive
- `log_on_each_node`: False
- `logging_nan_inf_filter`: False
- `bf16`: True
- `batch_sampler`: no_duplicates
#### All Hyperparameters
<details><summary>Click to expand</summary>
- `overwrite_output_dir`: False
- `do_predict`: False
- `prediction_loss_only`: False
- `per_device_train_batch_size`: 32
- `per_device_eval_batch_size`: 8
- `per_gpu_train_batch_size`: None
- `per_gpu_eval_batch_size`: None
- `gradient_accumulation_steps`: 1
- `eval_accumulation_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`: 3
- `max_steps`: -1
- `lr_scheduler_type`: cosine
- `lr_scheduler_kwargs`: {}
- `warmup_ratio`: 0
- `warmup_steps`: 0
- `log_level`: passive
- `log_level_replica`: passive
- `log_on_each_node`: False
- `logging_nan_inf_filter`: False
- `save_safetensors`: True
- `save_on_each_node`: False
- `save_only_model`: 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`: 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}
- `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
- `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_sampler`: no_duplicates
- `multi_dataset_batch_sampler`: proportional
</details>
### Training Logs
| Epoch | Step | Training Loss | loss | andegpt-dev_max_accuracy | andegpt-test_max_accuracy |
|:------:|:----:|:-------------:|:------:|:------------------------:|:-------------------------:|
| 0 | 0 | - | - | 0.5920 | - |
| 0.1079 | 250 | 2.3094 | 0.7200 | 0.9597 | - |
| 0.2158 | 500 | 0.7952 | 0.3598 | 0.9813 | - |
| 0.3237 | 750 | 0.4862 | 0.2162 | 0.9910 | - |
| 0.4316 | 1000 | 0.3304 | 0.1558 | 0.9927 | - |
| 0.5395 | 1250 | 0.2527 | 0.1140 | 0.9961 | - |
| 0.6474 | 1500 | 0.1987 | 0.0859 | 0.9964 | - |
| 0.7553 | 1750 | 0.1617 | 0.0729 | 0.9959 | - |
| 0.8632 | 2000 | 0.1419 | 0.0562 | 0.9966 | - |
| 0.9711 | 2250 | 0.1132 | 0.0495 | 0.9968 | - |
| 1.0790 | 2500 | 0.1043 | 0.0429 | 0.9971 | - |
| 1.1869 | 2750 | 0.0947 | 0.0368 | 0.9978 | - |
| 1.2948 | 3000 | 0.0736 | 0.0367 | 0.9976 | - |
| 1.4027 | 3250 | 0.0661 | 0.0296 | 0.9978 | - |
| 1.5106 | 3500 | 0.0613 | 0.0279 | 0.9985 | - |
| 1.6185 | 3750 | 0.0607 | 0.0264 | 0.9983 | - |
| 1.7264 | 4000 | 0.0521 | 0.0238 | 0.9985 | - |
| 1.8343 | 4250 | 0.0495 | 0.0216 | 0.9985 | - |
| 1.9422 | 4500 | 0.0425 | 0.0211 | 0.9983 | - |
| 2.0501 | 4750 | 0.0428 | 0.0200 | 0.9983 | - |
| 2.1580 | 5000 | 0.0435 | 0.0190 | 0.9985 | - |
| 2.2659 | 5250 | 0.0393 | 0.0188 | 0.9983 | - |
| 2.3738 | 5500 | 0.0356 | 0.0182 | 0.9983 | - |
| 2.4817 | 5750 | 0.0351 | 0.0180 | 0.9988 | - |
| 2.5896 | 6000 | 0.0394 | 0.0181 | 0.9985 | - |
| 2.5973 | 6018 | - | - | - | 0.9973 |
### Framework Versions
- Python: 3.11.0
- Sentence Transformers: 3.0.1
- Transformers: 4.39.3
- PyTorch: 2.2.0+cu121
- Accelerate: 0.28.0
- Datasets: 2.20.0
- Tokenizers: 0.15.2
## 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",
}
```
#### 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.*
-->