prompt攻防战!哥伦比亚大学提出BPE造词法,可绕过审核机制,DALL-E 2已中招

简介: prompt攻防战!哥伦比亚大学提出BPE造词法,可绕过审核机制,DALL-E 2已中招
【新智元导读】最近哥伦比亚大学的研究人员发现用多语言的subword组合出的新词,在DALL-E 2系统中仍然能生成预期图像,或可绕过审查系统!


2022年什么最值钱?prompt

 

基于文本的图像生成(text-guided image generation)模型,如DALL-E 2大火后,网友们也是乐此不疲地生成各种搞怪图像。

 

 

但想要让模型生成清晰、可用的目标图像,必须得掌握正确的「咒语」才行,也就是prompt须得精心设计之后才能用,甚至还有人架设网站卖起了prompt

 

 

要是prompt是邪恶咒语,那生成的图片可能会「涉嫌违规」。

 

虽然DALL-E 2发布之初就设立了各种机制来避免模型被滥用,比如从训练数据中删除暴力、仇恨或少儿不宜的图像;使用技术手段防止生成人脸的超写实照片,尤其是一些公众人物。

 

在生成阶段,DALL-E 2还设置了一个prompt过滤器,不允许用户输入的提示词中包含暴力、成人或政治内容。

 

但最近哥伦比亚大学的研究人员发现,可以在prompt添加一些看似胡言乱语的单词,使得过滤器无法识别出词义,但AI系统最终还是能返回有意义的生成图像。

 

论文链接:https://arxiv.org/pdf/2208.04135.pdf

 

作者提出两种构造prompt的方法,第一种称之为macaronic prompting,其中macaronic一词的原意指多种语言的单词进行混合后生成新的词汇,比如说在巴基斯坦,乌尔都语和英语的混合词就很常见。

 

而DALL-E 2的训练语料通常是从互联网上收集的数据,文本和图像之间建立概念联系的过程中多多少少都会涉及到多语言学习,使得训练后的模型具有同时识别多语言概念的能力。

 

所以可以利用多语言组合成新词,绕过人类设计的prompt过滤器,达到对抗攻击的目的。

 

比如鸟(birds)这个词在德语里是Vögel,用意大利语是uccelli,用法语是oiseaux,西班牙语是pájaros,在CLIP模型使用byte pair encoding(BPE)算法对输入提示句进行分词后,可以拆分成多个subword。

 

 

把subword重新排列组合成新词后,比如输入uccoisegeljaros,DALL-E 2仍然能够生成鸟类的图像,但人类却完全无法读懂这个词的含义。

 

 

甚至不严格遵守subword的边界,比如再换成voiscellpajaraux和oisvogajaro,模型仍能生成鸟类图。

 

 

除了鸟类,研究人员发现组合多语言这个方法在不同的图像域都能取得不错的效果,图像生成结果展现出相当高的一致性。

 

 

从动物界到风景、交通工具、场景、情绪的相关图像的生成都不在话下。

 

 

虽然不同的文本指导的图像生成模型有不同的架构、训练数据和分词方法,但原则上,macaronic提示可以应用于任何在多语言数据上训练的模型,比如在DALL-E mini模型中也能发现相同的效果。

 

值得注意的是,尽管名字相似,但DALL-E 2和DALL-E mini是相当不同的。它们有不同的架构(DALL-E mini没有使用扩散模型),在不同的数据集上训练,并使用不同的分词程序(DALL-E mini使用BART分词器,可能会以不同于CLIP分词器的方式分割单词)。

 

尽管有这些差异,macaronic提示仍然能够在两种模型上都能发挥作用,背后的原理还需要再深入研究。

 

但并非所有的macaronic提示都能在不同的模型间适当地转移,比如虽然farpapmaripterling按照预期产生了DALL-E 2的蝴蝶图像,但在DALL-E mini中生成的却是蘑菇图像。

 

 

研究人员推测,可能在更大的数据集上训练出来的更大的模型更容易受到macaronic提示的影响,因为它们在不同语言的子词单元和视觉概念之间学习到了更强的关联关系。

 

