Connect with us

人工智能

MARKLLM:一个用于LLM水印的开源工具包

mm
MARKLLM: An Open-Source Toolkit for LLM Watermarking

LLM水印技术通过在模型输出中集成不可察觉但可检测的信号来识别LLM生成的文本,对于防止大型语言模型的滥用至关重要。这些水印技术主要分为两类:KGW家族和Christ家族。KGW家族通过修改LLM生成的logits来创建水印输出,方法是根据前一个token将词汇表分为绿色列表和红色列表。在文本生成过程中,向绿色列表中的token的logits引入偏差,偏爱这些token在生成的文本中。然后,根据绿色单词的比例计算一个统计指标,并建立一个阈值来区分水印和非水印文本。KGW方法的改进包括改进的列表分区、更好的logits操作、增加水印信息容量、抵抗水印删除攻击以及公开检测水印的能力。

相反,Christ家族通过改变LLM文本生成过程中的采样过程来嵌入水印,方法是改变token的选择方式。两种水印家族都旨在平衡水印的可检测性和文本质量,解决诸如在不同熵设置中保持稳健性、增加水印信息容量和防止删除尝试等挑战。最近的研究重点是改进列表分区和logits操作、增强水印信息容量、开发抵抗水印删除的方法以及实现公开检测。最终,LLM水印对于大型语言模型的伦理和负责任的使用至关重要,提供了一种方法来追踪和验证LLM生成的文本。KGW和Christ家族提供了两种不同的方法,每种都有其独特的优势和应用,通过持续的研究和创新不断演进。

由于LLM水印框架能够在模型输出中嵌入算法可检测的信号来识别LLM框架生成的文本,在减轻大型语言模型滥用的风险方面发挥着至关重要的作用。然而,目前市场上有大量LLM水印框架,每个都有其自己的观点和评估程序,这使得研究人员难以轻松地尝试这些框架。为了解决这个问题,MarkLLM,一个用于LLM水印的开源工具包,提供了一个可扩展和统一的框架来实现LLM水印算法,同时提供用户友好的接口以确保易用性和访问性。另外,MarkLLM框架支持这些框架机制的自动可视化,从而提高了这些模型的可理解性。MarkLLM框架提供了一个全面的12种工具套件,涵盖三个角度,以及两个自动评估管道来评估其性能。本文旨在深入介绍MarkLLM框架,我们探讨了该框架的机制、方法论、架构以及与最先进框架的比较。让我们开始吧。

MarkLLM:LLM水印工具包

大型语言模型框架的出现,如LLaMA、GPT-4、ChatGPT等,显著推进了AI模型执行特定任务的能力,包括创意写作、内容理解、信息检索等。然而,伴随着当前大型语言模型的卓越优势,一些风险也浮现出来,包括学术论文代写、LLM生成的假新闻和描述、个人模仿等。鉴于这些问题的风险,开发可靠的方法来区分LLM生成和人类生成的内容至关重要,这是确保数字通信的真实性和防止虚假信息传播的主要要求。近几年,LLM水印被认为是区分LLM生成内容和人类内容的一种有前途的解决方案,通过在文本生成过程中嵌入独特的特征,LLM输出可以使用专门设计的检测器来唯一识别。然而,由于LLM水印框架的增殖和相对复杂的算法,以及评估指标和观点的多样化,使得尝试这些框架变得非常困难。

为了弥补当前的差距,MarkLLM框架尝试做出以下贡献。MarkLLM提供了一致且用户友好的接口用于加载算法、生成水印文本、进行检测过程和收集数据用于可视化。它为两个主要的水印算法家族提供了自定义的可视化解决方案,允许用户在各种配置和实际示例中看到不同算法的工作原理。工具包包括一个全面的评估模块,包含12种工具,用于解决可检测性、稳健性和文本质量影响。另外,它具有两种自动评估管道,支持用户自定义数据集、模型、评估指标和攻击,方便灵活和彻底的评估。具有模块化、松散耦合的架构,MarkLLM增强了可扩展性和灵活性。这种设计选择支持新算法、创新可视化技术和评估工具包的扩展,以供未来开发者使用。

已经提出了许多水印算法,但它们独特的实现方法通常优先考虑特定的要求而不是标准化,导致了几个问题

  1. 类设计的标准化不足:这需要在优化或扩展现有方法时付出大量努力,因为类设计的标准化不足。
  2. 顶级调用接口的统一性不足:不一致的接口使得批处理和复制不同算法变得繁琐和耗时。
  3. 代码标准问题:挑战包括需要跨多个代码段修改设置以及不一致的文档,复杂化了自定义和有效使用。硬编码值和不一致的错误处理进一步阻碍了适应性和调试努力。

为了解决这些问题,我们的工具包提供了一个统一的实现框架,允许在灵活的配置下方便地调用各种最先进的算法。另外,我们精心设计的类结构为未来扩展铺平了道路。下图展示了这个统一实现框架的设计。

由于框架的分布式设计,开发人员可以轻松地向任何特定的水印算法类添加额外的顶级接口,而不必担心影响其他算法。

MarkLLM:架构和方法论

LLM水印技术主要分为两类:KGW家族和Christ家族。KGW家族通过修改LLM生成的logits来创建水印输出,方法是根据前一个token将词汇表分为绿色列表和红色列表。在文本生成过程中,向绿色列表中的token的logits引入偏差,偏爱这些token在生成的文本中。然后,根据绿色单词的比例计算一个统计指标,并建立一个阈值来区分水印和非水印文本。KGW方法的改进包括改进的列表分区、更好的logits操作、增加水印信息容量、抵抗水印删除攻击以及公开检测水印的能力。

