Instructions to use s2w-ai/CyBERTuned-SecurityLLM with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use s2w-ai/CyBERTuned-SecurityLLM with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("fill-mask", model="s2w-ai/CyBERTuned-SecurityLLM")# Load model directly from transformers import AutoTokenizer, RobertaForTokClassAndMaskedLM tokenizer = AutoTokenizer.from_pretrained("s2w-ai/CyBERTuned-SecurityLLM") model = RobertaForTokClassAndMaskedLM.from_pretrained("s2w-ai/CyBERTuned-SecurityLLM", device_map="auto") - Notebooks
- Google Colab
- Kaggle
| license: cc-by-nc-4.0 | |
| pipeline_tag: fill-mask | |
| widget: | |
| - text: >- | |
| The PDF contains an action object. Upon a victim opening the PDF it will send a query to Google: http://www[.]google[.]com/url?q=http%3A%2F%2F9348243249382479234343284324023432748892349702394023.xyz&sa=D&sntz=1&usg=AFQjCNFWmVffgSGlrrv-2U9sSOJYzfUQqw. This link is a typical <mask> attack. | |
| tags: | |
| - cybersecurity | |
| <!-- This model card has been generated automatically according to the information the Trainer had access to. You | |
| should probably proofread and complete it, then remove this comment. --> | |
| # CyBERTuned | |
| CyBERTuned is a BERT-like model trained with an NLE (non-linguistic element) aware pretraining method tuned for the cybersecurity domain. | |
| ## Sample Usage | |
| ```python | |
| >>> from transformers import pipeline | |
| >>> folder_dir = "CyBERTuned" | |
| >>> unmasker = pipeline('fill-mask', model=folder_dir) | |
| >>> unmasker("RagnarLocker, LockBit, and REvil are types of <mask>.") | |
| [{'score': 0.8489783406257629, 'token': 25346, 'token_str': ' ransomware', 'sequence': 'RagnarLocker, LockBit, and REvil are types of ransomware.'}, | |
| {'score': 0.1364559829235077, 'token': 16886, 'token_str': ' malware', 'sequence': 'RagnarLocker, LockBit, and REvil are types of malware.'}, | |
| {'score': 0.0022238395176827908, 'token': 1912, 'token_str': ' attacks', 'sequence': 'RagnarLocker, LockBit, and REvil are types of attacks.'}, | |
| {'score': 0.001197474543005228, 'token': 11341, 'token_str': ' infections', 'sequence': 'RagnarLocker, LockBit, and REvil are types of infections.'}, | |
| {'score': 0.0009669850114732981, 'token': 6773, 'token_str': ' files', 'sequence': 'RagnarLocker, LockBit, and REvil are types of files.'}] | |
| >>> # text requiring url comprehension (redirection attack), modified from https://intezer.com/blog/research/targeted-phishing-attack-against-ukrainian-government-expands-to-georgia/ | |
| >>> url_text = 'The PDF contains an action object. Upon a victim opening the PDF it will send a query to Google: http://www[.]google[.]com/url?q=http%3A%2F%2F9348243249382479234343284324023432748892349702394023.xyz&sa=D&sntz=1&usg=AFQjCNFWmVffgSGlrrv-2U9sSOJYzfUQqw. This link is a typical <mask> attack.' | |
| >>> unmasker(url_text)[0] | |
| {'score': 0.1701660305261612, 'token': 30970, 'token_str': ' redirect', 'sequence': 'The PDF contains an action object. Upon a victim opening the PDF it will send a query to Google: http://www[.]google[.]com/url?q=http%3A%2F%2F9348243249382479234343284324023432748892349702394023.xyz&sa=D&sntz=1&usg=AFQjCNFWmVffgSGlrrv-2U9sSOJYzfUQqw. This link is a typical redirect attack.'} | |
| >>> from transformers import AutoModel, AutoTokenizer | |
| >>> model = AutoModel.from_pretrained(folder_dir) | |
| >>> tokenizer = AutoTokenizer.from_pretrained(folder_dir) | |
| >>> text = "Cybersecurity information is often technically complex and relayed through unstructured text, making automation of cyber threat intelligence highly challenging." | |
| >>> encoded = tokenizer(text, return_tensors="pt") | |
| >>> output = model(**encoded) | |
| >>> output[0].shape | |
| torch.Size([1, 27, 768]) | |
| ``` | |
| # Citation | |
| If you're using CyBERTuned please cite the following paper: | |
| ``` | |
| Eugene Jang, Jian Cui, Dayeon Yim, Youngjin Jin, Jin-Woo Chung, Seungwon Shin, and Yongjae Lee. 2024. Ignore Me But Don’t Replace Me: Utilizing Non-Linguistic Elements for Pretraining on the Cybersecurity Domain. In Findings of the Association for Computational Linguistics: NAACL 2024, pages 29–42, Mexico City, Mexico. Association for Computational Linguistics. | |
| ``` | |
| ### Training hyperparameters | |
| The following hyperparameters were used during training: | |
| - learning_rate: 0.0006 | |
| - train_batch_size: 64 | |
| - eval_batch_size: 32 | |
| - seed: 42 | |
| - distributed_type: multi-GPU | |
| - num_devices: 4 | |
| - gradient_accumulation_steps: 8 | |
| - total_train_batch_size: 2048 | |
| - total_eval_batch_size: 128 | |
| - optimizer: Adam with betas=(0.9,0.98) and epsilon=1e-06 | |
| - lr_scheduler_type: linear | |
| - lr_scheduler_warmup_ratio: 0.048 | |
| - num_epochs: 200 | |
| ### Framework versions | |
| - Transformers 4.27.0.dev0 | |
| - Pytorch 1.12.1 | |
| - Datasets 2.6.1 | |
| - Tokenizers 0.13.2 | |