智能AI
morning
清华提出Jev-LDE:ICL示例只改一次,1-shot平均准确率就能暴涨
摘要
大模型做 In-Context Learning(ICL,上下文学习)时,通常会先从示例库里检索若干 demonstration,再把这些示例和当前问题一起放进 prompt。 但检索得到的 Top-K 并不一定适合目标模型。示例过多会增加上下文和推理成本,无关或重复的示例也可能影响模型对当前问题的判断。 如果直接从候选池里重新寻找最优的 k 个示例,组合数量会迅速增加;一些 model-awar...
demonstration
LDE
LLM
set
shot
Semantic
TopK
ICL
Jev
个百分点
2026-10-14
1 阅读
约10分钟阅读
机器之心
字号:
大模型做 In-Context Learning(ICL,上下文学习)时,通常会先从示例库里检索若干 demonstration,再把这些示例和当前问题一起放进 prompt。 但检索得到的 Top-K 并不一定适合目标模型。示例过多会增加上下文和推理成本,无关或重复的示例也可能影响模型对当前问题的判断。 如果直接从候选池里重新寻找最优的 k 个示例,组合数量会迅速增加;一些 model-aware 方法还需要反复调用目标 LLM,对不同 demonstration set 进行评估。 清华大学自动化系研究者提出了 Local Demonstration Editing( LDE) ,并训练了一个小型编辑模型 Jev-LDE 。它不负责最终答题,而是在目标 LLM 推理前,对已经检索出的 demonstration set 做一次编辑,只允许 Keep、Delete 或 Replace 三种操作。 实验中,Jev-LDE 在 48 个分类配置中有 46 个优于 Semantic TopK 初始化结果,在 44 个配置中取得最好或并列最好结果;跨 3 个分类数据集、4 个目标 LLM 的平均 one-shot accuracy 从 81.2% 提升到 88.1% 。 论文标题: You Only Edit Once: Incentivizing In-Context Capability of LLMs via Local Demonstration Refinement 论文作者: Jiarong Wen、Cheems Wang、Yun Qu、Yixiu Mao、Heming Zou、Haoang Chi、Lizhou Cai、Yiqin Lv、Kaiyu Zhang、Yuhang Jiang、Xiangyang Ji 论文链接: arxiv.org/pdf/2609.33609 研究背景:ICL 的关键不只是示例数量 ICL 不需要更新大模型参数,只需要在输入中提供少量示例,模型就可以根据这些 demonstration 适应当前任务。 真正影响结果的,还有示例本身。 上下文窗口、显存和推理计算都有成本,因此不可能无限增加 demonstration。即使增加了 context,也不代表准确率一定会上升。与当前 query 无关、内容重复或者匹配程度不高的示例,既会占用 token,也可能影响模型的注意力分配。 因此,few-shot 场景里的一个实际问题是: 在有限的 few-shot budget 下,究竟应该把哪几个示例放进 prompt? 已有方法大致可以分成两类。 第一类是检索式方法,例如 Semantic TopK 和 BM25。前者根据语义相似度选择示例,后者更侧重词面匹配。这类方法速度较快,但与 query 相似,并不意味着示例一定最有利于目标模型完成任务。 另一类是 model-aware 方法,例如利用生成概率、交叉熵差、条件熵或者目标模型反馈重新评估候选示例。这些方法能够更直接地利用目标 LLM 的行为信息,但如果需要不断测试不同 demonstration set,目标模型的调用次数也会随之增加。 此外,标准的 k-shot subset selection 本身就是一个组合搜索问题。从 n 个候选示例中选出 k 个,一共有 种可能。候选池变大后,如果把大量组合都交给目标 LLM 实测,成本很快就会变高。 论文采用了一个更局部的思路: 如果检索器已经找到了一个还不错的初始集合,是否可以不重新搜索整个空间,而只在这个集合附近做一次修改? 一个关键观察:只改一个 demonstration,结果可能差很多 研究者首先在 TREC 的 4-shot 设置中,以 Semantic TopK 得到的 demonstration set 为起点,只考虑它的一次编辑邻域。 一次编辑可以有三种情况:保持不变、删除一个示例,或者用候选池中的另一个示例替换现有示例。这个很小的局部空间里,仍然存在明显的性能提升空间。 对于 Llama-3-8B,如果利用测试标签挑选最优局部动作,Oracle 相比 Semantic TopK 可以 提升 26 .0 个百分点 ;Qwen2.5-7B 上则 提升 16.8 个百分点 。即使不使用测试标签,由 Jev-LDE 自己选择编辑动作,也分别获得了 8.2 和 7.4 个百分点 的提升。 随机进行一次局部编辑则没有明显收益。 这也是 LDE 的出发点:不一定要在很大的组合空间里寻找完整的最优 demonstration set,有些情况下,只需要把当前检索结果改对其中一个位置。 方法:把 demonstration selection 变成一次局部编辑 LDE 并没有替换原有的检索器,而是放在检索器之后,整个过程比较直接。 首先,由已有的 pre-selector 取出初始 demonstration set 。论文默认使用 Semantic TopK,同时保留一部分候选 demonstration 作为 replacement pool。 然后,把 query、当前 demonstration set 和 replacement candidates 交给 Jev-LDE。它只能输出三种动作: 具体来说: Keep :保留当前 demonstration set; Delete :删掉其中一个示例; Replace :把其中一个示例替换成候选池里的另一个示例。 最后,编辑后的 demonstration set 再交给目标 LLM 完成预测。 这里的限制很明确: Jev-LDE 只能做一次 membership edit 。 它不会连续尝试多个上下文,也不会在测试阶段反复调用目标 LLM 为不同候选集合打分。前面的检索器负责找到一个初始集合,Jev-LDE 在这个基础上再做一次局部调整。 Jev-LDE 不负责答题,而是判断 “要不要改” Jev-LDE 使用 Qwen3-1.7B ,主要承担 demonstration editing 的工作。输入包括任务指令、当前 query、已经检索出的 demonstration set,以及可用于替换的候选 demonstrations。 模型最终输出结构化 JSON 动作,例如 Keep、Delete 某个示例,或者 Replace 某个示例。如果输出格式无效,训练时奖励为 0,测试时则回退到 Keep。 训练时,研究者需要解决的是:怎样让这个小模型知道某一次编辑是否真的有用。论文直接使用目标模型的预测结果作为反馈。对于同一个 editing state,Jev-LDE 会采样多个动作,每个动作对应一个新的 demonstration set。冻结的目标 LLM 使用这个集合完成预测,如果预测正确,奖励为 1;否则为 0。奖励写成: 。 因此,训练并不需要人工标注 “哪个 Replace 动作是正确答案”,而是直接观察编辑之后目标模型有没有答对。 研究者随后使用 GRPO 对 Jev-LDE 进行 RL post-training。由于一个 editing state 可能存在多个有效动作,用强化学
这篇文章对您有帮助吗?
订阅66必读
每日精选科技资讯,直达你的邮箱