← 最新论文
💬 NLP

Constrained Adaptive Rejection Sampling

本文介绍了约束自适应拒绝采样(Constrained Adaptive Rejection Sampling, CARS),这是一种通过利用前缀树(trie)自适应地剪枝无效延续,从而在严格约束下增强语言模型生成样本效率的方法,该方法在保持原始分布的同时,相比现有的贪婪或标准拒绝采样方法,提升了接受率和多样性。

原作者: Paweł Parys, Sairam Vaidya, Taylor Berg-Kirkpatrick, Loris D'Antoni

发布于 2026-06-04
📖 1 分钟阅读☕ 轻松阅读

原作者: Paweł Parys, Sairam Vaidya, Taylor Berg-Kirkpatrick, Loris D'Antoni

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象一下,你正在教一位非常有才华但有点随性的厨师(即语言模型)烹饪一道特定的复杂菜肴(即有效输出),而这道菜必须遵循一本严格的食谱(即约束条件)。这位厨师擅长即兴发挥,但他们经常忽视规则,加入一些会让菜肴变得难以下咽或在结构上无法实现的食材。

这篇论文介绍了一种名为 CARS(约束自适应拒绝采样)的新方法来解决这个问题。为了理解为什么 CARS 特别,让我们来看看两种旧的解决方法,以及为什么它们都失败了。

旧的方法:两种有缺陷的策略

1. “扔掉重做”法(拒绝采样/Rejection Sampling)
想象一下,厨师做了一顿完整的饭菜,你检查了食谱,如果发现不对,你就把整锅菜扔进垃圾桶,并要求他们重新开始。

  • 问题所在: 如果食谱非常严格(比如一种复杂的编程语言),厨师可能要做出 999 顿坏掉的饭菜才能得到一顿正确的。你浪费了大量的精力和时间去扔掉食物。
  • 优点: 最终端上桌的那一顿饭是完美的,完全符合厨师原本的意图。

2. “悬空之手”法(贪婪解码/Greedy Decoding)
想象一下,你站在厨师肩膀后面盯着他。每当他伸手去拿一个违反规则的食材时,你就拍掉他的手,强迫他选择另一个。

  • 问题所在: 厨师停止了自然的烹饪过程。他们变得像机器人一样,只会挑选“安全”的食材。最终做出的饭菜虽然可以食用,但不再具有厨师独特的风格了;它被扭曲了。
  • 优点: 你能非常快速地得到一份有效的饭菜,几乎没有浪费。

新的解决方案:CARS(“聪明的记录员”)

作者提出了 CARS,它结合了两者的优点:既保留了厨师的自然风格(保真度),又避免了在不可能的菜肴上浪费时间(效率)。

以下是 CARS 的工作原理,使用**“禁忌路径库”**这一类比:

  1. 开始烹饪: 厨师开始自然地烹饪,就像“扔掉重做”法那样。
  2. 犯错: 假设厨师试图做一个以 0++ 开头的句子(这在数学上是无效的)。系统捕捉到了这一点。
  3. 聪明的笔记: 系统并没有仅仅扔掉这一个特定的句子,而是打开了一个 Trie(一种特殊的树状结构笔记本)。它写下:“任何以 0++ 开头的菜肴都是不可能实现的。”
  4. 连锁反应: 至关重要的是,系统还意识到,任何0+ 开头且紧跟另一个 + 的菜肴也是注定失败的。它将这些整个分支都标记为“禁忌”。
  5. 未来的烹饪: 下次厨师开始烹饪时,他们会查阅这个笔记本。如果他们试图选择一个会导致“禁忌”分支的食材,系统会在他们浪费时间做完整顿坏饭之前,轻轻地引导他们避开。
  6. 结果: 厨师再也不会做出坏掉的饭菜。他们烹饪得更快了,因为他们不再把时间浪费在死胡同里;但当他们烹饪时,依然保持着自己原汁原味的风格,而不是被迫模仿。

为什么这意义重大?

论文在三个需要生成大量不同有效内容的真实场景中测试了 CARS:

  • 程序模糊测试(寻找 Bug): 想象尝试通过喂给软件程序数百万个不同的输入来破坏它。你需要输入既是有效代码,又足够奇特到能让系统崩溃的内容。CARS 比旧方法找到了更多的 Bug(覆盖了更多的代码行),因为它能更快速地生成有效且多样化的输入,而不会陷入停滞。
  • 分子发现(设计药物): 化学家需要生成有效的化学结构。CARS 生成有效、多样化分子的速度比以往的方法快得多,节省了大量的计算能力。
  • Text-to-SQL(将问题转化为数据库查询): 当向数据库提问时,答案必须是一个完美的 SQL 查询。CARS 用最少的尝试次数产生了最准确的查询。

核心结论

可以将 CARS 看作是一个学习过滤器

  • 旧方法要么通过扔掉错误的尝试来浪费时间(拒绝采样),要么通过强迫 AI 过于僵化来破坏质量(贪婪解码)。
  • CARS 从每一次错误中学习。它构建了一张“死胡同”地图,这样 AI 就永远不会再走错路。这意味着你既能得到完美有效的结果,同时保留 AI 自然的声音,而且由于不再把能量浪费在不可能的路径上,你获得它们的速度也更快了

该论文声称,这是第一个对于这类严格任务既能做到精确(完美准确)又能做到高效(快速)的方法。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →