Class-RAG:通过RAG 提高内容审核性能

发布于 2024-10-24 14:30
浏览
0收藏

Class-RAG:通过RAG 提高内容审核性能-AI.x社区图片

1.Class-RAG 推出的背景

随着技术的发展,互联网上出现了越来越多的不良内容。过去,使用机器学习的方法来对内容进行情感分类、骚扰识别、仇恨言论检测等。深度学习技术的发展推动了内容审核技术的发展。

但是,传统的模型微调方法在完成内容审核任务时,存在很多问题:

• 首先,内容审核是一项高度主观的任务,意味着标注数据中标注人员之间的一致性较低,可能是由于对政策指南存在不同的解读,尤其是在各种 Corner Case 上。

• 其次,不可能强制推行通用的危害分类法,不仅是因为任务的主观性,还因为系统拓展到新的地区、新的受众和新的用例时会产生影响,这些地区、受众和用例使用不同的审核要求。使得分类器必须持续微调,以适应不断变化地安全风险。

针对以上问题,结合当前大语言模型的发展,作者提出了一种新的内容审核的分类方法:Class-RAG,利用检索增强生成来进行内容分类。

2. Class-RAG 系统架构

Class-RAG:通过RAG 提高内容审核性能-AI.x社区图片

上图是 Class-RAG 的流程示意图,由嵌入模型、检索库、检索模块以及微调的 LLM 分类器构成。

当用户输入查询时,通过嵌入模型向量化后,与检索库中的正负案例进行检索,检索出 K 个最近的参考案例,然后将参考案例和输入提示给到微调的 LLM 进行分类。

2.1 嵌入模型

采用 DRAGON RoBERTa 作为嵌入模型。

专门使用了 DRAGON 模型的上下文编码器组件。为探究替代嵌入模型的影响,还评估了 WPIE(Whole Post Integrity Embedding)Meta(2021 年)的变体。测试的 WPIE 模型是一个在内容审核数据上预先训练的 4 层 XLM-R 模型,产生了两个不同的输出:不安全概率估计和提示嵌入表示。

2.2 检索库

检索库由两个不同的子库组成:安全用例库和不安全用例库。

检索库中的每个条目都由四个属性来呈现,包括:

-(1)提示

-(2)标签

-(3)嵌入

-(4)解释

运用 K-Means 聚类算法,将安全案例按每个概念分为 7 个聚类,并从每个聚类中挑选出中心案例,纳入安全子库。同样的聚类方法也被用于收集不安全案例。

共产生了 3,484 个安全案例和 3,566 个不安全案例,共同构成了分布内检索库。为了提升库对模型推理能力的帮助,使用了 Llama3-70b 模型为每个案例生成解释性文本(见下图)。检索库中的每一条目都由四个属性组成:提示、标签、解释和嵌入,这些属性在从库中选取一个参考案例时会一并被检索。

Class-RAG:通过RAG 提高内容审核性能-AI.x社区图片

2.3 检索模块

给定所选的嵌入,借助 Faiss 库进行相似性搜索,从检索库中高效检索出两个最近的安全示例和两个最近的不安全示例。使用 L2 距离度量来计算输入嵌入与存储在检索库中的嵌入之间的相似度,从而能够识别出最相关的示例。

3 效果评估

3.1 分类性能及对对抗性攻击的稳健性

对 Class-RAG 进行了全面测评,将其性能与两个基线模型 WPIE 和 LLAMA3 在 CoPro 同分布(ID)测试集和分布外(OOD)测试集上进行对比。

Class-RAG:通过RAG 提高内容审核性能-AI.x社区图片

上表结果表明:Class-RAG 优于两个基线模型。值得注意的是,LLAMA3 和 Class-RAG 在同分布和分布外测试集上均取得了 AUPRC 分数 1,表明分类性能出色。然而,Class-RAG(DRAGON RoBERTa)在对抗性攻击方面相较于 LLAMA3 展现出更强的稳健性,凸显了其在存在混淆输入时保持性能的能力。

3.2 对外部数据源的适应能力

在内容审核(Class RAG)中使用 RAG 的主要原因是 RAG 能够使得系统快速适应外部数据,而不需要重新训练模。为了验证这种适应能力,作者在两个外部数据集上进行了适应能力的评估。

