如何知道一个大模型是否可以在自己的显卡上运行呢?
1.经验评估
- 推理显存估算:7B-float 是 28 GB,7B-BF16 是 14GB,7B-int8 是 7GB;其他版本以此类推即可。
- 训练的参数类型,只能是 float / BF16
- 训练 所需显存 保守估算 是 同参数同类型llm 推理 的 4倍。
- 例子:7B-float 训练 显存:28 * 4 = 112 GB
方法 | bits | 7B | 13B | 30B | 65B | 8*7B |
---|---|---|---|---|---|---|
全参数微调 | 16 | 160GB | 320GB | 600GB | 1200GB | 900GB |
Freeze | 16 | 20GB | 40GB | 120GB | 240GB | 200GB |
LoRA | 16 | 16GB | 32GB | 80GB | 160GB | 120GB |
QLoRA | 8 | 10GB | 16GB | 40GB | 80GB | 80GB |
QLoRA | 4 | 6GB | 12GB | 24GB | 48GB | 32GB |
2.精确评估
2.1 在线评估
accelerate estimate-memory 是 huggingface 的 accelerate 开发库中提供的一个工具。可网页在线访问
https://huggingface.co/spaces/hf-accelerate/model-memory-usage选择相应模型进行评估
2.2 本地评估
- 安装 accelerate, transformers
1 |
|
- 使用方法举例
1 |
|
如何知道一个大模型是否可以在自己的显卡上运行呢?
https://linxkon.github.io/如何知道一个大模型是否可以在自己的显卡上运行呢?.html