LLM攻击
https://github-com.translate.goog/llm-attacks
这是Andy Zou、Zifan Wang、J. Zico Kolter和Matt Fredrikson的“统一语言模型的通用且可转移的对抗性攻击”的官方存储库。
请在此处查看我们的网站和演示。
目录
安装
我们需要 FastChat 来创建对话。目前,我们通过执行以下步骤从源代码安装它(我们建议在该存储库的根目录之外进行 git clone FastChat)。
git clone https://github.com/lm-sys/FastChat.git
cd FastChat
pip3 install --upgrade pip # enable PEP 660 support
pip3 install -e .
llm-attacks
可以通过在此存储库的根目录运行以下命令来安装该软件包:
pip install -e .
楷模
请先按照说明下载Vicuna-7B或/和LLaMA-2-7B-Chat(我们这里使用HuggingFace转换的权重)。默认情况下,我们的脚本假设模型存储在名为 的根目录中/DIR
。experiments/configs/individual_xxx.py
要修改模型和分词器的路径,请在(对于单个实验)和(对于多种行为或转移实验)中添加以下行experiments/configs/transfer_xxx.py
。举例如下。
config.model_paths = [
"/DIR/vicuna/vicuna-7b-v1.3",
... # more models
]
config.tokenizer_paths = [
"/DIR/vicuna/vicuna-7b-v1.3",
... # more tokenizers
]
用法
我们使用 GCG 运行实验的代码位于包含experiments
文件夹中。要对本文中提到的有害行为和有害字符串进行单独的实验,请在其中运行以下代码experiments
:
cd launch_scripts
bash run_gcg_individual.sh vicuna behaviors
更改vicuna
为llama2
和更改behaviors
为strings
将切换到不同的实验设置。
要执行多个行为实验(即 25 个行为,1 个模型),请在内部运行以下代码experiments
:
cd launch_scripts
bash run_gcg_multiple.sh vicuna # or llama2
要执行迁移实验(即 25 个行为,2 个模型),请在内部运行以下代码experiments
:
cd launch_scripts
bash run_gcg_transfer.sh vicuna 2 # or vicuna_guanaco 4
要进行评估实验,请按照 中的说明进行操作experiments/parse_results.ipynb
。
请注意,我们实验中的所有超参数均由此处的ml_collections
包处理。您可以直接在定义这些超参数的位置更改这些超参数,例如。但是,传递不同超参数的推荐方法(例如您想尝试另一个模型)是在启动脚本中执行此操作。查看我们的启动脚本示例。有关更多信息,请参阅他们的存储库。experiments/configs/individual_xxx.py
experiments/launch_scripts
ml_collections