arXiv · cs.CL· atomEN19:15 · 03·22
PLR:用 Plackett-Luce 重排上下文学习示例
PLR 用 Plackett-Luce 分布学习 ICL 示例顺序,在 k∈{4,8,16,32} 的 few-shot 设置下提升了多项分类基准准确率。方法把 n! 离散排序搜索改成分布学习,并用 Gumbel perturb-and-sort 高效采样候选顺序;数学推理任务也有增益,代码已开源到 GitHub。
#Reasoning#Benchmarking#GitHub#Research release
精选理由
这是一篇有料但偏窄的研究稿:新意在把 ICL 顺序搜索改成 Plackett-Luce 分布学习,并给出 few-shot 与数学推理增益。HKR 里 K 命中,H 与 R 偏弱,适合进 all,不到 featured 线。
编辑点评
PLR 在 k=4/8/16/32 的 few-shot 分类里报了准确率提升,我买账一半:思路对,幅度和稳健性正文没给,离可默认采用还差验证。
深度解读
PLR 用 Plackett-Luce 分布学习 ICL 示例顺序,并在 k∈{4,8,16,32} 的 few-shot 分类与数学推理里报告了增益。我的判断是,这条研究方向是对的,但现在更像把“顺序很玄学”变成“顺序可优化”,还没到“顺序优化已经是稳定工程件”。标题和摘要给了方法框架,正文只是一段 RSS 摘要,没披露具体模型、基线、提升幅度、方差、采样次数、训练开销,这些都决定这条结果能不能复现。
我觉得它有价值的地方,在于它没有再走那条很常见的启发式路子:按 label entropy、confidence、相似度去排 few-shot 示例。那类方法在分类上常常能捡到一些点数,但一旦任务没有清晰 label set,比如数学推理、开放生成,方法就容易失效。PLR 直接学习一个排序分布,把 n! 的离散搜索改成参数化分布优化,再用 Gumbel perturb-and-sort 采样,这个设计至少在机制上更通用。做过 prompt optimization 的人都知道,example order 对结果影响经常大到离谱,尤其是小 k、长上下文、标签不平衡的时候。把这个因素单独建模,本身就比“拍几个顺序试试”严肃得多。
但我对这类结果一向会先踩刹车。第一,摘要只说“consistently improves”,没给 absolute gain。few-shot 论文里 0.8 到 1.5 个点也会写成 consistent gains,3 到 5 个点是另一回事。第二,没给 backbone。这个方法如果只在较小开源模型上成立,在 GPT-4 级别或 2025 年后的 instruction-tuned 模型上常常会收缩,因为更强的模型对 prompt 局部扰动没那么敏感;反过来,如果在小模型和大模型都稳,那才说明它抓到了更底层的 ICL 机制。第三,没给 cost。你把 n! 搜索换成分布学习,不等于免费,还是要反复采样、评估、更新参数。要是每个任务要多跑几十到上百次前向,很多线上场景不会用。
这条让我想到过去一年 prompt optimization 的一条分界线:能发 paper 的方法很多,能进生产的很少。像 DSPy、OPRO、APE 那一波,大家都在证明“提示词可搜索、可优化”,但落地时经常卡在两件事:一是 evaluation noise 很大,二是迁移性很差。某个数据集上找到的好顺序,换模型、换领域、换 token budget 就掉。PLR 如果想跳出“benchmark 技巧”,接下来至少要回答三个问题:参数是在 dev set 上学的,还是能 task-agnostic 地迁移;学到的分布是否在相邻模型间复用;收益能不能覆盖额外采样成本。摘要里都没写。
我还想追问一个更硬的点:它优化的是 task-level metric,这在研究里合理,在真实系统里却容易过拟合。你拿 accuracy 选顺序,当然能把 accuracy 推高一点;但用户在线输入的长度分布、类别分布、错误容忍度,和 benchmark 不一样。很多 ICL 排序方法在静态测试集上好看,上线后被输入漂移打回原形。这个我自己没跑过 PLR,不敢下死结论,但如果作者没有做 cross-dataset 或 out-of-domain 验证,我会把这条先归到“有启发,不急着上生产”。
总结我的态度:这不是那种标题党式的小修小补,因为它确实把顺序搜索写成了一个清楚的概率模型;但它也还不是 prompt engineering 的定海神针,因为最关键的数字还没披露。代码开源是加分项。要不要认真看,不取决于“用了 Plackett-Luce”这几个字,取决于 repo 里有没有完整实验表、不同模型上的方差、以及每提升 1 个点到底要多花多少次调用。没有这些,结论先留半格。
HKR 分解
hook —knowledge ✓resonance —