一只橘猫,减去「猫」,它会变成什么?
第一步在常见 AI 作图模型输入「一只胖胖的像面包的橘猫」,画出一只长得很像面包的猫猫,然后用概念半透膜 SPM 技术,将猫猫这个概念擦掉,结果它就失去梦想变成了一只面包。上图 1 是更多的猫猫图失去猫这个概念后的结果。
图 1 概念半透膜 SPM 针对不同的「猫」图擦除猫概念后的效果
下图 2 到图 6 展示了更多的示例。
图 2 失去梦想变成一只面包表情包
图 3 西装光剑米老鼠图擦除米老鼠概念
图 4 稻田里的史努比图擦除史努比概念
图 5 梵高的向日葵图擦除梵高概念
图 6 毕加索的抽象画擦除毕加索概念
这便是清华大学丁贵广教授团队和阿里安全联合发布的概念半透膜模型(concept Semi-Permeable Membrane,SPM 模型),该模型能够在 Diffusion 架构的 AI 作图模型中,精准、可控地擦除各类具象或抽象概念,并对无关概念做到几乎完全保留。
相关论文《One-dimensional Adapter to Rule Them All: Concepts, Diffusion Models and Erasing Applications》已经被计算机视觉国际顶级会议 CVPR 2024 高分录用。
阿里集团资深总监、人工智能治理与可持续发展研究中心主任、集团科技伦理治理委员会执行主席薛晖表示:该项成果在通义大模型系列的 AIGC 内生安全领域、可控生成等方面都具备落地潜力,能够有效避免有害概念的侵害,促进通义等 AI 技术产品可用、可靠、可信、可控地向善发展。
前不久,OpenAI 的文生视频模型 Sora 带来了 AIGC 新时代,主流的视觉 AIGC 基于扩散模型(Diffusion Model,DM),但依然存在各类问题,比如可以被诱导生成涉黄、侵权等危险概念、无法精准地对某些概念进行作画和控制等。这里的 「概念」可以是具象的「苹果」,也可以是抽象的「梵高风」、「色情」、「暴力」。
外置安全系统拦截风险会造成较差的用户体验(一些无恶意的用户可能在创作时,因为模型偶然生成一些违规内容而被拦截),因此需要一种基于模型内生安全的概念擦除方法,保留用户意图,同时对模型违规元素进行柔性地精准擦除。
针对此,本文提出了概念半透膜模型(concept Semi-Permeable Membrane,SPM 模型)。
如下图 7 所示,给定一个目标概念,本文的主要目标是从预训练的 DM 中精确地擦除该概念,同时保留其他生成内容。
为了避免对特定 DM 参数的依赖和训练过程中出现的参数漂移,本文首先设计了一种轻量化的一维 Adapter,称为概念半透膜(concept Semi-Permeable Membrane,SPM)。这种极轻量的非侵入性结构可以插入任何预训练的 DM(如 SD v1.x)中,以学习特定概念的可迁移识别及其相应的擦除,同时保持原始模型的完整性。
然后,本文提出了一种新颖的 SPM 微调策略 ——Latent Anchoring(LA),以有效地在潜空间中利用连续的概念进行精确的擦除和有效的概念保留。一旦 SPM 独立学习到擦除不同的潜在风险的能力,这些 SPMs 就构成了一个概念擦除库,其中任何概念的组合(例如 Van Gogh + nudity)都可以根据需求场景定制,并直接免训练地迁移到其他 SPM 兼容的模型中(例如社区中的 RealisticVision 模型)。
在适配 SPM 后的推理过程中,本文的 Facilitated Transport 机制在接受输入 prompt 时会动态地控制 SPM 的激活和渗透性。例如,包含不雅内容的 prompt 将由 nudity SPM 擦除,但不会触发 Van Gogh SPM。同时,没有在 DM 中安装相应 SPM 的 Picasso 风格的生成几乎不会受到影响。
图 7 SPM 技术框架
2.1 轻量化的一维 Adapter:SPM
为了摆脱预训练模型的参数依赖,本文设计了一种轻量高效的 Adapter,SPM。它仅有一个内在维度,作为一种「半透薄膜」被插入到 DM 中来实现精准擦除。
SPM 的单元结构由两个可学习的向量组成。擦除信号用于抑制特定概念的生成,而它的振幅由对应的调节器控制,以确定擦除的强度。
SPM 的结构设计使得多个 SPM 可以叠加地插入到同一个 DM 中,基于信号加法的擦除使得多个危险概念可以灵活定制,以满足错综复杂且不断变化的擦除需求。此外,它可以在大多数的 DM 上轻松迁移,相比现有方法,显著提高推理、部署和存储效率。
2.2 微调阶段的概念半透性精准习得:Latent Anchoring
本文通过模型参数微调使 SPM 获得对特定概念的擦除半渗透性。基于 LDM 中概念的叠加与消去对应于对数概率算数运算的理论,本文对 SPM 进行参数化,以在 DM 的噪声预测过程中执行概念的擦除。
具体而言,给定目标概念,本文预定义一个代理概念(或一般地,空字符串),用来指定目标概念擦出后模型预期的行为,擦除损失如下:
然而,仅用上述学习目标会引发 DM 中其他概念的灾难性遗忘,导致生成中概念的侵蚀现象。对此,本文提出 Latent Anchoring 策略,在上式基础上,对于其他的尤其是距离目标概念更远的概念,本文期望模型尽可能地与原生成保持一致
其中有:
是影响目标概念近义词行为的超参数。
目标概念的精准擦除和安全概念的广泛保留由平衡,SPM 的微调总损失如下:
2.3 生成阶段的概念半透性动态适配:Facilitated Transport
当前文得到一系列擦除不同目标的独立 SPM 后,可以将它们不冲突地组合并覆盖在其他 DM(如)上:
尽管 Latent Anchoring 旨在在微调过程中保护非目标概念,但在安装了多个 SPM 的挑战性场景中,已有方法的结果表明整体生成效果不可避免地退化。为了进一步最小化对无关概念的影响,本文在推理阶段引入 Facilitated Transport 机制,动态地传输目标概念的擦除信号,同时拒绝 SPM 对非目标概念的响应。
具体地,对于给定的 prompt p,每个 SPM 的信息渗透性和传输速率,表示为,取决于 p 中包含的目标概念 c 的概率。为了估计这个概率,本方法首先在 CLIP 文本编码空间中计算 p 和 c 的语义距离,表示为。然而,潜空间上的距离作为一种全局视角可能无法完全捕捉到简单的概念名称和复杂的 prompt 局部描述之间的相关性。为此,本文又引入了局部的度量标准,以在 token 级别上识别相关性:
其中 T 表示 DM 的 Tokenizer。
最终将计算为:
以在全局和局部两个视角下捕捉到 prompt 和目标概念的相关性。当输入的 prompt 中蕴涵了概念 c 的相关信息, 一个较大的将会在在上文公式中激活对应的 SPM,使得相应的生成被抑制;反之,将接近于零,保持生成与原有模型一致。
3.1 单概念的擦除
面对具体概念如「史努比」(图 8 一行五列),抽象概念如「梵高画风」和「毕加索画风」(图 9 一行六列,四行六列),SPM 都擦除足够彻底,且对其他概念几乎没有影响。而其他方法或擦除不彻底,或对无关概念有所破坏。
图 8 擦除史努比的效果
图 9 擦除梵高、毕加索画风的效果
3.2 多概念的擦除
擦除多个概念时,SPM 能保持稳定效果如图 10,且不会影响其他无关概念如图 11,而其他方法都或多或少对无关概念进行侵蚀。
图 10 SPM 对多个概念的擦除效果
图 11 SPM 擦除多概念时对无关概念没有影响
3.3 违规概念的擦除
如图 12,对于一些抽象的有害概念例如色情,只需要加入 SPM,即可做到相对稳定的消除。如图 13,在学界著名的 I2P 测评集合上,SPM 对于色情概念的擦除效果目前达到了业界最优。
图 12 擦除色情概念的效果
图 13 色情概念擦除效果业界最优
3.4 无需训练的迁移
如图 15 显示,当 SPM 训练完成后,就可以直接迁移到同样架构、不同参数的其他模型上,达成即插即用的擦除目的。
图 15 在不同社区模型下的擦除表现
SPM 针对视觉 AIGC 的可控擦除,能够带来更多创作可能性,也能通过擦除危险概念帮助 AI 向善。未来可以迁移到视频侧、3d 侧等各种模态下的概念编辑和擦除工作,都会成为后续 Sora 时代值得研究的点。
文章来自于微信公众号 “机器之心”
【开源免费】graphrag是微软推出的RAG项目,与传统的通过 RAG 方法使用向量相似性作为搜索技术不同,GraphRAG是使用知识图谱在推理复杂信息时大幅提高问答性能。
项目地址:https://github.com/microsoft/graphrag
【开源免费】Dify是最早一批实现RAG,Agent,模型管理等一站式AI开发的工具平台,并且项目方一直持续维护。其中在任务编排方面相对领先对手,可以帮助研发实现像字节扣子那样的功能。
项目地址:https://github.com/langgenius/dify
【开源免费】RAGFlow是和Dify类似的开源项目,该项目在大文件解析方面做的更出色,拓展编排方面相对弱一些。
项目地址:https://github.com/infiniflow/ragflow/tree/main
【开源免费】phidata是一个可以实现将数据转化成向量存储,并通过AI实现RAG功能的项目
项目地址:https://github.com/phidatahq/phidata
【开源免费】TaskingAI 是一个提供RAG,Agent,大模型管理等AI项目开发的工具平台,比LangChain更强大的中间件AI平台工具。
项目地址:https://github.com/TaskingAI/TaskingAI
【开源免费】XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。它帮助开发者提供一个简单易用的平台,可以对大语言模型(LLM)和多模态图文模型(VLM)进行预训练和轻量级微调。XTuner 支持多种微调算法,如 QLoRA、LoRA 和全量参数微调。
项目地址:https://github.com/InternLM/xtuner
【开源免费】LangGPT 是一个通过结构化和模板化的方法,编写高质量的AI提示词的开源项目。它可以让任何非专业的用户轻松创建高水平的提示词,进而高质量的帮助用户通过AI解决问题。
项目地址:https://github.com/langgptai/LangGPT/blob/main/README_zh.md
在线使用:https://kimi.moonshot.cn/kimiplus/conpg00t7lagbbsfqkq0