Self-Polish: Enhance Reasoning in Large Language Models via Problem Refinement

Self-Polish: Enhance Reasoning in Large Language Models via Problem Refinement

文章链接

核心思想是通过instruction让LLM来优化问题本身,从而达到更好的效果,且这种针对问题的优化可以跟其他的prompt技术,如CoT或者Least-to-Most相结合。

作者提出了一些重述问题的准则:

(1)简短:问题不要太长,确保容易理解

(2)清晰:问题表述清晰,能量化的部分就量化

(3)聚焦:想问的问题应该突出

(4)清除无关信息

作者说因为不好构建数据库,所以训练一个模型来搞这件事很麻烦,他们转而寻求不用训练的办法。

在zero-shot的setting下,方法很简单,通过给LLM instruction让LLM按照之前说的准则修改问题表述。而在few-shot的setting下,作者会展示一些样例给LLM,让LLM参照样例去移除无关信息、重排条件、整合相关条件等,如下

注意到右侧还有个An,按照作者的说法这是问题的答案,然而这个答案似乎不太对 ,显然左边的数学题答案应该是1220+510=290,不知道作者是粗心大意了还是LLM真的做错了😂总而言之,这个过程表达的意思是改进和做题交替进行,如果连续两次得到的答案相同,说明答案收敛,以此作为输出,作者称其为progressive problem-refining。

上述重写问题的效果则如下图所示,

可以看到在davinci-003的情况下表现均有所提升,且基本上progressive>few-shot>zero-shot,说明refinement是有效果的。以及下面是在不同LLM上的效果。

之后,作者还展示了该方法和其他prompt方法结合,比如CoT和Least-to-Most,均有提升。

最后,作者针对progressive中的两个变量:迭代次数和最终答案选取做了消融实验。结果表明迭代次数越多,性能提升越大。同时在迭代次数少的时候采信最后一次迭代的答案正确率高,而次数多了以后投票的正确率高。

相关推荐
m0_5873830010 分钟前
深圳24小时自助健身房系统软件开发实战:架构设计与部署指南
人工智能·数据挖掘·系统架构·需求分析
Joy T11 分钟前
Spring AI 2.0 Agent 进阶:Memory、State 与 Context Engineering 常见技术全景
java·人工智能·后端·spring·agent入门·agent state
估值探索者13 分钟前
【Python量化系统工程化 #08】关了 SSH 就停?systemd 让脚本开机自启 + 异常自动拉起
java·c++·人工智能·分类·数据挖掘
西柚研究生12345614 分钟前
论文分析17:YOLOv11_UAVNet:无人机航拍图像专用目标检测算法
人工智能·python·深度学习·算法·目标检测
m4Rk_15 分钟前
【论文阅读】Agent 记忆机制(74):CompassMem——从相似度检索走向事件图上的记忆导航
论文阅读·人工智能·学习·开源·github
镭封19 分钟前
短剧多人对白怎么配?一人完成多角色配音的办法
人工智能·音视频·语音识别·媒体
昇腾知识体系30 分钟前
昇腾 torchrec_npu Docker 镜像选择:CANN/PyTorch/torchrec 版本矩阵与启动参数
人工智能·华为·知识图谱
VIP_CQCRE36 分钟前
用 Ace Data Cloud 一次接入 AI 视频生成:HappyHorse Videos API 实战指南
人工智能·api·ai视频·acedatacloud
去伪存真1 小时前
大模型的参数量为什么那么大?
前端·人工智能