Continuous Diffusion Models Can Obey Formal Syntax
本文介绍了 Diffinity,这是一种无需训练的引导方法,它通过分析性得分来引导采样,使连续扩散语言模型能够满足形式化语法约束(如正则表达式),从而在无需辅助分类器或重新训练的情况下实现高约束满足率和输出质量。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你正在尝试烘焙一个完美的蛋糕,但你必须遵循一份非常严格的食谱(即“形式语法”)。如果你漏掉了一种配料,或者打乱了步骤的顺序,蛋糕就会毁掉。
问题所在:“模糊”的烘焙师
当今大多数人工智能语言模型的工作方式,就像一位从左到右逐一添加配料的烘焙师。如果他们在中途意识到忘了加糖,就很难在不从头开始的情况下回头修正。这被称为“自回归”生成。
然而,一种名为扩散模型的新型人工智能工作方式则不同。想象这个模型从一个装满纯粹、混乱噪声的碗里开始(就像一碗面粉、鸡蛋和糖被随机混合在一起)。随着时间的推移,它慢慢地对混合物进行“去噪”,一步步地 refinement,直到一个清晰的蛋糕显现出来。问题在于,因为它是在处理一种“模糊”的、连续的混合物,而不是离散的配料,所以很难告诉它:“确保这个蛋糕必须是一个 JSON 文件”或者“它必须符合这个特定模式”。人工智能并不自然地理解这些严格的规则,因为它习惯于只生成“看起来不错”的文本。
解决方案:DIFFINITY(食谱指南)
这篇论文的作者创造了一种名为DIFFINITY的工具。你可以把 DIFFINITY 想象成一位站在“模糊”烘焙师身旁的超级聪明的食谱指南。
DIFFINITY 不会强迫烘焙师停下来更换配料(那会毁掉蛋糕的味道),而是在烘焙师正在混合时,轻轻地引导他的手。它会说:“嘿,目前的混合物看起来正朝着有效的 JSON 文件发展,继续朝这个方向走!”或者“哎呀,那条路通向一个破碎的句子,稍微向左转。”
工作原理(魔法技巧)
通常,要让人工智能遵循规则,你必须训练一个单独的“裁判”(分类器)来检查工作并给出“通过”或“失败”的判定。这需要大量的时间和计算能力。
DIFFINITY 的特别之处在于它是无需训练的。它不需要新的裁判。相反,它利用数学即时计算出当前的“模糊”混合物最终变成有效蛋糕的概率。
- 它将严格的规则(如正则表达式)翻译成一张地图(有限自动机)。
- 它观察人工智能“噪声”的当前状态,并计算:“如果我们继续这样走下去,我们到达终点的几率有多大?”
- 它利用这个计算结果,温和地将人工智能推向“有效”的路径。
结果:更好的蛋糕,更少的错误
作者在两种类型的任务上测试了这种方法:
- JSON 文件:严格的结构化数据格式(如数字发票)。
- 自然语言:具有特定模式的句子(如“以'Hello'开头,以'World'结尾”)。
他们发现 DIFFINITY 在遵循规则方面表现出色:
- 高成功率:它满足严格规则的概率在 68% 到 96% 之间。
- 更好的质量:与其他迫使人工智能遵循规则却最终产生胡言乱语的方法不同,DIFFINITY 保持了文本听起来自然且高质量。
- 超越竞争对手:在遵循复杂规则而不陷入循环或犯错方面,它的表现实际上优于标准的“从左到右”烘焙师(自回归模型)。
局限性(代价)
唯一的缺点是速度。因为 DIFFINITY 必须在每一步进行繁重的数学计算(将地图与混合物进行核对),所以生成一个句子所需的时间大约是人工智能独立工作时的 2 到 3 倍。然而,作者认为,获得完美且遵循规则的结果值得额外的等待时间。
总结
DIFFINITY 教会了“模糊”的、连续的人工智能如何遵循严格的、离散的规则(如代码或特定的句子结构),而无需重新训练人工智能或牺牲文本质量。它通过使用数学“指南针”来引导人工智能的生成过程走向有效的结果。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。