llama2大模型---商用部署(模型推理阶段)预算估算

avatar
作者
筋斗云
阅读量:14

先说结果,大模型部署预算主要影响因素:1.模型大小 2.每秒平均需要输出的token数

ps : 先叠个甲,计算公式是由外网或是其他博客查找获得,在文章书写过程中,会尽量将数据或公式来源以链接形式呈现。书写日期:2023.9.26。

1.确定需求:

这里以:峰值10W人,平均每秒输出token以10W用户在12H内每人输出5000token计算,分别估算7B,13B,70B的部署成本(7,13,70是训练数据的样本量,单位是10亿)

2.成本估算 2.1 云服务器租用成本 2.1.1 服务器供应商选择:

常见的服务器供应商有:AWS(亚马逊),阿里云,腾讯云,华为云等,部署价格基本在同一级别上,这里我选择以个人使用比较多的腾讯云为例,实例部署价格各自官网都能找到,所以这里就单提供腾讯云链接以作参考:腾讯云GPU实例部署定价

大模型部署基本都有GPU的部署需求,腾讯云实例中,使用的GPU适用于推理阶段的主要是英伟达Tesla T4以及英伟达A100,当然如果有特定需求,也可以选取V100等型号。

这里贴上T4,A100的具体参数以作参考:

T4:单精度算力:8.1TFLOPS * 16G

供应设备_服务器租用供应商_供应商设备

A100-40G:单精度算力:19.5TFLOPS * 40G

服务器租用供应商_供应商设备_供应设备

2.1.2 算力需求:

参考依据:算一笔细账,ChatGPT、文心一言这类大模型到底要消耗多少GPU?

目前基本所有的模型都支持单精度,所以这里以单精度算力为例。

单一用户单次交互算例消耗

L*D*N = 9 * 1000 * 120 * 96 = 103,680,000 = 103百万FLOPs

L:用户问题的输入长度于模型回答的输出长度之和(以输入50token,输出950token为基准,测试时10汉字换算17token,在中文环境下,一个token约等于9bit)

D:模型维度 = 120(GPT模型参数)

N:模型层数 = 96(GPT模型参数)

这里以GPT的模型维于模型层数来估算llama2的算力需求。(数据肯定与实际有出入,但由后续计算可以看出,这对于成本的影响微乎其微,所以便以gpt来估算llama2,好吧我承认我没找到更具体的数据)

假设需要在0.5s内完成响应,算力需求 = 206 百万FLOPs/s

一张T4可以同时支持 = 8.1*10^12 / 206*10^6

4W 人

一张A100可以同时支持 = 19.5*10^12 / 206*10^6

9.5W 人

2.1.3 显存需求:

参考依据:

一般我们都使用单精度也就是float32,每10亿个参数,占用约4G显存(实际时10^9 * 4 /1024/1024/1024 = 3.725G,为了方便计算,同时便于提供更优性能,取4G),其他精度见下表:

dtype

每10亿参数需占用内存

float32(单精度)

4G

float16(半精度)

2G

int8

1G

int4

0.5G

根据上述内容,可以大致估算出7,13,70三个模型的显存要求:(单精度)

model

显存需求(单精度)

GPU配置(T4-16G,A100-40G)

7B

28G

T4*2 / A100*1

13B

52G

T4*4 / A100*2

70B

280G

A100*7

ps:A 100是有80G显存版本的,但腾讯云上用的时40G的那款

2.1.4 cpu 需求

这里以DDR4-2133 为例,该cpu数据传输速度为21.3GB/s

我们输入1token到模型输出需要经历1.加载模型 2.推理(处理)

以:峰值10W人,平均每秒输出token以10W用户在12H内对每人输入5000token计算,平均每秒输出约1.2Wtoken

基本计算公式:

模型大小/(单个cpu传输速度*挂载cpu数量)*token数量+ 处理时间*token数量 = 1s

反解出挂载cpu数量

以7B模型为例。模型大小约28G,取T4(T4实例最多一张GPU挂载45核cpu)

28G/(21.3GB/s*45x)*12000 + 206*10^6*12000/(8.1*10^12*x) = 1,求得 x = 350张T4

2.1.5 费用计算:

综上:单一GPU挂载CPU数量是影响最后价格的最大因素,A100相较T4价格更贵,这里取T4挂载45核cpu的实例为服务器选择对象

7B部署总月租 = 350 * 4500 = 157(百万/月)

13B,70B更换模型大小套用公式即可

2.2 公网宽带费用

参考依据:腾讯云公网网络费用

以全程峰值(10W人),每个用户平均约 10token/s基准计算

带宽 = 9*10b/s*100,000=9,000,000=9Mb/s=1.125MB/s

然后套用公网网络费用计算得(稳定情况下包月合算):

广州、上海、南京、北京、香港、新加坡

475元/月

成都、重庆

422元/月

雅加达、东京

445元/月

多伦多、硅谷、弗吉尼亚、曼谷、孟买、圣保罗

550元/月

如有错误,烦请指针,欢迎留言讨论。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!