这可能可以解释为什么一些在DALL-E 2中产生预期结果的macaronic提示在DALL-E mini中不起作用,却几乎找不到相反的例子。

 

这种趋势可能不是什么好消息,因为大规模模型可能更容易受到使用macaronic提示的对抗性攻击。

 

除了将单个合成词作为prompt以外,合成词也可以嵌入到英语句法中组成句子,生成图像的效果和原始词汇相似。

 

 

并且合成词还有一个优势,就是组合起来可以产生更具体和复杂的场景。虽然复杂的macaronic提示需要符合英语的句法结构,从而使生成结果比使用合成字符串的提示更容易解释,但传达给模型的信息仍然相对模糊。

 

对于大多数人来说,如果没有事先接触过macaronic提示和用于杂交的语言知识,要猜出用提示语An eidelucertlagarzard eating a maripofarterling会产生什么样的场景可能是很困难的。

 

此外,这种成分复杂的提示不会触发基于黑名单的内容过滤器,尽管它们使用的是普通英语单词,只要使用macaronic方法对受审查的概念进行充分「加密」即可。

 

macaronic提示也不一定非在多语言中组合subword,在单一语言内进行合成也能产生有效的视觉概念,不过熟悉英语的人可能会猜测到该字符串的预期效果,比如happeerful这个词很容易猜到是happy和cheerful的合成词。

 

 

第二种方法称为Evocative Prompting,和macaronic不同的是,evocative不需要从现有的词中组合触发视觉联想,而是由特定领域中某些字母组合的统计学意义进行「唤起」,创造出一个新词。

 

参照生物学分类里的二名法(Binomial Nomenclature),可以根据「属名」和「种加词」来创造一个新的「伪拉丁词」,DALL-E就能够根据相应的主题生成对应的物种。

 

 

根据药物的命名规律也可以生成新的药物图片。

 

 

evocative提示也可以应用于语言的特定特征和与相应语言的地点和文化有关的视觉特征之间的关联。比如根据建筑名称,模型就可以推断是哪个国家的风格,如Woldenbüchel生成的场景看起来像德国或奥地利村庄;Valtorigiano看起来像意大利古镇;Beaussoncour则像法国的历史城镇。

 

 

不过也不一定都是建筑物,比如最后一个用DALL-E mini生成的图像则是17世纪的法国肖像,而非法国的地点,但与法国文化的联系还是被保留了下来。

 

evocative提示也可以与词汇杂交结合起来,以获得对输出的具体特征的更多控制。

 

在伪拉丁命名法中引入英语词块会使DALL-E 2生成具有特定属性的动物图像,比如提示词scariosus ferocianensis将可怕(scary)和凶猛(ferocious)与伪拉丁词条结合起来,可以生成传统上可怕的「爬行动物」的图像,如蝎子。

 

 

cutiosus adorablensis将可爱(cute)和adorable与伪拉丁词条结合起来,能够生成传统意义上可爱的哺乳动物的图像;watosus swimensis将水(water)和游泳(swimming)与伪拉丁词缀结合起来,能够生成水生动物的图像;flyosus wingensis将飞行(fly)和有翼(winged)与伪拉丁词缀结合起来能够生成飞行昆虫的图像。

 

从原理上来看,macaronic方法生成的词汇可以提供一种简单的、看似可靠的方法来绕过prompt过滤器,别有用心者可以用来生成有害的、攻击性的、非法的或其他敏感的内容,包括暴力、仇恨、种族主义、性别歧视或色情图片,以及可能侵犯知识产权或描述真实个人的图片。

 

虽然提供图像生成服务的公司已经根据其内容政策,在防止生成这类输出方面做出了大量的努力,但macaronic提示仍然能够对商业图像生成系统的安全协议的造成巨大威胁。

 

而evocative提示带来的威胁不那么明显,因为它没有提供一种十分有效且可靠的方法来触发特定视觉联想的字符串,它大多局限于与单词或语言的广泛形态特征有关的概念的模糊联想。

 

总的来说,macaronic的提示比evocative提示的可操作性更强,基于关键词的黑名单在此类模型中的内容过滤不足以抵御攻击。

 

