社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

大模型开发者必备手册:这些数字值得记住 | GitHub 1200星

OpenCV学堂 • 1 年前 • 229 次点击  

点击上方↑↑↑OpenCV学堂”关注我

来源:公众号 量子位 授权


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/

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/155288
 
229 次点击