Class-RAG:通过RAG 提高内容审核性能-AI.x社区图片

上表结果表明,当仅依赖 ID 库时,Class-RAG 在 I2P++数据集上表现欠佳,AUPRC 分数(Area under the precision-recall curve)仅为 0.229。

ID 库:In-Distribution Library,指在特定数据分布内构建的检索库,它包含了与训练数据相似分布的样本。

但加入完整外部库的新参考示例, AUPRC 有显著的 245%的提升,达到 0.791 分。此外,模型对抗对抗性攻击的性能也显著提高,从 0.235 相对提升至 0.677,增加了 188%。在 UD 数据集上观察到类似的改进,AUPRC 分数从 0.917 提升至 0.985,对抗对抗性攻击的性能从 0.914 提高到 0.976。

3.3 遵循指令的能力

探究 Class-RAG 遵循参考示例的指引并生成与这些示例相符的响应的能力。使用了带有翻转 ID 库的 测试集,该库包含与原始 ID 库相同的示例,但标签翻转(“不安全”→“安全”,“安全”→“不安全”)且删除了解释。

Class-RAG:通过RAG 提高内容审核性能-AI.x社区图片

上图表明 Class-RAG 具有很强的遵循指令的能力。99.49%的真实安全示例的预测标签成功地从“安全”翻转至“不安全”,而 12.29%的真实不安全示例的预测标签从“不安全”翻转至“安全”。真实安全和不安全示例之间翻转比率的这种差异可归因于 Llama3 模型的安全微调,该模型旨在防止生成有害响应并且已记住了不安全的内容。

3.4 相对于检索库大小的性能可扩展性

检索库的规模对Class-RAG的性能有着显著影响。

为了探究库容量对性能的具体作用,制作了按比例缩减的外部库版本,分别标记为EX (1/8)、EX (1/4)和EX (1/2),这些库是通过重新聚类完整外部库并缩减至原大小的1/8、1/4和1/2来形成的。

Class-RAG:通过RAG 提高内容审核性能-AI.x社区图片

实验结果表明,随着检索库规模的扩大,模型的表现稳步提升。

在I2P++数据集上,随着外部库从无到完整规模的逐步添加,AUPRC得分从0.235逐步提高至0.677。

在UD数据集上,得分也呈现出相似的增长趋势,从0.914增至0.974。

性能的提升与检索库的规模成正比,说明扩大库的规模是提升Class-RAG性能的有效途径。

由于检索库仅涉及存储和索引的成本,相较于模型训练来说成本较低,因此,扩展检索库规模成为了一种既经济又高效提升模型性能的策略。

3.5 参考样本数量对性能的影响

分别引入了0个、2个、4个、6个和8个参考样本,并确保每组中安全与不安全的样本数量相等。

Class-RAG:通过RAG 提高内容审核性能-AI.x社区图片

如上表所示,Class-RAG的性能随着参考样本的增加而稳步提升。

在I2P++数据集上,使用0个、2个、4个、6个和8个参考样本时,平均AUPRC得分分别为0.303、0.632、0.677、0.715和0.721。

在UD数据集上,随着参考样本的增加,平均AUPRC得分也从0.932提升至0.965、0.974、0.978和0.980。

当参考样本数量达到大约8个时,性能的提升开始趋于平稳。

此外,与扩大检索库规模相比,增加更多的参考样本会带来更高的计算成本。

因此,虽然增加参考样本数量能够提升性能,但必须考虑到相应的计算开销,寻求平衡点。

3.6 嵌入模型对性能的影响

评估了两种不同的嵌入模型——DRAGON RoBERTa 与WPIE——对Class-RAG性能的影响。

Class-RAG:通过RAG 提高内容审核性能-AI.x社区图片

如上表所示,DRAGON RoBERTa的嵌入效果优于WPIE。具体而言,DRAGON RoBERTa在ID测试集上实现了平均0.938的AUPRC,在OOD测试集上达到了0.920,均超过了WPIE的表现,后者在ID测试集上的平均AUPRC为0.912,在OOD测试集上则是0.901。

本文转载自 大语言模型论文跟踪​,作者:HuggingAGI

收藏
回复
举报
回复
相关推荐