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/

相关文章
|
Web App开发 存储 JavaScript
mac安装nvm
nvm,全称 node.js version management,就是nodejs版本管理用具,nvm可以快速切换使用不用版本的node。 nodejs,Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js使用了一个事件驱动、非阻塞式I/O的模型( Node.js的特性),使其轻量级又高效 npm,Node Package Manager,nodejs 包管理工具。在安装的 nodejs 的时候,npm 也会跟着一起安装,它是包管理工具。npm 管理 nodejs 中的第三方插件 nvm 管理 nodejs 和 npm 的版
3396 1
mac安装nvm
|
SQL 机器学习/深度学习 自然语言处理
达梦(DM) SQL函数相关
讲述 DM 数据库函数
|
Shell
Ubuntu20.04安装anaconda并默认激活conda base环境(步骤详细/操作简单实用)
Ubuntu20.04安装anaconda并默认激活conda base环境方法
21256 0
|
10月前
|
消息中间件 人工智能 API
100行代码讲透MCP原理
本文通过100行代码看到MCP的核心原理并不复杂,但它的设计巧妙深入理解使我们能够超越简单的SDK使用,创建更强大、更灵活的AI应用集成方案。
1946 61
100行代码讲透MCP原理
|
9月前
|
人工智能 负载均衡 Java
Spring AI Alibaba 发布企业级 MCP 分布式部署方案
本文介绍了Spring AI Alibaba MCP的开发与应用,旨在解决企业级AI Agent在分布式环境下的部署和动态更新问题。通过集成Nacos,Spring AI Alibaba实现了流量负载均衡及节点变更动态感知等功能。开发者可方便地将企业内部业务系统发布为MCP服务或开发自己的AI Agent。文章详细描述了如何通过代理应用接入存量业务系统,以及全新MCP服务的开发流程,并提供了完整的配置示例和源码链接。未来,Spring AI Alibaba计划结合Nacos3的mcp-registry与mcp-router能力,进一步优化Agent开发体验。
3058 14
|
自然语言处理 物联网 API
检索增强生成(RAG)实践:基于LlamaIndex和Qwen1.5搭建智能问答系统
检索增强生成(RAG)实践:基于LlamaIndex和Qwen1.5搭建智能问答系统
检索增强生成(RAG)实践:基于LlamaIndex和Qwen1.5搭建智能问答系统
|
存储 人工智能 安全
使用‘消除’技术绕过LLM的安全机制,不用训练就可以创建自己的nsfw模型
本文探讨了一种名为“abliteration”的技术,该技术能够在不重新训练大型语言模型(LLM)的情况下移除其内置的安全审查机制。通常,LLM在接收到潜在有害输入时会拒绝执行,但这一安全特性牺牲了模型的灵活性。通过对模型残差流的分析,研究人员发现可以识别并消除导致拒绝行为的特定方向,从而允许模型响应所有类型的提示。
2230 1
|
机器学习/深度学习 Kubernetes 监控
Jupyter 集群管理:大规模部署的最佳策略
【8月更文第29天】当涉及大规模部署 Jupyter 笔记本服务器时,组织通常需要考虑如何有效地管理这些资源,以便支持多用户、高可用性和高性能的需求。Jupyter 集群管理不仅关乎于提供一个稳定的开发环境,还涉及到安全性、可扩展性和资源优化等问题。
697 1
|
机器学习/深度学习 人工智能 自然语言处理
预训练驱动的统一文本表示-GTE魔搭社区最佳实践
文本表示是自然语言处理(NLP)领域的核心问题, 其在很多NLP、信息检索的下游任务中发挥着非常重要的作用。