embed-andegpt-H384 / README.md
enpaiva's picture
Add new SentenceTransformer model.
533d03a verified
metadata
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 model finetuned from 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
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 384 tokens
  • Similarity Function: Cosine Similarity
  • Language: es
  • License: apache-2.0

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})
)

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("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]

Evaluation

Metrics

Triplet

Metric Value
cosine_accuracy 0.9983
dot_accuracy 0.0022
manhattan_accuracy 0.9985
euclidean_accuracy 0.9983
max_accuracy 0.9985

Triplet

Metric Value
cosine_accuracy 0.9973
dot_accuracy 0.0024
manhattan_accuracy 0.9971
euclidean_accuracy 0.9973
max_accuracy 0.9973

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

Click to expand
  • 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

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

@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

@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}
}