Views
No views yet

1from transformers import RobertaTokenizer, RobertaModel
2import torch
3
4tokenizer = RobertaTokenizer.from_pretrained("ehsanaghaei/SecureBERT")
5model = RobertaModel.from_pretrained("ehsanaghaei/SecureBERT")
6
7inputs = tokenizer("This is SecureBERT!", return_tensors="pt")
8outputs = model(**inputs)
9
10last_hidden_states = outputs.last_hidden_state
11
12
13Masked Language Modeling Example
14
15SecureBERT is trained with Masked Language Modeling (MLM). Use the following example to predict masked tokens:
16
17#!pip install transformers torch tokenizers
18
19import torch
20import transformers
21from transformers import RobertaTokenizerFast
22
23tokenizer = RobertaTokenizerFast.from_pretrained("ehsanaghaei/SecureBERT")
24model = transformers.RobertaForMaskedLM.from_pretrained("ehsanaghaei/SecureBERT")
25
26def predict_mask(sent, tokenizer, model, topk=10, print_results=True):
27 token_ids = tokenizer.encode(sent, return_tensors='pt')
28 masked_pos = (token_ids.squeeze() == tokenizer.mask_token_id).nonzero().tolist()
29 words = []
30
31 with torch.no_grad():
32 output = model(token_ids)
33
34 for pos in masked_pos:
35 logits = output.logits[0, pos]
36 top_tokens = torch.topk(logits, k=topk).indices
37 predictions = [tokenizer.decode(i).strip().replace(" ", "") for i in top_tokens]
38 words.append(predictions)
39 if print_results:
40 print(f"Mask Predictions: {predictions}")
41
42 return words@inproceedings{aghaei2023securebert,
title={SecureBERT: A Domain-Specific Language Model for Cybersecurity},
author={Aghaei, Ehsan and Niu, Xi and Shadid, Waseem and Al-Shaer, Ehab},
booktitle={Security and Privacy in Communication Networks:
18th EAI International Conference, SecureComm 2022, Virtual Event, October 2022, Proceedings},
pages={39--56},
year={2023},
organization={Springer}
}