Language model developers typically filter out high-risk content -- such as toxic or copyrighted text -- from their pre-training data to prevent models from generating similar outputs. However, removing such data altogether limits models' ability to recognize and appropriately respond to harmful or sensitive content. In this paper, we introduce Selective Loss to Understand but Not Generate (SLUNG), a pre-training paradigm through which models learn to understand high-risk data without learning to generate it. Instead of uniformly applying the next-token prediction loss, SLUNG selectively avoids incentivizing the generation of high-risk tokens while ensuring they remain within the model's context window. As the model learns to predict low-risk tokens that follow high-risk ones, it is forced to understand the high-risk content. Through our experiments, we show that SLUNG consistently improves models' understanding of high-risk data (e.g., ability to recognize toxic content) without increasing its generation (e.g., toxicity of model responses). Overall, our SLUNG paradigm enables models to benefit from high-risk text that would otherwise be filtered out.
Teaching Models to Understand (but not Generate) High-risk Data
- 论文ID: 2505.03052
- 标题: Teaching Models to Understand (but not Generate) High-risk Data
- 作者: Ryan Wang, Matthew Finlayson, Luca Soldaini, Swabha Swayamdipta, Robin Jia
- 分类: cs.CL cs.LG
- 发表会议: COLM 2025
- 论文链接: https://arxiv.org/abs/2505.03052
Language model developers typically filter out high-risk content -- such as toxic or copyrighted text -- from their pre-training data to prevent models from generating similar outputs. However, removing such data altogether limits models' ability to recognize and appropriately respond to harmful or sensitive content. In this paper, we introduce Selective Loss to Understand but Not Generate (SLUNG), a pre-training paradigm through which models learn to understand high-risk data without learning to generate it. Instead of uniformly applying the next-token prediction loss, SLUNG selectively avoids incentivizing the generation of high-risk tokens while ensuring they remain within the model's context window. As the model learns to predict low-risk tokens that follow high-risk ones, it is forced to understand the high-risk content. Through our experiments, we show that SLUNG consistently improves models' understanding of high-risk data (e.g., ability to recognize toxic content) without increasing its generation (e.g., toxicity of model responses). Overall, our SLUNG paradigm enables models to benefit from high-risk text that would otherwise be filtered out.
当前语言模型开发中存在一个根本矛盾:为了防止模型生成有害内容(如毒性文本、版权内容等),开发者通常会从预训练数据中过滤掉这些高风险内容。然而,这种做法虽然提高了模型的安全性,却限制了模型识别和适当响应有害或敏感内容的能力。
- 数据过滤的副作用:完全移除高风险数据会降低模型对这类内容的理解能力
- 理解与生成的耦合:传统的下一token预测目标本质上将模型的理解能力和生成能力耦合在一起
- 现实部署需求:实际应用中,模型需要能够识别和处理有害请求,但这需要对有害内容有一定理解
作者提出要获得"两全其美"的效果:训练出既能理解高风险数据又不会生成这类内容的模型。这需要超越标准的下一token预测目标,将模型的理解能力和生成能力解耦。
- 提出SLUNG框架:一种新的预训练范式,通过选择性损失函数实现理解与生成的解耦
- 技术创新:设计了基于token风险级别的差异化训练策略,包括Masked SLUNG和Unlikelihood SLUNG两种实现
- 实验验证:在毒性内容理解和虚构实体学习两个场景下验证了方法的有效性
- 理论贡献:为安全且有能力的语言模型开发提供了新的框架和思路
给定预训练文档 X=(x1,x2,...,x∣X∣),每个token都有对应的二元标签 (l1,l2,...,l∣X∣),其中 li∈{0,1} 表示第i个token是否为高风险token(li=1)或低风险token(li=0)。
目标是训练一个模型,使其对高风险span分配高困惑度,同时对可能以高风险内容为条件的低风险span保持低困惑度。
SLUNG的关键创新在于对不同风险级别的token采用不同的损失函数:
L(θ,X)=−∑i=1∣X∣[1[li=1]fθ(xi∣x<i)+1[li=0]logpθ(xi∣x<i)]
其中:
- 高风险token(li=1)使用自定义损失函数 fθ(xi∣x<i)
- 低风险token(li=0)使用标准最大似然目标
- 所有token都保留在模型的上下文窗口中
1. Masked SLUNG
对高风险token设置 fθ(xi∣x<i)=0,即屏蔽其生成损失,但token仍然对注意力机制可见。
2. Unlikelihood SLUNG
对高风险token应用 fθ(xi∣x<i)=log(1−pθ(xi∣x<i)),显式惩罚模型对高风险token分配高概率。
- 解耦设计:首次在预训练阶段实现理解与生成能力的解耦
- 上下文保持:高风险token虽然不参与损失计算或被惩罚,但仍在上下文中,确保模型能学习其表示
- 间接学习机制:通过学习预测跟随高风险内容的低风险token,强制模型理解高风险内容
- 灵活框架:可以与任何风险检测分类器配合使用
- 基础模型:OLMo 1B(从checkpoint 737开始继续预训练)
- 训练数据:原始Dolma数据集的最后40亿token + 注入的毒性Reddit文档(约2.12亿token,占5%)
- 毒性分类:使用FastText毒性分类器,将内容分为Not Toxic、Possibly Toxic和Definitely Toxic三类
- Control (OLMo 1B):未接触毒性数据的原始模型
- Low-risk Baseline:仅在非毒性Reddit内容上训练
- Toxic Baseline:在所有数据(包括毒性内容)上使用标准最大似然训练
- Masked SLUNG:对Definitely Toxic和Possibly Toxic token屏蔽损失
- Unlikelihood SLUNG:对Definitely Toxic token应用unlikelihood损失
- TOFU数据集:包含合成作者档案的问答对
- 训练设置:仅在答案列进行微调,实体名称被标记为高风险token
- 目标:学习实体相关事实但避免生成实体名称
- 生成评估:使用RealToxicityPrompts评估模型生成毒性内容的倾向,通过Perspective API评分
- 理解评估:在CivilComments数据集上训练线性探针,评估模型隐藏状态的毒性分类能力(AUROC)
- 生成评估:测量模型输出实体名称的比例
- 理解评估:使用GPT-4o评估模型回答事实性问题的正确性
- 帕累托最优:SLUNG方法在理解-生成权衡中达到帕累托前沿,既提高了毒性理解能力又降低了毒性生成
- 理解能力提升:Masked SLUNG和Unlikelihood SLUNG在CivilComments上的AUROC分别达到约0.825和0.820,显著优于Control基线的0.810
- 生成安全性:两种SLUNG方法的毒性生成分数都控制在0.165左右,远低于Toxic Baseline的0.175
- 指令微调后效果持续:经过指令微调后,SLUNG方法仍然保持帕累托最优性
随着毒性数据量从20M增加到320M token:
- Masked SLUNG始终保持最佳的理解-生成权衡
- 理解能力随数据量线性提升,但生成毒性增长缓慢
- 证明了SLUNG的良好扩展性
| 方法 | 名称生成率↓ | 完全正确率↑ | 部分正确率↑ |
|---|
| OLMo 1B | 57.5% | 3.5% | 15.5% |
| Direct training | 34.3±9.2% | 28.2±0.6% | 51.4±0.7% |
| Masked SLUNG | 4.1±1.2% | 20.8±1.9% | 44.0±2.1% |
| Unlikelihood SLUNG | 1.5±0.7% | 22.3±2.1% | 43.6±3.2% |
- 所有方法在Dolma文档上的困惑度无显著差异,说明SLUNG不损害通用语言建模能力
- Masked SLUNG在非毒性Reddit文档上困惑度最低
- Unlikelihood SLUNG在Reddit域困惑度较高,可能因为unlikelihood损失影响了该域的生成分布
在TOFU实验中,SLUNG模型学会了用代词("he"、"she")或省略主语的方式回答问题,成功避免生成实体名称同时保留事实信息。
- 现有工作主要通过过滤解决高风险内容问题
- Grattafiori et al. (2024)、Soldaini et al. (2024)等采用文档级或span级过滤
- 这些方法虽然提高安全性但损失了数据多样性
- Unlikelihood training:惩罚不良序列的高概率
- 对比学习:通过对比促进preferred候选
- RLHF:通过人类反馈抑制有害生成
- 这些方法主要关注抑制生成,未明确评估理解能力
- 分类器引导解码:使用辅助分类器调整生成概率
- 控制token方法:通过特殊token条件化生成
- DExperts:使用"好"和"坏"专家模型引导生成
- SLUNG成功实现了语言模型理解与生成能力的解耦,为安全AI开发提供新范式
- 该方法在毒性内容和实体学习两个不同场景下都表现出色,证明了其通用性
- SLUNG使模型能够从原本会被过滤的高风险文本中获益,提高数据利用效率
- 计算预算限制:实验采用继续预训练而非从头训练,可能低估了方法的完整潜力
- 分类器依赖:方法效果依赖于风险检测分类器的质量
- 评估范围:主要在1B参数模型上验证,大规模模型的效果有待验证
- 域特异性:Unlikelihood SLUNG可能影响特定域的生成能力
- 大规模预训练:在完整预训练设置下评估SLUNG效果
- 抗攻击性研究:探索SLUNG对jailbreak攻击的抵抗能力
- 分类器改进:开发更准确的风险检测系统
- 理论分析:深入理解解耦机制的理论基础
- 创新性强:首次在预训练阶段实现理解与生成解耦,思路新颖
- 实用价值高:解决了AI安全领域的重要问题,有广泛应用前景
- 实验充分:在两个不同场景下验证,包含多种对比方法和消融实验
- 方法简洁:实现相对简单,易于复现和应用
- 理论清晰:解耦机制的原理阐述清楚,数学表述严谨
- 规模限制:实验主要在小规模模型上进行,大模型效果未知
- 评估局限:毒性检测依赖特定分类器,可能存在偏差
- 长期效果:未评估方法对模型长期行为的影响
- 计算开销:需要额外的风险标注,增加了预处理成本
- 学术贡献:为AI安全研究提供新思路,可能启发后续工作
- 实用价值:对工业界语言模型开发有直接指导意义
- 可复现性:作者承诺开源代码,便于社区验证和扩展
- 内容审核系统:需要识别但不生成有害内容的应用
- 版权保护:学习版权内容但避免直接复制的场景
- 敏感信息处理:理解但不泄露隐私信息的系统
- 教育应用:需要了解不当内容以进行教育但不传播的场景
论文引用了多个重要工作,包括:
- Longpre et al. (2023):关于预训练数据对模型能力影响的研究
- Welleck et al. (2019):Unlikelihood training的原始工作
- Soldaini et al. (2024):Dolma数据集的构建和过滤方法
- Gehman et al. (2020):RealToxicityPrompts评估基准
该论文为语言模型安全训练提供了重要的方法论贡献,通过巧妙的损失函数设计实现了理解与生成的解耦,为未来的安全AI研究奠定了基础。