robust distortion-free watermarks for language models
本文是LLM系列文章,针对《robust distortion-free watermarks for language models》的翻译。
语言模的鲁棒无失真水印
- 摘要
- 1 引言
- 2 方法和理论分析
- 3 实验结果
- 4 讨论
摘要
我们提出了一种从自回归语言模型中在文本中植入水印的方法,该方法对扰动具有鲁棒性,而不会在一定的最大生成预算下改变文本上的分布。我们通过将一系列随机数映射到语言模型的样本来生成带水印的文本,这些随机数是我们使用随机水印密钥计算的。为了检测带水印的文本,任何知道密钥的一方都可以将文本与随机数字序列对齐。我们用两种采样方案来实例化我们的水印方法:逆变换采样和指数最小采样。我们将这些水印应用于三种语言模型-OPT-1.3B、LLaMA-7B和Alpaca-7B,以通过实验验证它们的统计能力和对各种转述攻击的鲁棒性。值得注意的是,对于OPT-1.3B和LLaMA-7B模型,我们发现即使在通过随机编辑(即替换、插入或删除)损坏了40-50%的token之后,我们也可以从35个token中可靠地检测到带水印的文本(p≤0.01)。对于Alpaca-7B模型,我们对典型用户指令的水印响应的可行性进行了案例研究。由于响应的熵较低,检测更加困难:大约25%的响应(其中值长度约为100个token)在p≤0.01的情况下是可检测的,并且水印对我们实现的某些自动转述攻击的鲁棒性也较差。
1 引言
2 方法和理论分析
3 实验结果
4 讨论
在本文中,我们为语言模型提供了第一个对编辑和/或裁剪具有鲁棒性的无失真水印策略。支撑我们方法的关键思想是利用稳健序列比对的方法,将假定的带水印文本与LM提供商用于生成带水印文本的水印密钥序列进行比对。我们的水印的统计能力相对于文本的长度呈指数级提高,并且相对于水印密钥序列的长度仅线性减小。
我们的水印检测算法的计算复杂度在水印密钥序列的长度上是线性的,这也是LM提供者可以生成的无失真水印token的总数。相反,Christ等人以及Aaronson和Kirchenbauer等人的水印检测算法的复杂性在输入文本的长度上是线性的;然而,前一种水印不具有抗破坏性,后两种水印也不具有无失真性。这些渴望之间的这种明显的权衡是否是根本性的,这是一个有趣的悬而未决的问题。
包括我们的水印策略在内的所有上述水印策略背后的基本假设是LM提供者和水印检测器通过预先共享信息(例如水印密钥)来进行协调。事实上,水印的主要固有限制是检测器必须信任LM提供者在生成文本时忠实地应用水印。第二个限制不是固有的,但目前适用于所有已知的水印,即LM提供者不能发布模型权重,因为用户可以直接查询模型,而不是通过LM提供者。在不降低模型质量的情况下,将鲁棒水印直接植入语言模型的权重中是未来工作的重要方向。
最近,几家主要的语言模型提供商(包括OpenAI、Anthropic、谷歌和Meta)承诺从他们的模型中为文本添加水印。因此,我们最后向从业者提出了一些突出的建议。首先,我们建议从业者使用我们的EXP编辑水印,因为它是迄今为止我们测试过的水印中最健壮的。第二,尽管原则上水印密钥序列n的长度——它对LM提供者可以生成的无失真水印token的总数施加了上限——可以在测试统计的块大小k中(几乎)呈指数增长,同时仍然能够从k个token中检测水印,在实践中,我们发现使用相当小的水印密钥序列(例如,n=256)不会显著影响带水印文本的质量(即,即使在总共生成n个以上的token时)。我们的水印检测过程(即算法3中的检测和测试统计)很容易并行,因此我们预计,即使有非常大的水印密钥序列(例如,n=100000),水印检测的计算需求也不会成为显著的瓶颈–尽管我们注意到,我们从未在实现中运行过如此大的n(并且我们没有利用并行性),从而警告了这种猜测。
相关文章:
robust distortion-free watermarks for language models
本文是LLM系列文章,针对《robust distortion-free watermarks for language models》的翻译。 语言模的鲁棒无失真水印 摘要1 引言2 方法和理论分析3 实验结果4 讨论 摘要 我们提出了一种从自回归语言模型中在文本中植入水印的方法,该方法对扰动具有鲁…...
PTS性能测试工具-使用记录
因为PTS使用是要收费的,所以文中会有大量图片记录,为我自己以后工作中,可能会再次使用PTS做个参照,以免时间长,容易忘记~ 目录 一、创建场景 二、填写一个压测节点 1、填写节点基本信息 2、Body / Header填写 …...
【boost网络库从青铜到王者】第六篇:asio网络编程中的socket异步读(接收)写(发送)
文章目录 1、简介2、异步写 void AsyncWriteSomeToSocketErr(const std::string& buffer)3、异步写void AsyncWriteSomeToSocket(const std::string& buffer)4、异步写void AsyncSendToSocket(const std::string& buffer)5、异步读void AsyncReadSomeToSocket(cons…...
django sqlite3操作和manage.py功能介绍
参考链接:https://www.cnblogs.com/csd97/p/8432715.html manage.py 常用命令_python manage.py_追逐&梦想的博客-CSDN博客 python django操作sqlite3_django sqlite_浪子仙迹的博客-CSDN博客...
【SQL语句】SQL编写规范
简介 本文编写原因主要来于XC迁移过程中修改SQL语句时,发现大部分修改均源自于项目SQL编写不规范,以此文档做以总结。 注:此文档覆盖不甚全面,大体只围绕迁移遇到的修改而展开。 正文 1、【字段引号】 列名、表名如无特殊情况…...
后端项目开发:工具类封装(序列化、反射)
1.整合Jackson 根据《阿里巴巴开发规范》,包名使用单数,类名可以使用复数。 所以generic-common创建util包和utils工具类 很多时候我们需要将接收到的json数据转换为对象,或者将对象转为json存储。这时候我们需要编写用于json转换的工具类。…...
软件测试技术分享丨遇到bug怎么分析?
为什么定位问题如此重要? 可以明确一个问题是不是真的“bug” 很多时候,我们找到了问题的原因,结果发现这根本不是bug。原因明确,误报就会降低 多个系统交互,可以明确指出是哪个系统的缺陷,防止“踢皮球…...
LeetCode无重复字符的最长子串
给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 示例 2: 输入: s “bbbbb” 输出: 1 解释: 因为无重复字符的最长子串是 “…...
17.2.2 【Linux】通过systemctl观察系统上所有的服务
使用 systemctl list-unit-files 会将系统上所有的服务通通列出来~而不像 list-units 仅以 unit 分类作大致的说明。 至于 STATE 状态就是前两个小节谈到的开机是否会载入的那个状态项目。主要有 enabled / disabled / mask / static 等等。 假设我不想要知道这么多…...
Redis扩容机制与一致性哈希算法解析
在分布式系统设计中,Redis是一个备受欢迎的内存数据库,而一致性哈希算法则是分布式系统中常用的数据分片和负载均衡技术。本文将深入探讨Redis的扩容机制以及一致性哈希算法的原理,同时提供示例代码以帮助读者更好地理解这两个重要概念。 推…...
BDA初级分析——可视化基础
一、可视化的作用 数据可视化——利用各种图形方式更加直观地呈现数据的过程 可视化的作用 1、更快地理解数据,找出数据的规律和异常 2、讲出数据背后的故事,辅助做出业务决策 3、给非专业人士提供数据探索的能力 数据分析问题如何通过可视化呈现&am…...
边缘计算节点BEC典型实践:如何快速上手PC-Farm服务器?
百度智能云边缘计算节点BEC(Baidu Edge Computing)基于运营商边缘节点和网络构建,一站式提供靠近终端用户的弹性计算资源。边缘计算节点在海外覆盖五大洲,在国内覆盖全国七大区、三大运营商。BEC通过就近计算和处理,大…...
python自动把内容发表到wordpress完整示例及错误解答
要实现 Python 自动将内容发布到 WordPress,可以使用 Python 的 wordpress_xmlrpc 库,该库提供了使用 WordPress XML-RPC API 进行内容发布和管理的功能。 需要安装一下第三方库:wordpress_xmlrpc! pip install python_wordpress_xmlrpc 下面是一个简单的示例代码,可以实…...
【javaweb】学习日记Day6 - Mysql 数据库 DDL DML DQL
之前学习过的SQL语句笔记总结戳这里→【数据库原理与应用 - 第六章】T-SQL 在SQL Server的使用_Roye_ack的博客-CSDN博客 目录 一、概述 1、如何安装及配置路径Mysql? 2、SQL分类 二、DDL 数据定义 1、数据库操作 2、IDEA内置数据库使用 (1&…...
如何利用SFTP如何实现更安全的远程文件传输 ——【内网穿透】
🎬 鸽芷咕:个人主页 🔥 个人专栏: 《高效编程技巧》《cpolar》 ⛺️生活的理想,就是为了理想的生活! 文章目录 1. 安装openSSH1.1 安装SSH1.2 启动ssh 2. 安装cpolar2.1 配置termux服务 3. 远程SFTP连接配置3.1 查看生成的随机公…...
枚举和反射
枚举 枚举 枚举是一种特殊的类,它可以有自己的属性、方法和构造方法。 两种枚举的方法 自定义枚举 a.将构造器私有化,防止外部直接new b.去掉set方法,防止属性被修改 c.在内部直接创建固定的对象 通过类名直接去访问 关键字枚举 用…...
MinIO【部署 01】MinIO安装及SpringBoot集成简单测试
MinIO安装及SpringBoot集成测试 1.下载安装1.1 Install the MinIO Server1.2 Launch the MinIO Server1.3 Connect Your Browser to the MinIO Server 2.SpringBoot集成2.1 依赖及配置2.2 代码2.3 测试结果 1.下载安装 下载 https://min.io/download#/linux; 安装文…...
问道管理:证券代码是什么?有什么用?
交流炒股经历时,有些股民一时忘了股票发行公司的全称,会直接报一串数字来代替,这串数字的内容是证券代码,那么,证券代码是什么?它又起什么作用?关于这些,为大家准备了以下参考内容。…...
中文医学知识语言模型:BenTsao
介绍 BenTsao:[原名:华驼(HuaTuo)]: 基于中文医学知识的大语言模型指令微调 本项目开源了经过中文医学指令精调/指令微调(Instruction-tuning) 的大语言模型集,包括LLaMA、Alpaca-Chinese、Bloom、活字模型等。 我们基于医学知识图谱以及医…...
Java基础十四(字符串)
1. 判断邮箱 输入一个电子邮箱,判断是否是正确电子邮箱地址。 正确的邮箱地址: 必须包含 字符,不能是开头或结尾必须以 .com结尾和.com之间必须有其他字符 public class Mailbox {/*** 判断邮箱* param str* return boolean*/public stat…...
HTML 语义化
目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案: 语义化标签: <header>:页头<nav>:导航<main>:主要内容<article>&#x…...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...
微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...
vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...
3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...
安卓基础(aar)
重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...
视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)
前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块,…...
【7色560页】职场可视化逻辑图高级数据分析PPT模版
7种色调职场工作汇报PPT,橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版:职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...
Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...
