本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。
GPT-4的使用成本,竟然是GPT-3.5的50倍之多;
而让大语言模型同时处理25个请求的时间,仅是处理单个请求的2倍……
这些数据听上去可能有些出乎意料,但都是真实的。
它们出自一篇名为《大语言模型(LLM)开发者必须知道的数字》的GitHub文章。
文章发布之后仅1天,便获得了1200次星标。
文章基于真实的开发经验,介绍了提示工程、硬件资源、价格等方面的数据。
就算没有成为开发者的打算,拿来扩充一下知识储备也是极好的。
都有哪些数字值得关注
我们不妨先来看一下文章作者制作的速览图表:
接下来,我们就来详细介绍一下这些数据。
提示工程
40-90%:在提示词中加入“Be Concise”节约的成本
使用LLM是按照回复的token数量付费的,因此让LLM的回答简明扼要可以节约成本。
在提示词中加入“Be Concise”(答案简明些),可以节约40-90%的成本。
1.3:每个单词的平均token数
LLM是对token进行操作的,token可能包含完整单词或其中的一部分。
如“eating”是由“eat”和后缀“ing”两个token组成。
一篇750词的英文文章中大约含有1000个token。
而对于其他语言,每个词所含的token数量可能更多。
价格
价格数据会存在波动,本节的价格数据主要参考OpenAI,但其他公司数据也相似。
约50倍:GPT-4与GPT-3.5花费的比值
效果上,GPT-4的表现明显好于GPT-3.5,但其成本约为后者的50倍之多。
因此,对于诸如总结这类GPT-3.5也能出色完成的任务,可以考虑不使用更昂贵的GPT-4。
5倍:GPT-3.5-Turbo生成与使用OpenAI embedding的成本比
诸如“美国的首都是哪里”这类可以通过检索得到答案的问题,让LLM生成答案的成本是检索的5倍。
而如果使用GPT-4,成本差异将高达250倍。
10倍:OpenAI embedding与自建embedding的成本比
这一数字为大约数值,实际情况可能随着embedding的规模而变化。
6倍:微调版与基本版OpenAI模型的成本比值
尽管成本较为昂贵,但对基本OpenAI模型的微调是有意义的。
对基本模型进行微调的效益明显高于定制模型。
1倍:自建模型是否进行微调的成本比
由于参数量相同,是否进行微调对自建模型的成本几乎没有影响。
训练与微调
约100万美元:在1.4万亿token上训练130亿参数模型的成本
这一数字是建立在一切工作都十分顺利、没有发生崩溃的前提下计算出的。
Meta的大语言模型LLaMA的论文当中显示,用2048块80GB A100 GPU进行训练LLaMA一共花费了21天。
<0.001:微调与从头开始训练的成本比
这一数据有一些笼统,但微调的成本几乎可以忽略不计。
对一个60亿参数模型进行微调的成本大约是7美元。
即使是最贵的OpenAI模型Davinci,1000个token的微调成本也只有3美分。
相对于对一部莎士比亚全集进行微调也只需要40美元。
GPU消耗
如果你要自建模型,了解其GPU消耗十分重要。
本节所列数据仅是推理过程所消耗的资源量,训练和微调过程还需要更多资源。
V100: 16GB, A10G: 24GB, A100: 40/80GB:GPU内存大小
GPU内存大小决定了LLM的参数量上限。
24GB的A10G在亚马逊云服务中的价格为1.5-2美元每小时。
参数量的2倍:LLM的典型GPU内存需求
例如,7B参数量的LLM需要消耗14GB的GPU内存。
这是因为大多数时候,每个参数需要16bit浮点空间。
通常情况下不需要使用超过16bit的精度,8bit则会显著降低结果精准度。
约1GB:嵌入式模型的典型GPU内存需求
嵌入式模型消耗的本地GPU资源是很小的。
甚至可以在一块GPU上同时运行多个嵌入式模型。
超过10倍:批量处理LLM请求带来的吞吐量改善
在GPU上运行LLM时往往会有较大延迟。
一次请求消耗的时间可能长达5秒,相对于每秒仅能处理0.2个。
但如果同时发送两个请求,消耗的时间约为5.2秒。
而将25个请求捆绑发出的耗时约为10秒,相对于每秒可处理2.5个请求。
约1MB:130亿参数模型输出1个token所需的GPU内存
内存消耗量与生成token数成正比。
512个token(约380个英文单词)需要消耗512MB的空间。
作者简介
这篇文章的作者来自开源人工智能框架Ray的开发公司Anyscale。
主要贡献者是Google前首席工程师Waleed Kadous。
他也曾担任Uber CTO办公室工程战略负责人。
其中一位华人合作者是Google前员工Huaiwei Sun。
他来自江苏昆山,本科毕业于上海交通大学工业设计专业。
期间,他参加了耶鲁大学summer school并取得了满绩。
此后他取得了佐治亚理工学院硕士学位,研究方向为人机交互。
此外还有其他作者也参与了这篇文章的工作,未来也可能有更多人加入。
参考链接:
[1]https://github.com/ray-project/llm-numbers
[2]https://www.linkedin.com/in/scottsun94/