简要说明:
- 仅通过调整推理参数如模型、响应数量、温度等,而不改变任何模型权重或提示,可以将未调优的gpt-4在高中数学竞赛问题中的基线准确率提高20%。
- 对于简单问题,调整后的 gpt-3.5-turbo 模型在准确性(例如,90% 对比 70%)和成本效益上显著优于未调整的 gpt-4。对于难题,调整后的 gpt-4 更为准确(例如,35% 对比 20%),并且比未调整的 gpt-4 更经济。
- AutoGen 可以帮助在 LLM 应用中进行模型选择、参数调优和成本节省。
大语言模型(LLMs)是能够为各种应用生成自然语言文本的强大工具,例如聊天机器人、摘要、翻译等。GPT-4 是目前全球最先进的大语言模型。模型选择是否无关紧要?推理参数又是什么情况?
在这篇博客文章中,我们将通过一个案例研究来探讨模型和推理参数在LLM应用中的重要性,案例研究围绕MATH进行,这是一个用于评估LLM在解决高级数学问题能力上的基准测试。MATH包含了来自AMC-10、AMC-12和AIME的12K个数学竞赛问题。每个问题都附有详细的逐步解答。
我们将使用AutoGen,在给定的推理预算下,通过一种新颖的低成本搜索和剪枝策略,自动为给定任务和数据集找到最佳的模型和推理参数。AutoGen目前支持OpenAI的所有LLMs,例如GPT-3.5和GPT-4。
我们将使用AutoGen进行模型选择和推理参数调优。然后比较与未经调优的gpt-4在解决代数问题上的性能和推理成本。我们还将分析不同难度级别如何影响结果。
实验设置
我们使用AutoGen在以下模型之间进行选择,目标推断预算为每个实例$0.02:
- gpt-3.5-turbo,一个相对便宜的模型,为流行的ChatGPT应用提供动力
- gpt-4,最先进的大型语言模型,其成本是gpt-3.5-turbo的十倍以上
我们使用训练集中的20个示例来调整模型,将问题陈述作为输入并生成解决方案作为输出。我们使用以下推理参数:
- temperature: 控制输出文本随机性的参数。较高的温度意味着更多的多样性,但连贯性较低。我们搜索在 [0, 1] 范围内的最佳温度。
- top_p: 控制输出令牌概率质量的参数。仅考虑累计概率小于或等于top-p的令牌。较低的top-p意味着更多样性但较少一致性。我们在[0, 1]范围内搜索最佳的top-p。
- max_tokens: 每个输出可以生成的最大令牌数。我们在[50, 1000]的范围内搜索最佳的最大长度。
- n: 生成响应的数量。我们在[1, 100]范围内搜索最佳的n。
- 提示:我们使用模板:“{problem} 仔细解决问题。尽可能简化你的答案。将最终答案放在\boxed{{}}中。”其中 {problem} 将被数学问题实例替换。
在这个实验中,当 n > 1 时,我们会从所有响应的答案中找到最高票数的答案,然后选择它作为最终答案与真实情况进行比较。例如,如果 n = 5,并且其中有3个响应的最终答案为301,而另外2个响应的最终答案为159,那么我们选择301作为最终答案。这有助于解决因随机性导致的潜在错误。我们使用平均准确度和平均推理成本作为评估数据集性能的指标。特定实例的推理成本通过每1K个token的价格和消耗的token数量来衡量。
实验结果
这篇博文中的第一幅图展示了每种配置在二级代数测试集上的平均准确率和平均推理成本。
令人惊讶的是,经过调优的gpt-3.5-turbo模型被选为更好的模型,在同等或2.5倍推理预算的情况下,其在准确率上远远优于未调优的gpt-4(92% vs. 70%)。 在第三级代数测试集上也可以观察到相同的现象。
然而,在第四级代数时,所选的模型会发生变化。
这次gpt-4被选为最佳模型。经过调优的gpt-4实现了更高的准确率(56% vs. 44%)和更低的成本,与未调优的gpt-4相比。在5级上,结果相似。
我们可以看到,AutoGen 为每个特定级别的子集找到了不同的最佳模型和推理参数,这表明这些参数在成本敏感的 LLM 应用中很重要,需要仔细调整或适应。
运行这些实验的示例笔记本可以在以下位置找到:https://github.com/microsoft/FLAML/blob/v1.2.1/notebook/autogen_chatgpt.ipynb。这些实验是在AutoGen还是FLAML的一个子包时运行的。
分析和讨论
虽然gpt-3.5-turbo在相同推理预算下,在相对简单的代数问题中表现出与投票答案相当的准确性,但对于最困难的问题,gpt-4是更好的选择。总的来说,通过参数调整和模型选择,我们可以发现将昂贵模型用于更具挑战性任务的机会,并提高预算受限系统的整体效率。
有许多其他替代方法可以解决数学问题,我们在这篇博客文章中并未涵盖。当有超出推断参数的选择时,通常可以通过flaml.tune
进行调整。
对于模型选择、参数调整和成本节约的需求不仅限于数学问题。Auto-GPT项目就是一个典型的例子,高成本很容易阻碍一个通用复杂任务的完成,因为它需要大量的LLM推理调用。
进一步阅读
您有任何关于LLM应用的经验想要分享吗?您是否希望看到更多关于LLM优化或自动化的支持或研究?请加入我们的Discord服务器进行讨论。