什么是 RealToxicityPrompts?一个用于评估语言模型毒性退化的提示语数据集
RealToxicityPrompts 是一个由英文句子开头构成的提示语(prompt)语料库,每条提示语都配有毒性分类器给出的多维毒性评分,用于评估自回归语言模型在给定上下文后生成有毒内容的倾向。它由 Gehman 等人在 2020 年的论文中提出,并被收录进 TensorFlow Datasets 目录。
RealToxicityPrompts 是一个英文提示语(prompt)语料库,其中的提示语是自然出现的句子开头,毒性程度各不相同,每条提示语都附带由毒性分类器给出的多维毒性评分。按照该数据集原始论文的说法,它被设计用来回答一个问题:预训练的神经语言模型(neural language model)在多大程度上会被提示语诱导,生成种族歧视、性别歧视或其他有毒语言。它解决的是「模型会不会被带坏、被带坏到什么程度」缺少统一测试床(test bed)的问题。
为什么重要
在 RealToxicityPrompts 出现之前,评估语言模型的安全性主要依赖零散的观察:研究者注意到预训练语言模型可能输出不当内容,但缺少一套可复现、可比较的输入集合,也就难以判断不同模型、不同缓解手段之间的差异。原始论文指出,预训练语言模型容易生成种族主义、性别歧视或其他有毒语言,这妨碍了它们的安全部署;而如果没有标准化的提示语集合与配套的毒性评分,讨论「某个方法是否降低了毒性」就只能停留在个案层面。
该论文还强调了一个更根本的问题:毒性退化不只是模型「学坏了」的表象,它与预训练数据的构成有关。作者分析了用于预训练若干语言模型(包括 GPT-2)的两个英文网页文本语料库,发现其中存在大量冒犯性、事实不可靠以及其他有毒内容。因此,一个能够量化「提示语—生成结果」关系的测试集,同时也是推动预训练数据筛选流程改进的依据。论文将这项工作定位为评估语言模型有毒生成的测试床,并强调需要更好的预训练数据选择过程。
工作机制
按照论文与 TensorFlow Datasets 目录文档的描述,该数据集的核心构造与使用方式可以分几个要点理解。
- 提示语来源与规模。论文称数据集包含 10 万条(100K)自然出现的、句子级别的提示语,取自一个大型英文网页文本语料库。TensorFlow Datasets 目录给出的 train 切分样本数为 99,442,并说明这些提示语是「句子开头」,用途是作为自回归语言模型(例如 GPT-2)的上下文,让其续写完成。
- 配套毒性评分。每条提示语都配有来自一个广泛使用的毒性分类器的评分。目录文档列出的字段显示,提示语(prompt)与续写(continuation)各自带有一组细分分数:flirtation、identity_attack、insult、profanity、severe_toxicity、sexually_explicit、threat、toxicity,均为 float32;此外还有提示语文本、续写文本、起止位置(begin、end)、文件名,以及一个布尔字段 challenging。
- 评估流程。使用时把提示语作为上下文喂给语言模型,让模型生成续写,再用毒性分类器对生成结果打分,从而衡量模型在不同毒性水平的提示语下产生有毒续写的倾向。论文正是用这一流程考察预训练语言模型能否被「看似无害」的提示语诱导出有毒文本。
- 对缓解方法的比较。论文用该数据集实证评估了若干可控文本生成方法,结论是:数据或算力密集型的方法(例如在无毒数据上做自适应预训练)在远离毒性方面比更简单的方案(例如封禁「坏词」)更有效,但没有任何现有方法能对神经毒性退化提供万无一失的保障。
在工程使用层面,TensorFlow Datasets 目录文档给出了该数据集的下载体积 3.46 GiB、数据集体积 81.22 MiB,并标注其支持自动缓存;特征结构为 FeaturesDict,包含 begin、challenging、continuation、end、filename、prompt 等字段,其中 continuation 与 prompt 为嵌套的 FeaturesDict。目录文档还注明该数据集不支持 tfds.show_examples 图示,且没有监督键(supervised keys)。
典型例子
素材中出现的真实用法与系统包括:
- 原始论文的实验。Gehman、Gururangan、Sap、Choi、Smith 五人的论文《RealToxicityPrompts: Evaluating Neural Toxic Degeneration in Language Models》使用该数据集考察预训练语言模型的可诱导毒性,并比较多种可控生成方法;论文提到 GPT-2(Radford 等,2019)作为被分析的模型之一。该论文发表于 EMNLP 2020 的 Findings,arXiv 编号为 2009.11462。
- TensorFlow Datasets 中的数据集条目。该数据集以 real_toxicity_prompts 之名收录于 TensorFlow Datasets 目录,版本 1.0.0 为初始发布版本,构建器为 tfds.datasets.real_toxicity_prompts.Builder,主页指向 allenai 的 real-toxicity-prompts 代码仓库。
- 作为评测基准的定位。论文明确将该数据集描述为评估语言模型有毒生成的测试床,供后续工作在同一输入集合上比较不同模型与方法。
边界与常见误解
首先,它不是一套「去毒」工具,也不提供任何缓解算法;它提供的是提示语与评分,用于测量而非修复。论文的结论也明确:即便采用数据或算力密集型方法,也没有现有方法能完全防止毒性退化。
其次,不应把它理解为「模型本身有毒」的证明。论文的表述是预训练语言模型可以被提示语诱导产生有毒续写,并把部分原因追溯到预训练网页语料中的冒犯性、事实不可靠与有毒内容;这是关于数据与生成行为关系的分析,而非对某个模型属性的定性判决。
第三,评分来自一个广泛使用的毒性分类器,因此数据集中的毒性标签反映的是该分类器的判断,而非人工逐条标注的绝对真值;分类器本身的误差会传导到基于该数据集得出的结论中。
第四,语料范围有限。按论文与目录文档的描述,它是英文的、句子级别的提示语集合,来源于英文网页文本,因此其结论不宜直接外推到其他语言、其他文体或其他模态。目录文档中 train 切分样本数为 99,442,与论文所称的 10 万条在数量上略有差异,引用时应注意区分来源。
最后,容易把「封禁坏词」这类简单手段当作有效防线。论文的实证比较恰恰指出,简单方案不如数据或算力密集型方法有效,而后者也并非万无一失。