大模型参数和内存解析
在讨论大模型时,我们通常会见到类似 “175B” 或 “125M” 的描述。
- B 表示 billion(十亿)
- M 表示 million(百万)
每个参数的内存占用
模型中参数的数据类型直接影响每个参数的内存大小,常见的数据类型包括:
举例: 对于一个 7B 模型来说:
- float32:约 28 GB
- float16:约 14 GB
- int8:约 7 GB
- int4:约 3.5 GB
模型案例
GPT-3
- 参数规模从 125M 到 175B 不等
- 原始训练时可能使用 float32,但推理常用 float16 或经过 int8 量化
- 例如:GPT-3 175B 模型在推理时常采用 float16 来降低内存需求
LLaMA-2
- 提供 7B、13B 和 70B 等多个版本
- 原始训练一般采用 float16 或 bfloat16
- 推理阶段支持 float16,同时有 int8 或 int4 的量化版本
DeepSeek 系列
- 包括 DeepSeek-LLM 和 DeepSeek-Coder 等
- DeepSeek-LLM 常见有 7B 与 67B 版本,原始精度使用 float16/bfloat16,推理时可选 int8/int4
- DeepSeek-Coder 针对代码任务,提供 1.3B、6.7B、33B 不同版本,均支持灵活的数据类型选择