「语言,是打开优化之门的钥匙。」
优化,这个词听起来高深莫测,但它却像空气一样,充斥在我们生活的每个角落。从早上出门选择最快的路线,到公司决策制定最优的方案,无一不体现着优化的力量。长期以来,基于梯度的算法一直是解决优化问题的利器,然而,在许多现实应用中,由于梯度信息的缺失,我们不得不另辟蹊径。
近年来,大型语言模型 (LLM) 的蓬勃发展,为优化领域打开了一扇全新的大门。试想一下,如果我们能用自然语言描述优化目标,然后让 LLM 像经验丰富的工程师一样,逐步找到最优解,那该有多神奇!在这篇文章中,我们就将介绍一种名为 「OPRO」(Optimization by PROmpting) 的新方法,它将 LLM 化身为优化大师,用 「提示」 的方式,解决各种各样的优化难题。
🤔 OPRO:语言的魔力
传统的优化方法通常需要对特定问题进行定制化的算法设计,而 OPRO 的魅力在于,它利用了 LLM 强大的自然语言理解能力,将优化问题转化为 LLM 能够理解的 「提示」,从而省去了繁琐的算法设计过程。
💡 举个例子:假设我们要找到一个最优的电商促销方案,我们可以将商品价格、促销力度、用户购买历史等信息用自然语言描述出来,并告诉 LLM 我们的目标是最大化销售额。 LLM 就可以根据这些信息,像经验丰富的营销专家一样,逐步调整促销方案,最终找到最优解。
🗺️ OPRO 的寻宝之旅:从线性回归到旅行商问题
为了展示 OPRO 的强大能力,我们先带大家体验两个经典的优化问题:线性回归和旅行商问题。
📈 线性回归:想象你是一位数据分析师,想要找到一条直线,来拟合散落在图表上的数据点。 OPRO 会像一位经验老道的分析师,从一些随机的初始直线开始,根据数据点与直线的距离不断调整直线的斜率和截距,最终找到那条最 「合适」 的直线。
🚶♂️ 旅行商问题:假设你是一位旅行达人,计划游览多个城市,目标是用最短的路线走遍所有城市。 OPRO 就像一位精通路线规划的向导,从一些随机的路线方案开始,不断尝试交换城市访问顺序,并比较不同路线的总长度,最终找到那条最短的 「黄金路线」 。
城市数量 | 随机方法 | 最近邻方法 | 最远插入法 | OPRO (text-bison) | OPRO (gpt-3.5-turbo) | OPRO (gpt-4) |
---|---|---|---|---|---|---|
10 | 13.0 ± 1.3 | 3.2 ± 1.4 | 0.0 ± 0.0 | 0.0 ± 0.0 | 0.0 ± 0.0 | 0.0 ± 0.0 |
15 | 9.4 ± 3.7 | 1.2 ± 0.6 | 4.4 ± 1.3 | N/A (0) | 202.0 ± 41.1 (4) | 58.5 ± 29.0 (4) |
20 | 16.0 ± 3.9 | 0.2 ± 0.1 | 1.2 ± 1.1 | N/A (0) | 438.0 ± 0.0 (1) | 195.5 ± 127.6 (2) |
50 | 19.7 ± 3.1 | 9.8 ± 1.5 | 0.2 ± 0.2 | N/A (0) | N/A (0) | N/A (0) |
- 表格展示了不同方法在解决旅行商问题时的结果,其中 「最优性差距」 越小代表方案越好。
通过这两个例子,我们不难发现,OPRO 就像一位经验丰富的 「优化教练」,它能够根据简单的 「提示」 信息,逐步引导 LLM 找到优化问题的最优解,甚至在某些小规模问题上,其表现可与人工设计的启发式算法相媲美。
🪄 OPRO 化身指令优化师:让 LLM 更懂你
除了解决传统的数学优化问题,OPRO 还能应用于一个更具挑战性的领域:指令优化。简单来说,就是找到一个最优的指令,让 LLM 在执行特定任务时达到最佳性能。
🎭 指令就像剧本:LLM 就像演员,它需要根据指令 (剧本) 来理解和执行任务。一个好的指令,能够清晰地传达任务目标,并引导 LLM 给出高质量的答案。
🚀 OPRO 的优化策略:
- 准备 「剧本素材库」: 我们将一些候选指令和它们在训练集上的性能表现记录下来,形成一个 「剧本素材库」 。
- LLM 化身 「金牌编剧」: 我们将 「剧本素材库」 和一些任务示例展示给 LLM,并告诉它我们的目标是找到一个性能更好的指令。
- 「剧本打磨」: LLM 会分析 「剧本素材库」 中的信息,并结合任务示例,像经验丰富的编剧一样,对现有指令进行修改和组合,或者创造全新的指令。
- 「剧本评估」: 我们评估新指令的性能表现,并将其添加到 「剧本素材库」 中。
- 循环迭代: 重复步骤 2-4,直到找到一个性能最优的指令。
🏆 OPRO 指令优化实战:GSM8K 和 Big-Bench Hard
为了验证 OPRO 在指令优化方面的效果,我们选择了两个难度较高的推理任务:GSM8K 和 Big-Bench Hard 。
📚 GSM8K:这是一个小学数学应用题数据集,包含 7,473 个训练样本和 1,319 个测试样本。
🧠 Big-Bench Hard:这是一个包含 23 个挑战性任务的测试基准,涵盖了符号操作、常识推理等多个领域。
模型 | 指令 | GSM8K 准确率 |
---|---|---|
基准 | Let's think step by step. | 71.8 |
基准 | Let's work this out in a step by step way to be sure we have the right answer. | 58.8 |
OPRO (PaLM 2-L-IT) | Take a deep breath and work on this problem step-by-step. | 80.2 |
OPRO (gpt-3.5-turbo) | A little bit of arithmetic and a logical approach will help us quickly arrive at the solution to this problem. | 78.5 |
- 表格展示了不同指令在 GSM8K 上的准确率,OPRO 找到的指令显著优于人工设计的基准指令。
在实验中,我们发现 OPRO 找到的指令在 GSM8K 和 Big-Bench Hard 上均取得了显著优于人工设计的基准指令的性能表现,有些任务的性能提升甚至超过了 50% 。
✨ OPRO 的未来:优化无极限
OPRO 作为一种新兴的 LLM 优化方法,展现出了巨大的潜力,同时也面临着一些挑战:
- 如何更好地平衡探索和利用: 在优化过程中,我们需要在探索新的解空间和利用已有信息之间找到平衡点,才能更高效地找到最优解。
- 如何有效利用错误案例: 目前的 OPRO 主要利用成功案例的信息来指导优化,如何有效利用错误案例的信息来加速优化过程,是一个值得探索的方向。
- 如何降低对训练数据的依赖: 目前的 OPRO 需要一定的训练数据来评估指令的性能表现,如何降低对训练数据的依赖,是未来研究的一个重要方向。
相信随着 LLM 技术的不断发展,OPRO 将会在更广泛的领域发挥作用,为我们带来更多惊喜!
📚 参考文献
- Anil, R. , et al. (2023). PaLM 2 Technical Report.✅
- Cobbe, K. , et al. (2021). Training Verifiers to Solve Math Word Problems.✅
- Suzgun, M. , et al. (2022). Challenging BIG-Bench Tasks and Whether Chain-of-Thought Can Solve Them.✅
- Wei, J. , et al. (2022). Chain of Thought Prompting Elicits Reasoning in Large Language Models.✅
- Zhou, Y. , et al. (2022b). Large Language Models are Human-Level Prompt Engineers.✅