SentenceTransformer based on sentence-transformers/all-mpnet-base-v2
This is a sentence-transformers model finetuned from sentence-transformers/all-mpnet-base-v2. 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: sentence-transformers/all-mpnet-base-v2
- Maximum Sequence Length: 384 tokens
- Output Dimensionality: 768 tokens
- Similarity Function: Cosine Similarity
Model Sources
- Documentation: Sentence Transformers Documentation
- Repository: Sentence Transformers on GitHub
- Hugging Face: Sentence Transformers on Hugging Face
Full Model Architecture
SentenceTransformer(
(0): Transformer({'max_seq_length': 384, 'do_lower_case': False}) with Transformer model: MPNetModel
(1): Pooling({'word_embedding_dimension': 768, '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()
)
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("brilan/procedure-tool-matching_3_epochs")
# Run inference
sentences = [
'Modify Registry of Current User Profile',
'Saves a copy of specified subkeys, entries, and values of the registry in a specified file.',
'Stops one or more running services.',
]
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:
dev - Evaluated with
TripletEvaluator
| Metric | Value |
|---|---|
| cosine_accuracy | 1.0 |
| dot_accuracy | 0.0 |
| manhattan_accuracy | 1.0 |
| euclidean_accuracy | 1.0 |
| max_accuracy | 1.0 |
Triplet
- Dataset:
test - Evaluated with
TripletEvaluator
| Metric | Value |
|---|---|
| cosine_accuracy | 1.0 |
| dot_accuracy | 0.0 |
| manhattan_accuracy | 1.0 |
| euclidean_accuracy | 1.0 |
| max_accuracy | 1.0 |
Training Details
Training Dataset
Unnamed Dataset
- Size: 6,462 training samples
- Columns:
anchor,positive, andnegative - Approximate statistics based on the first 1000 samples:
anchor positive negative type string string string details - min: 5 tokens
- mean: 9.62 tokens
- max: 17 tokens
- min: 5 tokens
- mean: 18.14 tokens
- max: 47 tokens
- min: 5 tokens
- mean: 17.66 tokens
- max: 57 tokens
- Samples:
anchor positive negative used compromised domain accounts to gain access to the target environmentallows users to execute commands remotely on target systems using various methods including WMI, SMB, SSH, RDP, and PowerShellDisplays information about user sessions on a Remote Desktop Session Host server.use default credentials to connect to IPC$ shares on remote machinesExecute commands on remote targets via Remote Desktop Protocol (RDP) without requiring a graphical user interface (GUI).It provides functionality to view create modify and delete user accounts directly from the command prompt.gain access to the server via SSHallow users to connect to RDP serversallows administrators to manage and configure audit policies for the system and provides the ability to view, set, and modify the audit policies that control what events are logged by the Windows security auditing subsystem. - Loss:
MultipleNegativesRankingLosswith these parameters:{ "scale": 20.0, "similarity_fct": "cos_sim" }
Evaluation Dataset
Unnamed Dataset
- Size: 2,770 evaluation samples
- Columns:
anchor,positive, andnegative - Approximate statistics based on the first 1000 samples:
anchor positive negative type string string string details - min: 5 tokens
- mean: 9.48 tokens
- max: 17 tokens
- min: 5 tokens
- mean: 18.31 tokens
- max: 47 tokens
- min: 5 tokens
- mean: 18.21 tokens
- max: 57 tokens
- Samples:
anchor positive negative Disable Windows Services related to security productsstop running serviceCreates lists and deletes stored user names and passwords or credentials.Get user informationGets the local security groups.Copy files from source to dest between local and remote machine skipping identical files.used pass the hash for lateral movementExecute processes on other systems complete with full interactivity for console applications without having to manually install client software.Extracts passwords keys,pin,codes,tickets from the memory of lsass - Loss:
MultipleNegativesRankingLosswith these parameters:{ "scale": 20.0, "similarity_fct": "cos_sim" }
Training Hyperparameters
Non-Default Hyperparameters
eval_strategy: stepsper_device_train_batch_size: 16per_device_eval_batch_size: 16warmup_ratio: 0.1fp16: Truebatch_sampler: no_duplicates
All Hyperparameters
Click to expand
overwrite_output_dir: Falsedo_predict: Falseeval_strategy: stepsprediction_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: 5e-05weight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1.0num_train_epochs: 3max_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}fsdp_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: Falsehub_always_push: Falsegradient_checkpointing: Falsegradient_checkpointing_kwargs: Noneinclude_inputs_for_metrics: Falseeval_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: Nonedispatch_batches: Nonesplit_batches: Noneinclude_tokens_per_second: Falseinclude_num_input_tokens_seen: Falseneftune_noise_alpha: Noneoptim_target_modules: Nonebatch_eval_metrics: Falseeval_on_start: Falseeval_use_gather_object: Falsebatch_sampler: no_duplicatesmulti_dataset_batch_sampler: proportional
Training Logs
| Epoch | Step | Training Loss | loss | dev_cosine_accuracy | test_cosine_accuracy |
|---|---|---|---|---|---|
| 0 | 0 | - | - | 0.8596 | - |
| 0.2475 | 100 | 2.0428 | 1.3753 | 0.9989 | - |
| 0.4950 | 200 | 1.5299 | 1.2361 | 1.0 | - |
| 0.7426 | 300 | 1.4871 | 1.1853 | 1.0 | - |
| 0.9901 | 400 | 1.4612 | 1.1707 | 1.0 | - |
| 1.2376 | 500 | 0.0287 | 1.2190 | 1.0 | - |
| 1.1584 | 600 | 0.9192 | 1.1738 | 1.0 | - |
| 1.4059 | 700 | 1.4131 | 1.1708 | 1.0 | - |
| 1.6535 | 800 | 1.4254 | 1.1428 | 1.0 | - |
| 1.9010 | 900 | 1.3977 | 1.1373 | 1.0 | - |
| 2.1485 | 1000 | 0.5379 | 1.1419 | 1.0 | - |
| 2.0693 | 1100 | 0.386 | 1.1306 | 1.0 | - |
| 2.3168 | 1200 | 1.3708 | 1.1260 | 1.0 | - |
| 2.3465 | 1212 | - | - | - | 1.0 |
Framework Versions
- Python: 3.11.5
- Sentence Transformers: 3.1.0
- Transformers: 4.44.2
- PyTorch: 2.4.1+cu121
- Accelerate: 1.0.0
- Datasets: 3.0.1
- Tokenizers: 0.19.1
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}
}
- Downloads last month
- 5
Model tree for brilan/procedure-tool-matching_3_epochs
Base model
sentence-transformers/all-mpnet-base-v2Evaluation results
- Cosine Accuracy on devself-reported1.000
- Dot Accuracy on devself-reported0.000
- Manhattan Accuracy on devself-reported1.000
- Euclidean Accuracy on devself-reported1.000
- Max Accuracy on devself-reported1.000
- Cosine Accuracy on testself-reported1.000
- Dot Accuracy on testself-reported0.000
- Manhattan Accuracy on testself-reported1.000
- Euclidean Accuracy on testself-reported1.000
- Max Accuracy on testself-reported1.000