难道DALL-E 2要开始黑化了?

参考资料:https://www.unite.ai/the-nonsense-language-that-could-subvert-image-synthesis-moderation-systems/

相关文章
|
5月前
|
存储 Shell KVM
手动以及脚本创建KVM虚拟机——Ansible安全基线配置(二)
本教程介绍如何通过手动操作与Shell脚本两种方式创建KVM虚拟机,涵盖环境部署、存储池配置、镜像管理、cloud-init初始化及批量自动化创建。为后续Ansible安全自动化奠定基础,助力实现高效、可复用的服务器基线管控。
371 5
|
机器学习/深度学习 Kubernetes 监控
Jupyter 集群管理:大规模部署的最佳策略
【8月更文第29天】当涉及大规模部署 Jupyter 笔记本服务器时,组织通常需要考虑如何有效地管理这些资源,以便支持多用户、高可用性和高性能的需求。Jupyter 集群管理不仅关乎于提供一个稳定的开发环境,还涉及到安全性、可扩展性和资源优化等问题。
752 1
|
存储 安全 C++
【C++ 17 新特性 std::variant】C++ std::variant 的 深入探讨
【C++ 17 新特性 std::variant】C++ std::variant 的 深入探讨
948 1
|
Kubernetes 应用服务中间件 nginx
搭建Kubernetes v1.31.1服务器集群,采用Calico网络技术
在阿里云服务器上部署k8s集群,一、3台k8s服务器,1个Master节点,2个工作节点,采用Calico网络技术。二、部署nginx服务到k8s集群,并验证nginx服务运行状态。
4470 3
QT5基本对话框
QFileDialog类的几个静态函数见上表,用户通过这些函数可以很方便地定制 自己的文件对话框。其中,getOpenFileName()函数返回用户选择的文件名。但是当 用户在选择文件时,如果选择“取消”(Cancel),则返回一个空串。在此仅详细说 明getOpenFileName()静态函数中各个参数的作用,其他文件对话框类中相关的静态函数 的参数有与其类似之处。
205 0
QT5基本对话框
|
机器学习/深度学习 人工智能 自然语言处理
未来AI技术的发展趋势与应用前景探析
随着人工智能(AI)技术的迅猛发展,未来其应用前景愈发广阔。本文将探讨AI技术在各个领域的最新进展,分析其未来发展趋势,以及对社会、经济的深远影响。 【7月更文挑战第10天】
689 2
|
机器学习/深度学习 缓存 并行计算
NVIDIA Tesla GPU系列P4、T4、P40以及V100参数性能对比
NVIDIA Tesla系列GPU适用于高性能计算(HPC)、深度学习等超大规模数据计算,Tesla系列GPU能够处理解析PB级的数据,速度比使用传统CPU快几个数量级,NVIDIA Tesla GPU系列P4、T4、P40以及V100是Tesla GPU系列的明星产品,云服务器吧分享NVIDIA Tesla GPU系列P4、T4、P40以及V100参数性能对比:
|
SQL 数据库 Windows
配置SqlServer同步时常见的错误以及解决方法
常见的错误主要有五大类:  常见错误一:未在此实例上安装复制组件或者SqlServer复制需要有实际的服务器名称才能连接到服务器。 如图    解决方法:首先检查当前实例名称和默认名称是否一致。
1423 0
|
4天前
|
人工智能 JSON 监控
Claude Code 源码泄露:一份价值亿元的 AI 工程公开课
我以为顶级 AI 产品的护城河是模型。读完这 51.2 万行泄露的源码,我发现自己错了。
3841 8
|
14天前
|
人工智能 JSON 机器人
让龙虾成为你的“公众号分身” | 阿里云服务器玩Openclaw
本文带你零成本玩转OpenClaw:学生认证白嫖6个月阿里云服务器,手把手配置飞书机器人、接入免费/高性价比AI模型(NVIDIA/通义),并打造微信公众号“全自动分身”——实时抓热榜、AI选题拆解、一键发布草稿,5分钟完成热点→文章全流程!
11540 130
让龙虾成为你的“公众号分身” | 阿里云服务器玩Openclaw