往期回顾

如何速成LLM以伪装成一个AI研究者(1)——循环,卷积,编解码器,注意力,Transformer
如何速成LLM以伪装成一个AI研究者(2)——Pre-LN,KV-Cache优化,MoE
如何速成LLM以伪装成一个AI研究者(3)——预训练,监督微调,强化学习RLHF/DPO
如何速成LLM以伪装成一个AI研究者(4)——PPO,GRPO,DAPO,GSPO

免责声明:作者也是伪装的,有错漏属于正常现象,欢迎评论指正。

模型,你配训多大?

这一章,我们中场休息一下,来谈点没那么“技术性”的内容——怎么花钱。

众所周知,搞AI是非常花钱的,搞大模型更是对显卡要求极高。一个大模型到底要吃多少显存?你的经济实力够多大规模的模型推理部署/训练呢?

首先,在推理场景下,显存开销主要来自三块:

  • 参数存储 :参数显存(GB) = 参数量(B) × 每参数字节数,常用的参数精度有FP32(4字节),FP16(2字节),BF16 (2字节)。
  • 激活值激活显存 ≈ 批次大小 × 序列长度 × 隐藏层维度 × 每参数字节数
  • KV-CacheKV-Cache显存 ≈ 2 × 批次大小 × 序列长度 × 头维度 × 头数 × 每参数字节数

比如说,一个7B的FP16模型,批次大小为1,序列长度(max_token,输入输出的长度总和)为2048,隐藏层维度4096,头维度为64,头数32,则:

  • 参数存储7*2=14(GB)
  • 激活值1*2048*4096*2 / 10^6 ≈ 16.78 (MB)
  • KV-Cache2*1*2048*64*32*2 / 10^6 ≈ 16.78 (MB)

可见参数存储还是大头,加上杂七杂八的余量,16G的显存就差不多可以部署一个7B大模型推理了。

RTX 4060 Ti 就是16G,这也是为何7B级别是目前最适合个人部署的模型级别。

而假如你的模型是MoE的,则还有模型参数量/激活参数量的区别,其中参数存储按总参数量计算,激活值则只需要按激活参数量计算即可。

接下来谈谈训练,全参数训练的情况下,需要多少显存呢?

首先,推理部署的缓存在训练中也是要消耗的,此外还要考虑:

  • 梯度参数:梯度的数量与待训练的参数数量相同。
  • 优化器状态:最常见的Adam/AdamW优化器,需要存储一阶+二阶矩,也就是额外存两倍参数量的数据。并且,即使模型本身使用FP16之类的低精度存储,为了稳定数值,防止溢出,优化器一般也是要用FP32的。也就是说,7B大模型需要额外吃掉7*2*4=56(GB)。

也就是说,全量微调要用到4倍参数量级别的显存!对于一个7B大模型来说,80G的A100都很难支持全参微调。

那假如,我不进行全参微调呢?比如,如果我只训1%的参数,则梯度参数+优化器状态就只占原来1%的开销了——这几乎没比推理部署多用多少显存!而一些参数高效微调方法,比如LoRA,一般就只需要训练0.1%-1%的模型参数。

:LoRA很美好,然而,个人/学术界使用得多。工业界用全量微调更多,这也好理解——公司有钱,并且微小的性能差距都可能导致用户抛弃你的AI产品而选择竞品。

下一章我们会进一步介绍LoRA。

显卡购物入门

要为大模型部署/训练选购显卡,主要看三个指标:显存带宽算力

显存,正如上文所言,根据模型参数可以估算。例如,消费级显卡中,8G的卡跑个3B大模型没问题,4-bit量化后也可以部署7B的;16G显存的卡可以流畅部署7B大模型(和用QLoRA微调它),24G可以流畅部署13B大模型,等等。

带宽,直接影响token的生成速度。每次生成token都需要重新读取一次模型的部分或全部参数,带宽翻倍,生成速度也几乎能翻倍。

算力,TOPS(Tera Operations Per Second,每秒万亿次操作)常用于整数运算(INT8),而TFLOPS(Tera Floating-Point Operations Per Second,每秒万亿次浮点运算)常用于浮点数运算(FP16/FP32)。一个经验公式是:推理生成一个token所需的计算量 ≈ 2 × 参数量P。

以下列举了一些NVIDIA系常见的LLM推理部署/训练用的显卡,可以用于对“我要什么卡”大概心里有个数:

消费级显卡

型号 架构 显存 FP16算力 (Tensor Dense) 首发年份 适用场景
RTX 4090 Ada Lovelace 24GB 165TF 2022 个人AI部署旗舰,适合7B-13B模型全量微调,30B-70B模型量化后推理
RTX 4080 Ada Lovelace 16GB 106TF 2022 7B模型量化推理性价比首选
RTX 3090 Ampere 24 GB 71.2TF 2022 大显存性价比(不学的时候可以4K打赛博朋克2077)
RTX 3060 (12GB) Ampere 12GB 25.5TF 2021 适合入门学习(不学的时候可以1080P打赛博朋克2077)

NVIDIA的显卡型号是什么意思?以RTX4090为例,它可以被拆分为RTX+4+90
RTX 表示支持光线追踪和AI加速技术,以前也有不带光追的GTX系列的显卡,但是现在基本被RTX取代,所以千万别买GTX系的。
4代表架构,数字越大表示架构技术越新。一般来说不要买架构太旧的显卡。
90代表性能,这个数字越大性能越好。
如果有Ti这个后缀,表示性能和定位高于标准版,但次于更高一级的数字型号。例如 RTX 4070 Ti 就强于 4070,但弱于 4080。
也就是说,不是整个数字(4090,5060)越大表示性能越好,比如4090的性能就比5060更好,但是如果跨的代数比较多,也有可能出现60“反超”90之类的情况。

备注1:众所周知,高端显卡市场波动得宛如理财产品,如何租卡/买卡请自行了解市场,本文不构成投资建议。
备注2:2077好玩,都给我玩。

专业级显卡

型号 架构 显存 互连带宽 (NVLink) FP16算力 首发年份 适用场景
A100 Ampere 80GB 600 GB/s 312TF 2020 成熟稳定,适用于大部分中等规模AI训练/推理场景
A800 Ampere 80GB 400 GB/s 312TF 2022 应对出口管制的A100中国合规版
H100 Hopper 80GB 900 GB/s 1979TF 2022 Transformer引擎加持,性能较A100有飞跃式提升
H800 Hopper 80GB 400 GB/s 1979TF 2023 应对出口管制的H100中国合规版
H200 Hopper 141GB 900 GB/s 1979TF 2023 H100的显存升级版,适合内存密集型任务
B100 Blackwell 192GB 1.8 TB/s (NVLink 5) 1.8PF 2024 新一代旗舰,万亿级模型训练

AI公司有多少专业级显卡?
普遍在万张以上,叫得出名字的AI公司则一般有数十万量级。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