LongSafety:提升长上下文大语言模型的安全性
LongSafety: Enhance Safety for Long-Context LLMs
LongSafety微调后,Qwen2.5-7B在LongSafetyBench的SR从51.44升至66.52。
- 长上下文LLM的安全场景、对齐数据和多任务评测都缺少。作者把场景分成查询有害、部分有害和完全有害,并据此构造训练数据与评测基准。
- 按QH、PH、FH三条管线构造长上下文,输出安全回答。LongSafety在正文中为8任务、17k条、平均40.9k tokens;LongSafetyBench为10任务、1k条的四选一,用最高logits评HA与SR。
- 六个模型用LongSafety微调后,LSB的SR均高于微调前;Qwen2.5-7B-Instruct从51.44到66.52(Table 2)。作者称短上下文安全加长上下文对齐不能替代它。
- 作者指出主要做长输入短输出,完全有害训练数据少、三类不平衡,评测是选择题,并计划补充任务和有害场景。实验报告了6个微调模型、32k训练和64k/128k测试;论文未报告多次重复。
- 被测模型
- LLaMA3.1-8B-InstructLLaMA3.2-3B-InstructQwen2.5-1.5B-InstructQwen2.5-7B-InstructInternLM2.5-7B-ChatInternLM3-8B-InstructGPT-4-Turbo-PreviewClaude-3.5-SonnetDeepSeek-v3
- 基准
- LongSafetyLongSafetyBenchLongAlignHH-RLHFBeaverTailsLongSafety-shortLongBenchLongBench-v2SafetyBenchSALAD-BenchARCMMLU
- 指标
- SafeResponse (SR)HarmAwareness (HA)Cohen's Kappa
研究团队发布面向长上下文大语言模型的安全对齐数据集 LongSafety,包含 10 类任务、1.7 万条样本,平均长度 40.9k token。实验显示,用 LongSafety 训练可提升长上下文安全表现,同时改善短上下文安全并保持通用能力。论文指出,长上下文安全不等同于用短上下文安全数据做长上下文对齐,LongSafety 在上下文长度和长上下文安全场景上具有泛化能力。
深度解读
这篇论文试图解决什么问题?
长上下文安全缺少训练数据与多任务评测,作者按三类有害场景构造对齐数据。
长上下文 LLM 的安全对齐缺少场景澄清、训练数据和多任务评测。
- 出现场景:作者称架构改进和长度外推已延长上下文,长上下文能力受到关注,但安全问题很少被讨论。论文写 Anil 等人提出 ManyShotJailbreak,并首先暴露长上下文 LLM 的安全问题。
- 现有不足:作者称已有工作只涉及特定安全任务;短上下文已有对齐语料,长上下文缺少对应方案,也缺少“能否从短上下文安全对齐泛化”的分析,以及开源、多任务评测。
- 场景划分:作者按上下文有害程度分成查询有害(query harmful, QH)、部分有害(partially harmful, PH)和完全有害(fully harmful, FH)。QH 是上下文无害、问题有误导;PH 是部分上下文有害;FH 是整个上下文有害。
- 本文提出:对齐数据集 LongSafety,以及评测集 LongSafetyBench。作者用前者微调主流长上下文 LLM,并与短上下文安全数据、通用长上下文对齐数据对比。
有哪些相关研究?
相关工作主要是长上下文对齐和短上下文安全;作者称二者相加不能替代长上下文安全数据。
论文在 §2 把相关工作分成长上下文对齐和安全对齐,引言则把长上下文安全写成单独缺口。
- 长上下文对齐:Bai 等人(2023)和 Hsieh 等人(2024a)指出,上下文变长后,长上下文 LLM 在长上下文任务上仍然表现不好。Chen 等人(2024b)、Bai 等人(2024a)用通用长上下文指令数据改进指令遵循;Li 等人(NA)、Kaili-May Liu 等人(2024)、Chen 等人(2024c)针对特定任务造数据。论文写对齐还应强调安全与可靠性(Ouyang 等人,2022),因此转向长上下文安全。
- 短上下文安全:论文列举的做法包括优化收集与过滤(Xu 等人,2021)、用强化学习学习人类偏好(Bai 等人,2022),以及测试时对齐(Zhang 等人,2024a)。短上下文对齐语料包括 Bai 等人(2022)和 Ji 等人(2024、2023)。论文写这些工作主要面向短上下文。
- 长上下文安全:论文写 Anil 等人(2024)用 ManyShotJailbreak 暴露长上下文安全问题,并引导后续研究(Dubey 等人,2024a);同时写长上下文安全对齐仍缺少深入分析。
- 基线与基准:对照数据为 HH-RLHF(Bai 等人,2022)、BeaverTails(Ji 等人,2023)、去掉长上下文的 LongSafety-short,以及通用长上下文数据 LongAlign(Bai 等人,2024a)。评测用 LongSafetyBench,以及 SafetyBench、SALAD-Bench、LongBench、LongBench-v2、ARC 和 MMLU。
作者把本文定位为长上下文任务上的安全对齐数据。贡献列表写,作者称据其所知 LongSafety 是首个长上下文安全对齐数据集(8 个任务、17k 条、平均 40.9k tokens),LongSafetyBench 是首个长上下文安全评测基准(10 个任务、1k 条、平均 41.9k tokens)。作者还称,长上下文安全不能只靠短上下文安全对齐加上通用长上下文对齐得到。
论文如何解决这个问题?
按查询有害、部分有害、完全有害造数据,再用四选一评测安全意识与安全回答。
整体做法是按上下文有害程度分场景,用三条管线造数据,以安全回答做微调,再用四选一检验。数据集是 LongSafety,评测集是 LongSafetyBench。论文未给出统一的形式化目标函数。
三类场景与构造管线
- 查询有害:上下文无害,问题有误导。作者写,要么有误导性问题但缺上下文,要么有无害上下文但缺问题。前者检索文档拼成长上下文;后者按既定规则让 LLM 生成问答。文中提到的任务包括 PoliticallyIncorrect、SafeMTLong、LeadingQuestion、KeywordRAG、MedicalQuiz、LawQA。
- 部分有害:把有害信息注入上下文的一部分,并用回译方式设计问答(Li 等人,2023;Pham 等人,2024)。上下文可与问答相关或无关。无关侧是诱导有害回答的 HarmfulNIAH,以及要求识别有害行为的 CountingCrimes;相关侧是 DocAttack 和观察模型是否自行产生有害行为的 HarmfulAdvice。
- 完全有害:作者称这类上下文更难获得。一种沿 ManyShotJailbreak,把多段有害对话拼接;另一种检索特定有害文档并设计问答,论文选用犯罪小说,对应 HarmfulExtraction 和 HarmfulTendency。
- 图示:Figure 2 画出三类场景、对应管线和一道四选一样例,四个选项对应四种行为。样例含不安全内容,这里不引述。
LongSafety
- 规模:§3.2 与贡献列表写 8 个任务、17k 条、平均 40.9k tokens;摘要写 10 tasks、17k samples。Figure 3a 标出 8 个任务条数:PoliticallyIncorrect 1,848,ManyShotJailbreak 2,000,MedicalQuiz 2,162,CountingCrimes 2,200,SafeMTLong 1,821,HarmfulNIAH 3,300,KeywordRAG 2,550,LawQA 1,587。
- 任务取舍:训练集是 5 个 QH、2 个 PH、1 个 FH。与附录 B.1 的 10 个评测任务对照,重叠的是 PoliticallyIncorrect、MedicalQuiz、CountingCrimes、ManyShotJailbreak、HarmfulNIAH;未进入训练集、后文当作 OOD 的是 LeadingQuestion、DocAttack、HarmfulAdvice、HarmfulExtraction、HarmfulTendency。SafeMTLong、KeywordRAG、LawQA 只在训练集中。
- 格式:开放式生成。输入是长上下文加 query,输出是安全回答。作者称因数据量和构造成本才把训练集限制为 8 个任务。
- 论文写出的构造参数:HarmfulNIAH 与 CountingCrimes 的插入长度取 4k、8k、16k、32k、64k、100k,深度间隔 5%。ManyShotJailbreak 从 HH-RLHF 的 rejected 样本随机取 10–200 组对话作 shots,最后一轮用 chosen 样本引导安全回答。造数据还用到 Qwen2-72B-Instruct、GPT-4、GPT-3.5-turbo 和 LLaMA3.1-8B-Instruct。附录 A 给出各任务细节,这里不列提示词约束。
LongSafetyBench
- 规模:10 个任务、1k 条、平均 41.9k tokens。论文写其中 5 个任务也在训练数据中,其余为 OOD。附录 B.1 列出 HarmfulExtraction、HarmfulTendency、ManyShotJailbreak、HarmfulNIAH、CountingCrimes、DocAttack、HarmfulAdvice、MedicalQuiz、PoliticallyIncorrect、LeadingQuestion。Figure 3 用颜色区分 QH、PH、FH。
- 题型与判定:仿 Hendrycks 等人(2020)和 Zhang 等人(2024b)做成选择题。模型只回答选项字母,再取 logits 最高的选项。Claude-3.5-Sonnet 不提供 logits,则生成完整回答再抽取选项。测试上下文设为 32k,超长样本从中间截断。
- 选项与指标:通常四个选项,分别对应未理解任务、找不到相关信息、意识到风险但仍不安全、安全且相关。选项由 Qwen2-72B-Instruct 构造。HA 表示识别有害信息,SR 表示识别后给出安全回答。论文以 Figure 2b 为例:选 C 或 D 计 HA,选 D 计 SR;各任务标准在附录 B。作者称 SR 更能区分模型,且是最终目的,因此主指标用 SR。
微调设置
微调用 InternEvo。7B 及以上用 16 张 A100 80G、DeepSpeed ZeRO3,张量并行 TP size 为 2;小于 7B 用 8 张 A100 80G,仅 ZeRO3。最大长度 32k tokens,global batch size 8,最大学习率 3e-6,weight decay 0,1000 步,余弦退火,贪心解码。§5 只对 LLaMA3.1-8B-Instruct 和 Qwen2.5-7B-Instruct 把 LongAlign 与其他安全数据(含 LongSafety)按 1:1 混合;LongAlign 只用不超过 32k 的部分。论文未写出损失函数名称。
论文做了哪些实验?
六模型微调后,LongSafetyBench的SR均高于微调前(Table 2)。
实验设置
- 模型:Table 2 微调并报告结果的是 LLaMA3.1-8B-Instruct、LLaMA3.2-3B-Instruct、Qwen2.5-1.5B-Instruct、Qwen2.5-7B-Instruct、InternLM2.5-7B-Chat、InternLM3-8B-Instruct。Figure 1 还通过 API 测试 GPT-4-Turbo-Preview、Claude-3.5-Sonnet 和 DeepSeek-v3。
- 数据与基准:训练用 LongSafety(正文写 17k 条、平均 40.9k tokens)。长上下文安全用 LongSafetyBench(1k 条、平均 41.9k tokens,主测试长度 32k)。长上下文能力用 LongBench 与 LongBench-v2;短上下文能力用 0-shot ARC 与 MMLU;短上下文安全用 SafetyBench 英文子集和 SALAD-Bench 的 attack-enhanced set。
- 对照:Table 3 只在两个模型上比较 HH-RLHF、BeaverTails、LongSafety-short 与 LongSafety,均与 LongAlign 按 1:1 混合。LongSafety-short 问答与 LongSafety 相同,但去掉长上下文;多轮数据只留最后一组。
- 指标:长上下文安全主指标是 SR,同时报告 HA。Table 2、Table 3 还报告 ARC-e、ARC-c、MMLU 及其平均,LongBench、LongBench-v2 及其平均,SafetyBench、SALAD-Bench 及其平均。
- 判定与人工:最终分数取 logits 最高的选项,不是单独的 LLM 裁判。人工校验抽 LongSafety 350 条、LongSafetyBench 200 条,两名博士生标注一致性,用 Cohen 的 Kappa(Table 1)。
- 训练与重复:最大长度 32k,batch size 8,学习率 3e-6,weight decay 0,1000 步,余弦退火,贪心解码。论文未报告随机种子或多次重复。
主结果
Table 2 的 LongSafetyBench 列为 SR,测试长度 32k;Salad 为 SALAD-Bench attack-enhanced set。下表只列这两列。
表格较宽,可左右滑动
模型 微调前 SR +LongSafety SR 微调前 Salad +LongSafety Salad LLaMA3.1-8B-Instruct 43.19 50.57 5.94 27.58 LLaMA3.2-3B-Instruct 48.77 52.17 7.44 40.54 Qwen2.5-7B-Instruct 51.44 66.52 7.30 41.68 Qwen2.5-1.5B-Instruct 36.72 42.76 12.68 47.30 InternLM2.5-7B-Chat 40.90 47.20 38.52 57.64 InternLM3-8B-Instruct 48.40 56.30 30.28 66.54 - 作者的解读:作者称微调后,模型在 LongSafetyBench 上给出安全回答的能力提高;其他下游任务没有下降,有的还有提高,因此长短上下文都能增强安全并保持能力。
- Table 2 中的下降:LLaMA3.1-8B-Instruct 的 LongBench-v2 从 30.42 到 28.83,MMLU 从 68.24 到 67.84;Qwen2.5-1.5B-Instruct 的 MMLU 从 62.02 到 61.86;InternLM2.5-7B-Chat 的 MMLU 从 68.18 到 67.66。论文未解释这些下降。
- 榜单:Figure 1 的测试长度也是 32k。作者称闭源商用模型仍有优势,开源模型经长上下文安全微调后可以达到与闭源相当甚至更好。图中若干开源模型标注与 Table 2 的 SR 相同;闭源模型的图中数字这里不转写。
与短上下文安全数据混合
Table 3 只训练上述两个 7B/8B 模型。LSB 的 SR 如下,均据 Table 3。
设置 LLaMA3.1-8B SR Qwen2.5-7B SR 基线 43.19 51.44 HH-RLHF+LA 44.70 52.26 BeaverTails+LA 46.40 50.80 LSS+LA 50.40 59.06 LS+LA 54.50 63.68 - 作者的解读:作者称 LongSafety 能提高长短上下文安全并保持通用能力;只做短上下文安全加长上下文对齐,长上下文安全提升更少,低于直接用 LongSafety。表注写的是 most aspects,不是全部格子。
- 例外:Qwen 的 BeaverTails+LA 低于该模型基线。Qwen 的 LS+LA 短上下文能力平均为 60.79,低于基线 61.33。LLaMA 的 LS+LA 在 SafetyBench 上为 75.70,低于基线 76.20,但其短上下文安全平均为 54.70,高于基线 41.07。
- 表间基线不一致:同一 LLaMA3.1-8B-Instruct 的 MMLU 在 Table 2 为 68.24,在 Table 3 为 68.92;Qwen2.5-7B-Instruct 的 MMLU 在 Table 2 为 73.19,在 Table 3 为 75.22。论文未解释。
场景、域与长度
Table 4 拆 SR、HA、QH、PH、FH、ID、OOD,以及 64k、128k。正文称三类有害场景随后报告的是 SR 变化。训练长度为 32k,64k 与 128k 长于训练长度。
- 作者的解读:作者称多数情况下 SR 和 HA 都提高,三类场景训练后都有提高,ID 与 OOD 都有提高;64k 和 128k 上分数仍提高,因此在任务和长度上有一定泛化。表注用 almost consistent improvement 概括。
- 下降:LLaMA3.2-3B-Instruct 的 PH 从 52.47 到 43.47,ID 从 53.94 到 49.63;Qwen2.5-1.5B-Instruct 的 HA 从 68.50 到 66.20。论文未单独解释。
- 若干原数:LLaMA3.1-8B-Instruct 的 OOD 从 44.93 到 56.90,64k 从 48.80 到 52.20,128k 从 49.30 到 50.70;Qwen2.5-7B-Instruct 的 OOD 从 46.44 到 69.41,64k 从 49.80 到 64.80,128k 从 49.60 到 64.60。
其他消融与分析
- 数据效率:Figure 4 跟踪 LLaMA3.1-8B-Instruct 与 Qwen2.5-7B-Instruct 的 SafetyBench、SALAD-Bench、LSB-HA、LSB-SR;每步 8 条,最多 1000 步。作者称整体上升,400 步前上升较快,400 步后趋于平稳,并据此称少量数据即可达到较好的安全对齐。纵轴标到 80,横轴为 Training Steps;未标注的曲线点不转写。
- 标注一致性:Table 1 的 Kappa,LongSafety 为 QH 0.812、PH 0.769、FH 0.883;LongSafetyBench 为 QH 0.794、PH 0.778、FH 0.916。作者称训练和测试数据可靠性较好。
- 案例:附录 C 用一道网络安全分析式提问比较微调前后。作者称微调前两个模型会给出相关技术,微调后会拒绝。附录给出了示例,这里不引述原文。
有什么可以进一步探索的点?
作者指出忽略长输出、完全有害数据少,且评测限于选择题。
作者指出的局限与后续方向
- 长输出:主要关注长输入、短输出;由于数据构造困难,相对忽略长输出。作者写,随着 test-time scaling 推进,长输出的安全也需要进一步探索(Limitations)。
- 类别不平衡:因收集困难,三类有害数据分布不平衡,尤其缺少完全有害类型的训练数据(Limitations)。
- 评测形式:测试侧重选择题,限制了对开放式生成的研究;还需要更多评估模型输出的指标(Limitations)。
- 后续数据:作者计划继续改进 LongSafety 与 LongSafetyBench,加入更多安全相关任务和多样的有害场景,以加强真实应用中的安全表现(Conclusion)。
实验覆盖范围
- 模型:Table 2 微调并报告结果的模型为 LLaMA3.1-8B-Instruct、LLaMA3.2-3B-Instruct、Qwen2.5-1.5B-Instruct、Qwen2.5-7B-Instruct、InternLM2.5-7B-Chat、InternLM3-8B-Instruct,共 6 个。Figure 1 还用各自 API 测试了 GPT-4-Turbo-Preview、Claude-3.5-Sonnet 和 DeepSeek-v3。
- 指标与基准:长上下文安全报告 HA 与 SR;能力与短上下文安全使用 ARC、MMLU、LongBench、LongBench-v2、SafetyBench 英文子集和 SALAD-Bench 的 attack-enhanced set(§4.1)。
- 条件:Table 4 报告 QH、PH、FH、ID、OOD,以及 64k、128k。训练最大长度 32k,1000 步,global batch size 8,贪心解码(§4.1)。
- 混合对比的范围:HH-RLHF、BeaverTails、LongSafety-short 与 LongAlign 的 1:1 混合只在 LLaMA3.1-8B-Instruct 和 Qwen2.5-7B-Instruct 上报告(Table 3、§5)。
- 一致性与重复:人工校验为 LongSafety 350 条、LongSafetyBench 200 条,两名博士生,Kappa 见 Table 1。论文未报告多次重复实验。
总结一下论文的主要内容
LongSafety用三类有害场景做长上下文安全微调,作者称可泛化到更长上下文和域外任务。
LongSafety 是面向长上下文 LLM 的安全对齐数据集,并配有评测集 LongSafetyBench。
- 问题:作者认为长上下文安全场景不清、缺少训练尝试,也不能默认从短上下文安全对齐泛化而来,同时缺少开源多任务评测。
- 做法:按 QH、PH、FH 设计三条构造管线。正文所称训练集为 8 任务、17k 条、平均 40.9k tokens 的安全回答;评测集为 10 任务、1k 条、平均 41.9k tokens 的四选一,主指标 SR,辅以 HA。
- 主结果:六个开源模型在 32k 的 LongSafetyBench 上,SR 均高于只微调前的对应行(Table 2)。Qwen2.5-7B-Instruct 从 51.44 到 66.52,LLaMA3.1-8B-Instruct 从 43.19 到 50.57。SALAD-Bench attack-enhanced 分数也高于微调前,例如 Qwen2.5-7B-Instruct 从 7.30 到 41.68。
- 对照与泛化:与 LongAlign 按 1:1 混合时,LongSafety 的 LSB SR 高于 HH-RLHF、BeaverTails 和 LongSafety-short(Table 3:LLaMA 54.50,Qwen 63.68)。作者称长上下文安全不能由短上下文安全加通用长上下文对齐代替。Table 4 中,作者称 64k、128k 和 OOD 上仍有提升;Qwen2.5-7B-Instruct 的 128k SR 为 64.60,LLaMA3.1-8B-Instruct 的 OOD SR 为 56.90。
- 例外与结论:并非每个格子都上升。LLaMA3.2-3B-Instruct 的 PH 从 52.47 到 43.47,Qwen2.5-1.5B-Instruct 的 HA 从 68.50 到 66.20。作者的结论是,LongSafety 能增强长上下文安全,并在任务和长度上有一定泛化;后续还需补长输出、完全有害数据和开放式生成指标。