相反,Christ家族通过改变LLM文本生成过程中的采样过程来嵌入水印,方法是改变token的选择方式。两种水印家族都旨在平衡水印的可检测性和文本质量,解决诸如在不同熵设置中保持稳健性、增加水印信息容量和防止删除尝试等挑战。最近的研究重点是改进列表分区和logits操作、增强水印信息容量、开发抵抗水印删除的方法以及实现公开检测。最终,LLM水印对于大型语言模型的伦理和负责任的使用至关重要,提供了一种方法来追踪和验证LLM生成的文本。KGW和Christ家族提供了两种不同的方法,每种都有其独特的优势和应用,通过持续的研究和创新不断演进。

自动化综合评估

评估LLM水印算法是一项复杂的任务。首先,它需要考虑多个方面,包括水印的可检测性、对篡改的稳健性和对文本质量的影响。其次,评估可能需要不同的指标、攻击场景和任务。另外,评估通常涉及多个步骤,例如模型和数据集的选择、水印文本的生成、后处理、水印检测、文本篡改和指标计算。为了方便地评估LLM水印算法,MarkLLM提供了12种用户友好的工具,包括各种指标计算器和攻击器,涵盖了三个评估角度。另外,MarkLLM提供了两种自动化的评估管道,其模块可以灵活地自定义和组装,允许轻松配置和使用。

对于可检测性方面,大多数水印算法最终需要指定一个阈值来区分水印和非水印文本。我们提供了一个基本的成功率计算器,使用固定阈值。另外,为了最小化阈值选择对可检测性的影响,我们还提供了一个支持动态阈值选择的计算器。这个工具可以确定产生最佳F1分数的阈值或根据用户指定的目标假阳性率(FPR)选择阈值。

对于稳健性方面,MarkLLM提供了三种词级文本篡改攻击:随机删除指定比例的单词、使用WordNet作为同义词集的随机同义词替换和使用BERT作为嵌入模型的上下文感知同义词替换。另外,提供了两种文档级文本篡改攻击:通过OpenAI API或Dipper模型对上下文进行改述。对于文本质量方面,MarkLLM提供了两种直接分析工具:一个困惑度计算器来衡量流畅度和一个多样性计算器来评估文本的可变性。为了分析水印对特定下游任务的文本实用性的影响,我们提供了一个BLEU计算器用于机器翻译任务和一个通过/不通过判断器用于代码生成任务。另外,考虑到当前比较水印和非水印文本质量的方法,包括使用更强大的LLM进行判断,MarkLLM还提供了一个GPT鉴别器,使用GPT-4来比较文本质量。

评估管道

为了方便LLM水印算法的自动化评估,MarkLLM提供了两种评估管道:一种用于评估水印的可检测性,包括有攻击和无攻击的情况;另一种用于分析这些算法对文本质量的影响。按照这个过程,我们实现了两个管道:WMDetect3和UWMDetect4。两者之间的主要区别在于文本生成阶段。前者需要使用水印算法的generate_watermarked_text方法,而后者依赖于text_source参数来确定是否直接从数据集中检索自然文本或调用generate_unwatermarked_text方法。

为了评估水印对文本质量的影响,生成水印和非水印文本的对。这些文本以及其他必要的输入被处理并输入到指定的文本质量分析器中,以产生详细的分析和比较结果。按照这个过程,我们为不同的评估场景实现了三个管道:

  1. DirectQual.5:这个管道专门设计用于通过直接比较水印文本和非水印文本的特征来分析文本质量。它评估诸如困惑度(PPL)和对数多样性的指标,而无需任何外部参考文本。
  2. RefQual.6:这个管道通过比较水印和非水印文本与一个共同的参考文本来评估文本质量。它衡量文本与参考文本的相似度或偏差程度,使其适合需要特定下游任务来评估文本质量的场景,例如机器翻译和代码生成。
  3. ExDisQual.7:这个管道使用外部判断器,如GPT-4(OpenAI,2023),来评估水印和非水印文本的质量。鉴别器根据用户提供的任务描述评估文本,确定水印是否导致质量的任何潜在下降或保持。这种方法在需要对水印的微妙影响进行高级AI分析时尤其有价值。

MarkLLM:实验和结果

为了评估其性能,MarkLLM框架对九种不同的算法进行了评估,评估了它们对文本质量的影响、稳健性和可检测性。

上表包含了评估MarkLLM支持的九种算法的可检测性的结果。使用动态阈值调整来评估水印的可检测性,提供了三个设置:在10%的目标假阳性率(FPR)下,在1%的目标FPR下,以及在最佳F1分数性能条件下。生成200个水印文本,另外200个非水印文本作为负面示例。我们提供了在10%和1%的FPR下动态阈值调整的TPR和F1分数,以及在最佳性能条件下的TPR、TNR、FPR、FNR、P、R、F1、ACC。下表包含了评估MarkLLM支持的九种算法的稳健性的结果。对于每种攻击,生成200个水印文本,然后篡改这些文本,另外200个非水印文本作为负面示例。我们报告了在每种情况下最佳性能条件下的TPR和F1分数。

最后的想法

在这篇文章中,我们讨论了MarkLLM,一个用于LLM水印的开源工具包,它提供了一个可扩展和统一的框架来实现LLM水印算法,同时提供用户友好的接口以确保易用性和访问性。另外,MarkLLM框架支持这些框架机制的自动可视化,从而提高了这些模型的可理解性。MarkLLM框架提供了一个全面的12种工具套件,涵盖三个角度,以及两个自动评估管道来评估其性能。

专业为工程师,心为作家。 Kunal是一名技术作家,对AI和ML有着深厚的热爱和理解,致力于通过其引人入胜和信息丰富的文档来简化这些领域中的复杂概念。