--- tags: - sentence-transformers - sentence-similarity - feature-extraction - generated_from_trainer - dataset_size:8622 - loss:MultipleNegativesRankingLoss base_model: BAAI/bge-base-en-v1.5 widget: - source_sentence: What is the purpose of geotechnical exploration at the PSEG Site? sentences: - 'The purposes of the PSEG Site geotechnical exploration and testing were to: - Obtain new data to meet current NRC and vendor design control document Tier 1 site characteristics requirements as appropriate for an ESPA - Confirm and demonstrate the applicability of the existing field data from the previous site exploration work for the existing nuclear plants' - Geotechnical evaluations at the PSEG Site included assessing soil stratigraphy and groundwater conditions to identify potential risks and the suitability of the site for construction, focusing on the mechanical properties of subsurface materials. - Table 3.8-3 Illinois Inventory of Archaeological Sites Entries within 6-miles of DNPS (Sheet 2 of 28) lists various archaeological sites and their statuses relevant to the regulatory considerations for the plant. - source_sentence: The analysis of the identified nuclides can greatly aid in determining the safety measures necessary for nuclear facilities. sentences: - IDENTIFIED NUCLIDES - 'Peak Analysis Performed on: 5/29/2019 6:14:38 AM' - 10 CFR Part 50, Appendix H, “Reactor Vessel Material Surveillance Program Requirements,” requires that peak neutron fluence at the end of the design life of the vessel will not exceed 1.0 x 10¹⁷ n/cm² (E > 1.0 MeV), or that reactor vessel beltline materials be monitored by a surveillance program. - source_sentence: The NRC assessment includes evaluations to determine the impact of specific events on safety measures. sentences: - The staff noted that the licensee performed a root cause evaluation with an extent of condition and extent of cause evaluation following the May 25 scram. - In assessing operational events, it is crucial to differentiate between various types of occurrences to ensure comprehensive safety evaluations encompass all relevant aspects, including human factors and procedural adherence. - The reactor trip breaker indicating lights provide crucial information on the status of the reactor trip system during an Anticipated Transient Without Scram (ATWS). - source_sentence: Each reactor building isolation valve must remain effective during various operational modes. sentences: - The RHRSW System functions to remove heat from the RHR System and Emergency Equipment Cooling Water (EECW) System components by pumping water from Wheeler Reservoir through the Residual Heat Removal (RHR) heat exchangers and Emergency Equipment Cooling Water (EECW) System components and discharges back to Wheeler Reservoir. - Each reactor building isolation valve shall be OPERABLE. - Separate Condition entry is allowed for each penetration flow path. - source_sentence: What is the purpose of the Rapid Borate Stop Valve in Reactor Control? sentences: - CLOSE the Air Supply Isolation Valve, 12CV160 A/S, AIR SUPPLY FOR 12CV160. - The NRC staff is reviewing Westinghouse’s license renewal application and preparing an environmental impact statement (EIS) in accordance with the National Environmental Policy Act of 1969. - Locates and discusses opening 1CV175, Rapid Borate Stop Valve by disengaging clutch and rotating handwheel (counterclockwise). pipeline_tag: sentence-similarity library_name: sentence-transformers metrics: - cosine_accuracy model-index: - name: SentenceTransformer based on BAAI/bge-base-en-v1.5 results: - task: type: triplet name: Triplet dataset: name: validation type: validation metrics: - type: cosine_accuracy value: 0.9397031664848328 name: Cosine Accuracy - type: cosine_accuracy value: 0.9387755393981934 name: Cosine Accuracy --- # SentenceTransformer based on BAAI/bge-base-en-v1.5 ![Evaluation against BAAI/bge-base-en-v1.5](eval.png) This is a [sentence-transformers](https://www.SBERT.net) model finetuned from [BAAI/bge-base-en-v1.5](https://huggingface.co/BAAI/bge-base-en-v1.5). It maps sentences & paragraphs to a 768-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-base-en-v1.5](https://huggingface.co/BAAI/bge-base-en-v1.5) - **Maximum Sequence Length:** 512 tokens - **Output Dimensionality:** 768 dimensions - **Similarity Function:** Cosine Similarity ### 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': True}) with Transformer model: BertModel (1): Pooling({'word_embedding_dimension': 768, '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("sentence_transformers_model_id") # Run inference sentences = [ 'What is the purpose of the Rapid Borate Stop Valve in Reactor Control?', 'Locates and discusses opening 1CV175, Rapid Borate Stop Valve by disengaging clutch and rotating handwheel (counterclockwise).', 'CLOSE the Air Supply Isolation Valve, 12CV160 A/S, AIR SUPPLY FOR 12CV160.', ] embeddings = model.encode(sentences) print(embeddings.shape) # [3, 768] # Get the similarity scores for the embeddings similarities = model.similarity(embeddings, embeddings) print(similarities.shape) # [3, 3] ``` ## Evaluation ### Metrics #### Triplet * Dataset: `validation` * Evaluated with [TripletEvaluator](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.TripletEvaluator) | Metric | Value | |:--------------------|:-----------| | **cosine_accuracy** | **0.9397** | #### Triplet * Dataset: `validation` * Evaluated with [TripletEvaluator](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.TripletEvaluator) | Metric | Value | |:--------------------|:-----------| | **cosine_accuracy** | **0.9388** | ## Training Details ### Training Dataset #### Unnamed Dataset * Size: 8,622 training samples * Columns: sentence_0, sentence_1, and sentence_2 * Approximate statistics based on the first 1000 samples: | | sentence_0 | sentence_1 | sentence_2 | |:--------|:----------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------| | type | string | string | string | | details | | | | * Samples: | sentence_0 | sentence_1 | sentence_2 | |:----------------------------------------------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | What is the concentration of H-3 in µCi/ml? | H-3 has a concentration of 8.5E-10 µCi/ml. | The isotope Rb-89 has a release rate of 4.7E-05 Ci/yr. | | gamma calibration procedures | Gamma Calibration: GM detectors positioned perpendicular to source for M-44-9 in which the front of probe faces source. | Effective calibration of GM detectors is crucial for accurate measurement. Procedures often involve using a consistent radiation source and monitoring the response of various detector models across multiple energy levels. | | What is the function of the TAP-A program in thermal analysis? | The TAP-A program is applicable to both “transient and steady-state heat transfer in multidimensional systems having arbitrary geometric configurations, boundary conditions, initial conditions, and physical properties. | The wall panel model for the crane wall is 48 ft long with 8 axial stations each 6 ft in length. | * Loss: [MultipleNegativesRankingLoss](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#multiplenegativesrankingloss) with these parameters: ```json { "scale": 20.0, "similarity_fct": "cos_sim" } ``` ### Training Hyperparameters #### Non-Default Hyperparameters - `eval_strategy`: steps - `per_device_train_batch_size`: 32 - `per_device_eval_batch_size`: 32 - `num_train_epochs`: 5 - `fp16`: True - `multi_dataset_batch_sampler`: round_robin #### All Hyperparameters
Click to expand - `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`: 1 - `eval_accumulation_steps`: None - `torch_empty_cache_steps`: None - `learning_rate`: 5e-05 - `weight_decay`: 0.0 - `adam_beta1`: 0.9 - `adam_beta2`: 0.999 - `adam_epsilon`: 1e-08 - `max_grad_norm`: 1 - `num_train_epochs`: 5 - `max_steps`: -1 - `lr_scheduler_type`: linear - `lr_scheduler_kwargs`: {} - `warmup_ratio`: 0.0 - `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`: False - `fp16`: True - `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} - `tp_size`: 0 - `fsdp_transformer_layer_cls_to_wrap`: None - `accelerator_config`: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None} - `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`: None - `hub_always_push`: False - `gradient_checkpointing`: False - `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 - `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`: batch_sampler - `multi_dataset_batch_sampler`: round_robin
### Training Logs | Epoch | Step | Training Loss | validation_cosine_accuracy | |:------:|:----:|:-------------:|:--------------------------:| | 0.5556 | 200 | - | 0.9272 | | 1.0 | 360 | - | 0.9318 | | 1.1111 | 400 | - | 0.9309 | | 1.3889 | 500 | 0.5286 | - | | 1.6667 | 600 | - | 0.9355 | | 2.0 | 720 | - | 0.9378 | | 2.2222 | 800 | - | 0.9374 | | 2.7778 | 1000 | 0.2751 | 0.9397 | | 3.0 | 1080 | - | 0.9397 | | 0.7407 | 200 | - | 0.9374 | | 1.0 | 270 | - | 0.9369 | | 1.4815 | 400 | - | 0.9374 | | 1.8519 | 500 | 0.2128 | - | | 2.0 | 540 | - | 0.9383 | | 2.2222 | 600 | - | 0.9388 | ### Framework Versions - Python: 3.10.14 - Sentence Transformers: 4.1.0 - Transformers: 4.51.3 - PyTorch: 2.2.2 - Accelerate: 1.6.0 - Datasets: 3.5.0 - Tokenizers: 0.21.1 ## 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} } ```