FrugalGPT:来看看穷人怎么用省钱的方式使用ChatGPT
论文题目:《FrugalGPT: How to Use Large Language Models While Reducing Cost and Improving Performance》论文下载:https://arxiv.org/abs/2305.05176Hung-yi Lee 课件整理。
论文题目:《FrugalGPT: How to Use Large Language Models While Reducing Cost and Improving Performance》
论文下载:https://arxiv.org/abs/2305.05176
Hung-yi Lee 课件整理
这是斯坦福大学2023年放到arxiv上的论文。
这篇论文的题目是怎么花最少的钱来提高语言模型的表现。
frugal是节俭的意思。
我们使用GPT4的API都是很花钱的,平均输入1000个tokens需要花费0.03美元的算力,输出更贵一些,是0.06美元。
假如药分析1999年台北市民通话内容的话要话费40万新台币,对普通人来说是一笔不小的花费。
方法一:Prompt Adaptation(缩短输入)
文章为了省钱是这么做的。
第一个方法是Prompt Adaptation,缩短输入,
怎么缩短输入呢
在in-context learning中我们为了得到第三个问题的答案先给ChatGPT两个问题作为参考,一个省钱的办法就是在两个问题中选一个,这叫Prompt Selection。
我们通常在来一个Q4的时候会把Q1、A1和Q4再给ChatGPT。
这篇文章提出一个概念是Query Concatenation,是把Q3和Q4拼起来丢给模型,同时得到两个答案。
这样的话Q1和Q2只用输入一次,省下了一点钱。
方法二:LLM Approximation (自建模型)
方法二其实是比较花钱的,自建模型。
把问过ChatGPT的问题和答案都存在一个数据库中,再有新问题来的时候就看看数据库里有没有类似的问题。如果有就不用调用ChatGPT了,把之前的答案调出来,当作回答
方法三:LLM cascade
这里才是这篇论文真正要提出的方法。
现在有很多人工智能的API可以使用,这些API有大有小,有强有弱,每一个模型的收费都不一样。
后面这3列是1 million的tooken的花费,一般有三个方面的收入,一个是按输入长度收费,一个是按输出长度收费,还有按请求次数收费。
第三个方法就是综合不同的模型一起使用。
简单的问题去问比较弱的模型,难的问题问比较强的模型。
具体怎么做呢?
我们在问一个问题的时候,先把这个问题丢给一个最便宜的模型,我们有一个打分模型,它用来判断这个结果是正确的可能性有多大。
这篇论文里的打分模型是一个很小的模型。
其实这个打分模型也是要训练语料去训练的,但是这篇论文先不考虑这些问题。
如果这个答案够好了,就直接拿出来,当作最终的答案。
如果答案不够好,就把同样的问题去问一个更贵的模型。
直到最后才去问GPT-4,因为它是最贵的。
这篇文章用已知的数据库做了一组实验和直接使用ChatGPT的花费和准确率做了比较。
发现用这一套方法的花费更少,准确率更高。
神奇的地方是FrugalGPT比ChatGPT的结果更好,这是因为每个模型的能力不一,有可能一个问题直接问GPT4是错的,但是问GPT-J却是对的。
方法三的求解
现在有一个问题,我们选哪些模型放到这个流水线上,这个阈值设置多少合适。
这里 a a a 表示正确答案, q q q 表示问题,用 r r r 和 s s s 分别表示当前这个模型的能力和得分。
再计算每一个请求的花费,三部分构成,之前表格汇总提到的三个部分,输入花费,输出花费,请求次数花费。
接下来找出哪些模型放在这个流水线中的什么位置,每一个节点的阈值怎么设置,就变成了一个优化问题。
假设我们要找到一串的模型,有k个模型,把这些模型串起来叫做 L L L, T T T 表示这些阈值的列表。我们现在就是要找到一个 L L L 和 T T T 使得下面这个式子的值最大。
这里的 L z ( q ) L_{z} (q) Lz(q) 的下标 z 表示在 1 到 k 这一串语言模型里面哪一个模型被拿出来执行,得到最终的答案。
这个语言模型的分数要是大于它对应的阈值就会被执行。
这个 z 是怎么被找出来的呢,就是穷举所有的下标,从 1 到 k ,然后看哪一个i可以最先大于实现设置好的阈值,这样这个 i 就是这里的 z。
最后还要再考虑一下总的花费,也是这个解体的一个限制条件。
这里i = 1到 z ,z就代表跑了几个语言模型,把每一个语言模型的花费加总起来,这个值要小于我们的预算。
这样我们就可以找出一个语言模型的列表,和一组最好的阈值。
实验结果
这里是最终的实验结果。在三个数据集上表现。
第一个是headlines,第二个是overruling(给出一个法律条文,判断之前的法律条文有没有包含这个法律条文),最后是一个AQ的问题。
这三个图上的纵轴都是正确率,横轴都是花费,红色的线是FrugalGPT使用不同的流水线达到的正确率。
在看FrugalGPT模型之前我们先看看其他模型的表现,一般我们都会觉得GPT-4是最强的模型,有趣的是在COQA这个语料上GPT-3的表现优于GPT-4,原来GPT-4也有不擅长的事情。
再来看横轴上的花费,GPT-4基本上都是最贵的。第二名就有一些差异了, 因为有的模型是输入花钱多,有的模型是输出花钱多,所以在不同的任务上不同的模型花费不一样。
整体来看FrugalGPT的效果要好于其他所有模型。在COQA这个例子上FrugalGPT花一点点钱的效果就可以和ChatGPT有一样的效果。

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)