Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper • 1908.10084 • Published • 13
How to use GbrlOl/fine-tune_utilizando_la_MNRL with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("GbrlOl/fine-tune_utilizando_la_MNRL")
sentences = [
"¿Cuál es la longitud del Canal de Derivación Superior?",
"Esto podría incluir material afectado por Steam Heated \no suelos asociados a depósitos cuaternarios. Para evitar problemas de inestabilidad, estos \nmateriales de baja calidad no deben ser depositados : ni al pie del botadero Sur; ni al fondo de la \ncuenca en donde se emplazará el botadero Sur (donde hay mayor espesor de materiales aluviales \ny piroclásticos); ni bajo el área donde estará emplazado el depósito de relaves filtrados.",
"26 \n \n \n85/11382/13328 Proyecto de Cierre Tranque de Relave N°4 Planta Cabildo, Región de Valparaíso \nPlan de Cierre \n7.2.9 Habilitación de Evacuador de Emergencia. \nDescrito ampliamente en el ítem 7.2.4.1. \n7.2.10 Cercado de las Torres Colectoras. \nPara la operación del Tranque de Relave N°4, se consideraron 6 cámaras colectoras de agua clara, unidas \npor tuberías HDPE. Se prevé sellar completamente las cámaras, a través de rellenos realizados con grava, \ncon arena y con relave. Posteriormente a dicho sello se demuele la porción que sobresale de las lamas \nevitándose los promontorios. \nPara que los rellenos queden estables y se elimine toda posibilidad de que haya migración de lamas o de \nlos rellenos, a través de la tubería, el sello de la cámara se realizará con los siguientes materiales y \nsecuencia constructiva: \n Se coloca una primera capa, de a lo menos un metro de altura, sobre el fondo de la cámara, con \nsobretamaño, superior a 6\". \n Inmediatamente después se realiza un relleno de grava arenosa con contenido de grava superior al \n50% y arena superior al 30%. Dicha capa debe presentar a lo menos una altura de un metro. \n Posteriormente, sobre la grava, se realiza un relleno con arena de relaves (proveniente del muro), \ntambién con una dimensión mínima de un metro. \n Finalmente se realiza un relleno con lamas (secas o con baja humedad) hasta el nivel de lamas \nexistentes en la cubeta. \n Todos los rellenos se colocan sin compactar.",
"Plan de Cierre - Faena Minera Salares Norte | 122 \n \n \nFuente: SRK \nFigura 8-37: Sistema de Manejo de Aguas de No Contacto \n \n Características \nA continuación, se presentan las características de las obras asociadas al sistema de manejo de aguas de no contacto. \n Canal de Derivación Superior \nEl Canal de Derivación Superior recibirá la escorrentía proveniente de la quebrada N ° 1 y su afluente (Quebrada 1 -\n1) a aproximadamente 4.588 m.s.n.m. y conduciéndolo a través de su trazado hasta la quebrada Anaranjada, \ndescargando a través de una obra d e entrega (caída) a 4.575 m.s.n.m., posee una longitud de 1.630 m y una \npendiente uniforme de 0,8 %. \nLa sección transversal del Canal de Derivación Superior es una excavación trapezoidal en suelo, con una base de \n0,50 m, profundidad total de 0,35 m y talud es de 1,5 (H): 1 (V). Aguas arriba del canal, se considera una berma de \nprotección de un ancho de 1 m; mientras que aguas abajo, se diseñó un camino de mantenimiento de un ancho de \n3,0 m. Se consideran taludes de 1 (H): 1.5 (V) y de 1.5 (H): 1 (V) para excavación en corte y relleno, respectivamente. \nLa Figura 8-38 muestra una sección típica para el Canal de Derivación Superior."
]
embeddings = model.encode(sentences)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [4, 4]This is a sentence-transformers model finetuned from sentence-transformers/all-MiniLM-L6-v2. 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.
SentenceTransformer(
(0): Transformer({'max_seq_length': 256, '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()
)
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("GbrlOl/fine-tune_utilizando_la_MNRL")
# Run inference
sentences = [
'¿Cuáles son las etapas para evaluar los riesgos de las instalaciones mineras analizadas?',
'Las instalaciones que fueron analizadas comprenden Seis (6) Minas Subterráneas: Concordia, Doña \nRosa, Estatuas, Antolín-Zúñiga, San Antonio y Mallín Mónica; Cinco (5) Depósitos de Relaves: Doña \nRosa, La Leñera, El Toqui, Auxiliar y Confluencia. \nPara evaluar los riesgos de las instalaciones, se realizaron las siguientes etapas: \n● Identificación de los riesgos. \n● Análisis de la probabilidad de ocurrencia del hecho. \n● Análisis de la severidad de las consecuencias para las personas y para el medio ambiente. \n● Evaluación de riesgos, donde se determina si este es significativo o no. \nLa evaluación de riesgos (riesgo puro) asociados a las principales instalaciones de la Faena, sirve \npara identificar las instalaciones que presentan un riesgo significativo, previo a la adopción de las \nmedidas de cierre propuestas, y que por lo tanto requieren de medidas de control para el cierre \ntemporal. \nComo resultado de la evaluación de riesgos, se obtuvie ron las medidas de cierre para cada una de \nlas instalaciones que se presentan en la siguiente tabla.',
'23 \n \n \n85/11382/13328 Proyecto de Cierre Tranque de Relave N°4 Planta Cabildo, Región de Valparaíso \nPlan de Cierre \nprevio al inicio del periodo de lluvias, la cual consiste en desmalezados, raleos y limpieza de los \nelementos que pueden haber caído al interior del canal. \nPor otra parte, para interceptar toda la escorrentía generada por las aguas lluvias provenientes del \nexterior y evitar la entrada de aguas lluvias al tranque, se proyecta una extensión del canal perimetral, \ndesarrollándose desde el sur-poniente del depósito, hasta el canal actual, el cual debe transportar un \ncaudal de 0,17 m3/s, poseerá una pendiente de un 1% su sección será prefabricada de hormigón con la \ngeometría especificada en el apartado de Diseños Hidráulicos del presente informe. \n7.2.5 Cierre de Accesos. \nSe prohíbe o restringe el acceso de personas al tranque, para evitar potenciales accidentes mediante \ncierres perimetrales. No obstante, se tendrá un ingreso restringido a personal dedicado a las actividades \ndel control y mantención, mientras MLC continúe con sus actividades. El cerco utilizado actualmente, \ncorresponde a postes de madera y alambre púa, éste será el mismo que se utilizará en el sector cerro \nque actualmente no cuenta con cerco, tal como se indica en el Plano N° 8511382_H002. Por otro lado, \nse cercará el sector de la cubeta donde se encuentra el canal perimetral, equivalente a 1379 m. Para el \ncerco se utilizarán Polines Sulfatados de 3 a 4 pulgadas, la distancia entre estos será de 3 m. y contará \ncon 3 corridas de alambre púa, más una malla galvanizada.',
]
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]
anchor and positive| anchor | positive | |
|---|---|---|
| type | string | string |
| details |
|
|
| anchor | positive |
|---|---|
¿Cuántas minas componen las minas a rajo abierto en la Mina Guanaco? |
B ORRA DOR |
¿Altura máxima del depósito de relaves filtrado? |
Plan de Cierre – Faena Salares |
¿Cuál es el objetivo del análisis de estabilidad realizado para el diseño del rajo en Salares Norte? |
Plan de Cierre - Faena Minera Salares Norte |
MultipleNegativesRankingLoss with these parameters:{
"scale": 20.0,
"similarity_fct": "cos_sim"
}
anchor and positive| anchor | positive | |
|---|---|---|
| type | string | string |
| details |
|
|
| anchor | positive |
|---|---|
¿Cuáles son las características que deben ser evaluadas en un rango de 1 a 5 según la Guía mencionada en el texto? |
La Guía establece una serie de características, las cuales deben ser evaluadas en un rango de 1 a 5, y además establece |
¿Cuál es el ángulo de banco o de terraza del depósito de relaves filtrado? |
A continuación, se presenta un resumen de los análisis d esarrollados para el botadero Sur. |
¿Qué medidas se están tomando para mejorar el drenaje y minimizar la erosión en las piscinas del sector Pilas Estáticas y del sector SX? |
(RNP) |
MultipleNegativesRankingLoss with these parameters:{
"scale": 20.0,
"similarity_fct": "cos_sim"
}
per_device_train_batch_size: 16per_device_eval_batch_size: 16learning_rate: 2e-05num_train_epochs: 100warmup_ratio: 0.1fp16: Truebatch_sampler: no_duplicatesoverwrite_output_dir: Falsedo_predict: Falseeval_strategy: noprediction_loss_only: Trueper_device_train_batch_size: 16per_device_eval_batch_size: 16per_gpu_train_batch_size: Noneper_gpu_eval_batch_size: Nonegradient_accumulation_steps: 1eval_accumulation_steps: Nonetorch_empty_cache_steps: Nonelearning_rate: 2e-05weight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1.0num_train_epochs: 100max_steps: -1lr_scheduler_type: linearlr_scheduler_kwargs: {}warmup_ratio: 0.1warmup_steps: 0log_level: passivelog_level_replica: warninglog_on_each_node: Truelogging_nan_inf_filter: Truesave_safetensors: Truesave_on_each_node: Falsesave_only_model: Falserestore_callback_states_from_checkpoint: Falseno_cuda: Falseuse_cpu: Falseuse_mps_device: Falseseed: 42data_seed: Nonejit_mode_eval: Falseuse_ipex: Falsebf16: Falsefp16: Truefp16_opt_level: O1half_precision_backend: autobf16_full_eval: Falsefp16_full_eval: Falsetf32: Nonelocal_rank: 0ddp_backend: Nonetpu_num_cores: Nonetpu_metrics_debug: Falsedebug: []dataloader_drop_last: Falsedataloader_num_workers: 0dataloader_prefetch_factor: Nonepast_index: -1disable_tqdm: Falseremove_unused_columns: Truelabel_names: Noneload_best_model_at_end: Falseignore_data_skip: Falsefsdp: []fsdp_min_num_params: 0fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}tp_size: 0fsdp_transformer_layer_cls_to_wrap: Noneaccelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}deepspeed: Nonelabel_smoothing_factor: 0.0optim: adamw_torchoptim_args: Noneadafactor: Falsegroup_by_length: Falselength_column_name: lengthddp_find_unused_parameters: Noneddp_bucket_cap_mb: Noneddp_broadcast_buffers: Falsedataloader_pin_memory: Truedataloader_persistent_workers: Falseskip_memory_metrics: Trueuse_legacy_prediction_loop: Falsepush_to_hub: Falseresume_from_checkpoint: Nonehub_model_id: Nonehub_strategy: every_savehub_private_repo: Nonehub_always_push: Falsegradient_checkpointing: Falsegradient_checkpointing_kwargs: Noneinclude_inputs_for_metrics: Falseinclude_for_metrics: []eval_do_concat_batches: Truefp16_backend: autopush_to_hub_model_id: Nonepush_to_hub_organization: Nonemp_parameters: auto_find_batch_size: Falsefull_determinism: Falsetorchdynamo: Noneray_scope: lastddp_timeout: 1800torch_compile: Falsetorch_compile_backend: Nonetorch_compile_mode: Noneinclude_tokens_per_second: Falseinclude_num_input_tokens_seen: Falseneftune_noise_alpha: Noneoptim_target_modules: Nonebatch_eval_metrics: Falseeval_on_start: Falseuse_liger_kernel: Falseeval_use_gather_object: Falseaverage_tokens_across_devices: Falseprompts: Nonebatch_sampler: no_duplicatesmulti_dataset_batch_sampler: proportional| Epoch | Step | Training Loss |
|---|---|---|
| 5.8824 | 100 | 1.1853 |
| 11.7647 | 200 | 0.2591 |
| 17.6471 | 300 | 0.1023 |
| 23.5294 | 400 | 0.0656 |
| 29.4118 | 500 | 0.0575 |
| 35.2941 | 600 | 0.0478 |
| 41.1765 | 700 | 0.0386 |
| 47.0588 | 800 | 0.0347 |
| 52.9412 | 900 | 0.0397 |
| 58.8235 | 1000 | 0.0334 |
| 64.7059 | 1100 | 0.0317 |
| 70.5882 | 1200 | 0.0353 |
| 76.4706 | 1300 | 0.0336 |
| 82.3529 | 1400 | 0.032 |
| 88.2353 | 1500 | 0.0313 |
| 94.1176 | 1600 | 0.0345 |
| 100.0 | 1700 | 0.0279 |
@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",
}
@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}
}
Base model
sentence-transformers/all-MiniLM-L6-v2