扩散语言模型可以并行填充多个位置,但代码、JSON、SMILES 这类形式语言有一条硬门槛:语法错了,输出就不能用。
机器之心报道的 LAVE,名字来自 Lookahead-then-Verify。模型提出一个新 token 后,LAVE 先用其余位置的概率分布补出几组候选,再把没有
[MASK] 的候选交给上下文无关文法解析器检查。只要有一个候选仍能扩展成合法前缀,这个 token 才被接受;否则就重新生成。这解决了扩散语言模型约束解码的特殊难题。自回归模型的中间结果是完整前缀,扩散模型的中间结果可能到处留着空缺,普通解析器无法直接判断它是否还能补成合法程序。
文章称,LAVE 在 LLaDA-8B、LLaDA-1.5、Dream-7B 和 DiffuCoder-7B 上覆盖 C++、Java、Go、JSON 和 SMILES 任务,四个模型在五项任务上的平均语法正确率都接近 100%。以 Dream-7B 的 C++ 任务为例,功能正确率从 25.6% 提升到 33.5%;JSON 任务平均推理时间额外增加约 3%。这些数字来自论文报告,尚未替代独立复现。




댓글
로그인하면 댓글을 작성할 수 있습니다.