本文是LLM系列文章,针对《LARGE LANGUAGE MODELS AS OPTIMIZERS》的翻译。
作为优化器的大型语言模型
- 摘要
- [1 引言](#1 引言)
- [2 OPRO:LLM作为优化器](#2 OPRO:LLM作为优化器)
- [3 激励性例子:数学优化](#3 激励性例子:数学优化)
- [4 应用:提示优化](#4 应用:提示优化)
- [5 提示优化实验](#5 提示优化实验)
- [6 相关工作](#6 相关工作)
- [7 结论](#7 结论)
摘要
优化无处不在。虽然基于导数的算法是解决各种问题的强大工具,但梯度的缺乏给许多现实世界的应用带来了挑战。在这项工作中,我们提出了PROmpting优化(OPRO),这是一种利用大型语言模型(LLM)作为优化器的简单有效的方法,其中优化任务用自然语言描述。在每个优化步骤中,LLM都会从包含先前生成的解决方案及其值的提示中生成新的解决方案,然后对新解决方案进行评估,并将其添加到下一个优化步骤的提示中。我们首先展示了关于线性回归和旅行推销员问题的OPRO,然后继续进行提示优化,目标是找到最大限度提高任务准确性的指令。通过各种LLM,我们证明了OPRO优化的最佳提示在GSM8K上比人类设计的提示高出8%,在Big Bench Hard任务上高出50%。
1 引言
2 OPRO:LLM作为优化器
3 激励性例子:数学优化
4 应用:提示优化
5 提示优化实验
6 相关工作
7 结论
我们开始使用LLM作为优化器,LLM逐渐生成新的解决方案来优化目标函数。我们首先用线性回归和旅行推销员问题来激励OPRO,然后将其作为一个具体应用来进行提示优化。我们的评估表明,LLM有能力根据过去的优化轨迹逐步改进生成的解决方案。有趣的是,在小规模旅行推销员问题上,OPRO的性能与一些手工制作的启发式算法不相上下。在提示优化方面,优化后的提示显著优于GSM8K和Big Bench Hard上的人工设计提示,有时超过50%。
许多尚未解决的问题有待于未来对LLM进行优化研究。总的来说,如何降低对初始化的敏感性,更好地平衡开采与勘探,仍然是一个挑战。具体来说,对于提示优化,我们当前实现的一个限制是优化器LLM不能有效地利用训练集中的错误案例来推断有希望的方向,以改进生成的指令。在我们的实验中,我们尝试在元提示中包括错误案例,而不是在每个优化步骤从训练集中随机采样,但结果是相似的,这表明错误案例本身的信息不足以让优化器LLM掌握错误预测的原因。另一个限制是,提示优化需要训练集来计算指导优化过程的准确性。目前,训练集至少包含数十个样本,因此优化后的提示不会严重过拟合到训练样本。一个有希望的方向是,除了汇总的准确性之外,还包含关于错误情况的更丰富的反馈,并总结优化轨迹中区分高质量和低质量生成提示的关键特征。这样的信息可以通知优化器LLM如何比过去生成的指令更有效地改进,并且潜在地进一步减少提示优化所需的示例集大小。