克隆仓库,创建并激活 Conda 环境,然后安装所需依赖:
git clone https://github.com/Stardust457/SLDR.git
cd SLDR
conda create -n sldr python=3.12 -y
conda activate sldr
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
Llama 模型需要在 Hugging Face 上申请访问权限。
在使用模型之前,请登录 Hugging Face,访问 Meta Llama 下所需模型的页面,接受使用条款并提交访问申请。获得访问权限后,使用同一账号在 Access Tokens 设置页面 创建一个具有目标模型读取权限的 Access Token。详情请参阅 Hugging Face 门控模型指南。
首先,在 Bash 终端中配置 HF-Mirror:
export HF_ENDPOINT="https://hf-mirror.com"
然后,运行以下命令进行登录:
hf auth login
在提示时输入你新创建的 Hugging Face Access Token。
在仓库根目录下运行以下命令来训练和评估每个模型:
bash scripts/run_llama31_downstream.sh
bash scripts/run_llama3_downstream.sh
bash scripts/run_qwen25_downstream.sh
bash scripts/run_mistral_downstream.sh
在收集模型响应后,部署 Llama Guard 并在终端中启动服务:
bash scripts/run_llama_guard.sh serve
保持该终端运行,等待服务就绪。然后打开另一个终端,激活 sldr 环境,并在仓库根目录下运行以下命令,对模型响应的有害性进行评分:
bash scripts/run_llama_guard.sh score
在 Alpaca 数据集上运行 Llama 3.1 评估之前,请在同一终端中配置 GPT 评判器的 API base URL 和 API key:
export GPT_JUDGE_BASE_URL='your base url'
export OPENAI_API_KEY='your API key'
在开始评估之前,请将占位符替换为你的 API base URL 和 API key。
在生成相应的下游检查点后,运行以下命令,在额外有害基准(包括 DirectHarm4、HarmBench 和 HEx-PHI)上评估 Llama 3.1:
DATASETS="sst2" \
POISON_RATIOS="0.1" \
SEEDS="42" \
VARIANTS="defended" \
bash /root/scripts/run_llama31_harm_benchmarks.sh
运行以下命令,使用相应的下游检查点评估 Llama 3.1 抵御 Zulu 和 IJP 越狱攻击的能力:
DATASETS="sst2" \
POISON_RATIOS="0.1" \
TRAIN_SAMPLES="1000" \
SEEDS="42" \
VARIANTS="defended" \
JAILBREAK_ATTACKS="zulu ijp" \
bash /root/scripts/run_llama31_jailbreak.sh
注意: 为 Zulu 数据集生成的模型响应必须先翻译成英文,然后才能使用 Llama Guard 评估其有害性。