Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper
•
1908.10084
•
Published
•
9
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