LLM 水印将不可感知但可检测的信号整合到模型输出中,以识别 LLM 生成的文本,这对于防止大型语言模型被滥用至关重要。 这些水印技术主要分为两类:KGW 系列和 Christ 系列。 KGW 系列修改了 LLM 生成的对数,根据前一个标记将词汇分为绿表和红表,从而生成水印输出。 在文本生成过程中,绿色列表标记的对数会出现偏差,从而在生成的文本中偏向于这些标记。 然后根据绿字的比例计算出一个统计指标,并建立一个阈值来区分有水印和无水印文本。 KGW 方法的改进包括改进列表分割、更好的对数处理、增加水印信息容量、抵御水印去除攻击以及公开检测水印的能力。
相反,Christ 系列改变了 LLM 文本生成过程中的采样过程,通过改变标记的选择方式来嵌入水印。 这两个水印系列都旨在平衡水印的可探测性和文本质量,应对在不同熵设置下的鲁棒性、增加水印信息容量和防止删除尝试等挑战。 近期研究的重点是改进列表分割和对数操作)、提高水印信息容量、开发抗水印去除方法以及实现公共检测。 归根结底,LLM 水印对于以合乎道德和负责任的方式使用大型语言模型至关重要。 大型语言模型为追踪和验证 LLM 生成的文本提供了一种方法。 KGW 和 Christ Families 提供了两种截然不同的方法,每种方法都有独特的优势和应用,并通过持续的研究和创新不断发展。
由于 LLM 水印框架能够在模型输出中嵌入可通过算法检测的信号,因此识别由 LLM 框架生成的文本在降低与滥用大型语言模型相关的风险方面发挥着至关重要的作用。 然而,目前市场上有大量 LLM 水印框架,每个框架都有自己的观点和评估程序,因此研究人员很难轻松地试用这些框架。 为了解决这个问题,开源水印工具包 MarkLLM 提供了一个可扩展的统一框架,用于实现 LLM 水印算法,同时提供友好的用户界面,确保易于使用和访问。 此外,MarkLLM 框架还支持这些框架机制的自动可视化,从而增强了这些模型的可理解性。 MarkLLM 框架提供了一个由 12 个工具组成的综合套件,涵盖三个方面以及两个自动评估管道,用于评估其性能。 本文旨在深入介绍 MarkLLM 框架,探讨该框架的机制、方法和架构,并将其与最先进的框架进行比较。 那么,让我们开始吧。
MarkLLM:LLM 水印工具包
LLaMA、GPT-4、ChatGPT 等大型语言模型框架的出现大大提高了人工智能模型执行特定任务的能力,包括创意写作、内容理解、编排检索等。 然而,在当前大型语言模型的卓越能力带来显著优势的同时,某些风险也浮出水面,其中包括学术论文的鬼画符、LLM 生成的假新闻和描写,以及个人冒名顶替等等。 鉴于与这些问题相关的风险,开发能够区分 LLM 生成的内容和人类内容的可靠方法至关重要,这是确保数字通信真实性的主要要求。 数字通信在过去几年中,LLM 水印一直被推荐为区分 LLM 生成的内容与人为内容的可行解决方案之一。 过去几年来,LLM 水印一直被推荐为区分 LLM 生成的内容与人为内容的有前途的解决方案之一,通过在文本生成过程中加入不同的特征,可以使用专门设计的检测器唯一地识别 LLM 输出。 然而,由于 LLM 水印框架的激增和相对复杂的算法,以及评估指标和视角的多样化,使得这些框架的实验变得异常困难。
MARKLLM为加载算法、生成水印文本、执行检测过程和收集可视化数据提供了一致且用户友好的界面。 它为两种主要的水印算法系列提供了定制的可视化解决方案,使用户能够通过实际示例了解不同算法在各种配置下的工作情况。 该工具包包括一个全面的评估模块,其中有 12 种工具,可解决可探测性、稳健性和文本质量影响等问题。 此外,它还具有两种类型的自动评估管道,支持用户自定义数据集、模型、评估指标和攻击,从而促进灵活而全面的评估。 MARKLLM 采用模块化、松散耦合架构设计,增强了可扩展性和灵活性。 这种设计支持新算法的集成、创新的可视化技术以及未来开发人员对评估工具包的扩展。
已经提出的水印算法不计其数,但其独特的实现方法往往优先考虑特定要求,而不是标准化,从而导致了以下几个问题
- 类设计缺乏标准化:由于类设计不够标准化,因此需要花费大量精力来优化或扩展现有方法。
- 顶层调用接口缺乏统一性:接口不一致使得批处理和复制不同算法变得繁琐而费力。
- 代码标准问题:挑战包括需要在多个代码段中修改设置以及文档不一致,从而使定制和有效使用复杂化。 硬编码值和不一致的错误处理进一步阻碍了适应性和调试工作。
为了解决这些问题,我们的工具包提供了一个统一的实现框架,可以在灵活的配置下方便地调用各种最先进的算法。 此外,我们精心设计的类结构还为未来的扩展铺平了道路。 下图展示了这一统一实现框架的设计。
由于框架采用分布式设计,开发人员可以直接为任何特定的水印算法类添加额外的顶层接口,而不必担心影响其他算法。
MarkLLM : 结构与方法
LLM 水印技术主要分为两类:KGW 系列和 Christ 系列。 KGW 系列修改了 LLM 生成的对数,根据前一个标记将词汇分为绿表和红表,从而创建水印输出。 在文本生成过程中,绿色列表标记的对数会出现偏差,从而在生成的文本中偏向于这些标记。 然后根据绿字的比例计算出一个统计指标,并建立一个阈值来区分有水印和无水印文本。 KGW 方法的改进包括改进列表分割、更好的对数处理、增加水印信息容量、抵御水印去除攻击以及公开检测水印的能力。
相反,Christ 系列改变了 LLM 文本生成过程中的采样过程,通过改变标记的选择方式来嵌入水印。 这两个水印系列都旨在平衡水印的可探测性和文本质量,应对在不同熵设置下的鲁棒性、增加水印信息容量和防止删除尝试等挑战。 近期研究的重点是改进列表分割和对数操作)、提高水印信息容量、开发抗水印去除方法以及实现公共检测。 归根结底,LLM 水印对于以合乎道德和负责任的方式使用大型语言模型至关重要。 大型语言模型为追踪和验证 LLM 生成的文本提供了一种方法。 KGW 和 Christ 系列提供了两种不同的方法,每种方法都具有独特的优势和应用,并通过持续的研究和创新不断发展。
自动综合评估
评估 LLM 水印算法是一项复杂的任务。 首先,它需要考虑多方面的因素,包括水印的可探测性、防篡改的鲁棒性以及对文本质量的影响。 其次,每个角度的评估可能需要不同的指标、攻击场景和任务。 此外,进行评估通常涉及多个步骤,如模型和数据集选择、水印文本生成、后处理、水印检测、文本篡改和度量计算。 为了方便、全面地评估 LLM 水印算法,MARKLLM 提供了十二种用户友好型工具,包括各种度量计算器和攻击器,涵盖了上述三个评估视角。 此外,MARKLLM 还提供两种类型的自动演示管道,其模块可以灵活定制和组装,便于配置和使用。
在可检测性方面,大多数水印算法最终都需要指定一个阈值来区分水印文本和非水印文本。 我们提供了一个使用固定阈值的基本成功率计算器。 此外,为了尽量减少阈值选择对可检测性的影响,我们还提供了一个支持动态阈值选择的计算器。 该工具可以确定产生最佳 F1 分数的阈值,也可以根据用户指定的目标误报率 (FPR) 选择阈值。
在鲁棒性方面,MARKLLM 提供了三种单词级文本篡改攻击:以指定比例进行随机单词删除、使用 WordNet 作为同义词集进行随机同义词替换,以及使用 BERT 作为嵌入模型进行上下文感知同义词替换。 此外,还提供了两种文档级文本篡改攻击:通过 OpenAI API 或 Dipper 模型解析上下文。 在文本质量方面,MARKLLM 提供了两个直接分析工具:一个是用于衡量流畅性的 perplexity 计算器,另一个是用于评估文本可变性的 diversity 计算器。 为了分析水印在特定下游任务中对文本实用性的影响,我们为机器翻译任务提供了 BLEU 计算器,为代码生成任务提供了通过与否判断器。 此外,鉴于目前比较有水印和无水印文本质量的方法包括使用更强的 LLM 进行判断,MarkLLM 还提供了一个 GPT 判别器,利用 GPT-4 来比较文本质量。
评估管道
为了便于对 LLM 水印算法进行自动评估,MARKLLM 提供了两个评估管道:一个用于评估有攻击和无攻击时的水印可探测性,另一个用于分析这些算法对文本质量的影响。 按照这一流程,我们实现了两个管道:WMDetect3 和 UWMDetect4。 它们的主要区别在于文本生成阶段。 前者需要使用水印算法中的 generate_watermarked_text 方法,而后者则取决于 text_source 参数,以决定是直接从数据集中获取自然文本,还是调用 generate_unwatermarked_text 方法。
为了评估水印对文本质量的影响,我们生成了一对带水印和不带水印的文本。 在此过程中,我们针对不同的评估场景实施了三种管道:
- 5:该管道专门设计用于分析文本质量,方法是直接比较有水印文本和无水印文本的特征。 它无需任何外部参考文本,即可评估易混度 (PPL) 和日志多样性等指标。
- 6:该管道通过将水印文本和无水印文本与通用参考文本进行比较来评估文本质量。 它测量与参考文本的相似度或偏差度,因此非常适合需要特定下游任务来评估文本质量的场景,如机器翻译和代码生成。
- 7:该管道采用外部判别器(如 GPT-4(OpenAI,2023 年))来评估带水印和不带水印文本的质量。 鉴别器根据用户提供的任务描述对文本进行评估,识别水印可能导致的质量下降或保持。 当需要对水印的微妙效果进行基于人工智能的高级分析时,这种方法尤为重要。
MarkLLM:实验和结果
为了评估其性能,MarkLLM 框架对九种不同的算法进行了评估,并评估了它们对文本质量的影响、稳健性和可检测性。
上表包含 MarkLLM 支持的九种算法的可检测性评估结果。评估水印可检测性时采用了动态阈值调整,提供了三种设置:目标 FPR 为 10%、目标 FPR 为 1%,以及 F1 分数性能最优条件下。 我们生成了 200 个带水印的文本,并以 200 个无水印文本作为反例。 我们提供了在 10%和 1%FPR动态阈值调整下的 TPR 和 F1 分数,以及最佳性能下的 TPR、TNR、FPR、FNR、P、R、F1、ACC。 下表列出了 MarkLLM 支持的九种算法的鲁棒性评估结果。 每次攻击都会生成 200 个水印文本,然后进行篡改,另外还有 200 个非水印文本作为反例。 我们报告了每种情况下最佳性能的 TPR 和 F1 分数。
(机器翻译,轻度译后编辑,仅供参考)
编辑:胡跃