问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

大模型的显存占用计算方法

创作时间:
作者:
@小白创作中心

大模型的显存占用计算方法

引用
CSDN
1.
https://blog.csdn.net/RamendeusStudio/article/details/140154864

参数的数量和量化决定了模型的大小,这是使用LLM的一个主要限制。

要使用 LLM,我们必须将模型放入内存中。使用 32 位浮点 (FP32),1 个参数需要 4 字节 RAM。
使用 16 位量化(BFLOAT16 或 FP16),我们可以将其减少到 1 个参数的 2 字节 RAM。
对于 8 位整数 (INT8),我们需要 1 字节的 RAM 用于 1 个参数。
因此,在内存中存储 10 亿 (1B) 个 LLM 参数需要大约 4GB 内存(32 位全精度)、2GB 内存(16 位半精度)和 1GB 内存(8 位精度)。
举例来说,我的 GeForce 2060 显卡有 6 GB 的内存,可以容纳大约 1.5B 参数@32 位,或 3B 参数@16 位,或 6B 参数@8 位。
但是,仅加载 CUDA 内核就会消耗 1-2GB 的内存。因此,实际上,您无法仅使用参数填满整个 GPU 内存。
训练 LLM 需要更多的 GPU RAM,因为优化器状态、梯度和前向激活每个参数都需要额外的内存 [3]。
选择 LLM 时,请查看 GPU 有多少 GB 的内存,然后选择合适的模型。使用 1B 参数 = 2GB@16 位或 1GB@8 位作为经验法则。

本文原文来自CSDN博客

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号