为搜索加入记忆而非在奖励最大化任务中盲目采样 [R]

Reddit r/MachineLearning 论文

摘要

一篇预印本提出了 FLEET 算法,它通过将外部奖励归因到具体 token,使 Best-of-N 采样具备奖励感知能力:把隐藏状态连同奖励元数据存入向量库,并在后续迭代中使用改造后的 MCTS 重新调整 logits。在 GSM8K 和 LiveCodeBench 上使用 Llama 3.2 3B 的实验表明,该方法以远少于采样基线的迭代次数达到了相当甚至更优的性能。此外,它产出的元数据存储库可复用为其他任务的先验,或用于增强 SFT/RL。

我是 FLEET 的作者之一。FLEET 是一种增强 Best-of-N 生成的算法:它将外部奖励归因到特定 token,然后在下一次运行中利用 MCTS 调整 logits。我觉得颇为有趣的是,重复采样被广泛使用的大多数任务其实都以奖励最大化为目标,但采样过程本身对这个奖励却一无所知。调节采样参数可以让过程更高效,但它本质上仍然是一场盲目搜索。我们提出了一种让生成过程感知既有奖励的方法,包括如何把奖励归因到补全结果、以及如何利用这些信息。FLEET 借用了自适应采样方法中的技术:跟踪熵与 varentropy(熵方差)较高的 logits,因为这些位置表明模型对 token 的最优性存在不确定性。我们将这些状态视为分支点,把对应的归一化隐藏状态存入向量库,并映射到包含奖励历史以及“节点”之间转移关系的元数据条目上。元数据的检索与更新基于余弦相似度——当相似度极高时,KL 散度足够低,可以保留大部分有意义的 token。FLEET 并不直接选择 token,而是用改造后的 MCTS 对 top-k token 加上专门的探索集合(或其他 token)进行排序,并惩罚其中次优的选项。随后将解码策略应用于修改后的 logits。实验在 GSM8K 与 LiveCodeBench v6 的 easy split 上进行,使用 Llama 3.2 3B,将次优 token 的惩罚设置为使其概率实际上为零,并配合贪婪解码:在 GSM8K 上,它只多解出了七道题,但仅用一半的迭代次数就达到了采样基线的水平;在 LiveCodeBench 上,它在相同预算下将得分从 0.59 提升到 0.69,而且更快达到基线——现在只需 9 次迭代,而基线需要 32 次。该方法不要求顺序执行,因为元数据在迭代过程中本身不会被更新,可以简单地作为查找表直接传入。元数据存储库还能作为其他任务的先验被保留下来,或用于增强 SFT/RL。 论文(预印本):https://arxiv.org/abs/2609.27657 Huggingface:https://huggingface.co/papers/2609.27657 代码仓库(实验、示例与 python 包):https://github.com/Alexiush/fleet 文中还详细介绍了对 MCTS 所做的修改、如何针对特定模型和任务调优搜索参数,以及实验与轨迹的相关代码。
查看原文

相似文章

面向高效全模态LLM的阶段自适应Token选择方法

Hugging Face Daily Papers

SEATS是一种无需训练的阶段自适应Token选择方法,通过逐步剪枝冗余的视觉和音频Token来降低全模态LLM的计算开销,实现了9.3倍FLOPs减少和4.8倍预填充加速,同时保持96.3%的性能。

即时记忆:学习为LLM代理策展任务自适应记忆

Hugging Face Daily Papers

本文介绍了即时记忆(JitMem),一种为LLM代理设计的方法,它将记忆策展推迟到读取时以实现任务自适应负载,展示了在ALFWorld和WebShop等基准测试中相对于基线方法的显著性能提升。