导图社区 DeepSeek R1图解
This is a mind map about DeepSeek R1,Main content: 运行速度,适用场景,计算性能,GPU占用,数据类型及精度,性能计算,8B,671B,1.5B,32B,14B,70B,7B。
编辑于2025-02-26 15:04:09DeepSeek R1
1.5B
定位:小型模型。
适用:个人用户,短文本生成、基础问答。
硬件:4核CPU、8GB内存, GPU加速4GB+显存。
显卡:纯CPU推理可行,非必须,实验环境可选RTX 3060等。
INT4推理:4核8GB显存0.75GB硬盘0.75GB+0.4GB。
INT8推理:4核8GB显存1.5GB硬盘1.5GB+0.75GB。
FP16推理:4核8GB显存3GB硬盘3GB+1.5GB。
FP16训练:4核8GB显存3GB硬盘3GB+1.5GB。
7B
定位:小型模型。
适用:个人用户、文案撰写、表格处理。
硬件:8核CPU、16GB内存, GPU加速14GB+显存。
显卡:纯CPU推理可行,非必选,实验环境可选RTX 3090、RTX 4090、L20等。
INT4推理:8核16GB显存3.5GB硬盘3.5GB+1.75GB。
INT8推理:8核16GB显存7GB硬盘7GB+3.5GB。
FP16推理:8核16GB显存14GB硬盘14GB+7GB。
FP16训练:16核32GB显存56GB硬盘14GB+7GB。
8B
定位:小型模型。
适用:个人用户、初级代码生成、逻辑推理。
硬件:8核CPU、16GB内存, GPU加速16GB+显存。
显卡:纯CPU推理可行,非必选,实验环境可选RTX 3090、RTX 4090、L20等。
INT4推理:8核16GB显存3.5GB硬盘4GB+2GB。
INT8推理:8核16GB显存7GB硬盘8GB+4GB。
FP16推理:8核16GB显存14GB硬盘16GB+8GB。
FP16训练:16核32GB显存64GB硬盘16GB+8GB。
14B
定位:中型模型。
适用:个人用户、长文本生成、数学推理。
硬件:i9级CPU、32GB内存、GPU加速28GB+显存。
显卡:不建议纯CPU推理,实验环境可选2卡RTX 4090、2卡L20等。
INT4推理:8核32GB显存7GB硬盘7GB+3.5GB。
INT8推理:8核32GB显存14GB硬盘14GB+7GB。
FP16推理:8核32GB显存28GB硬盘28GB+14GB。
FP16训练:Xeon8核64GB显存112GB硬盘28GB+14GB。
32B
定位:中型模型
适用:企业级用户、金融预测、知识问答系统
硬件:Xeon 8核CPU、64GB内存、GPU加速64GB+显存。
显卡:实验环境可选2-4卡RTX 4090、2-4卡L20等,生产环境多卡A100/H100或同级。
INT4推理:Xeon8核128GB显存12GB硬盘8GB+16GB。
INT8推理:Xeon8核128GB显存32GB硬盘32GB+16GB。
FP16推理:Xeon8核128GB显存64GB硬盘64GB+32GB。
FP16训练:Xeon16核256GB显存256GB硬盘64GB+32GB
70B
定位:大型模型。
适用:企业级用户、多模态预处理、深度学习研究。
硬件:32核CPU、128GB内存、GPU加速140GB+显存。
显卡:实验环境可选2卡A100/H100等,生产环境4-8卡A100/H100或同级显卡。
INT4推理:Xeon8核128GB显存35GB硬盘35GB+17.5GB。
INT8推理:Xeon8核128GB显存70GB硬盘70GB+35GB。
FP16推理:Xeon8核128GB显存140GB硬盘140GB+70GB。
FP16训练:Xeon32核512GB显存560GB硬盘140GB+70GB。
671B
定位:大型模型。
适用:科研机构、气候建模、基因组分析。
硬件:64核CPU、512GB内存、GPU加速1342GB+显存。
显卡:实验环境可选20*A100/H100等,生产环境多节点分布式部署多卡A100/H100或同级显卡。
INT4推理:Xeon64核5121GB显存335GB硬盘335GB+167GB。
INT8推理:Xeon64核512GB显存671GB硬盘671GB+335GB。
FP16推理:Xeon64核512GB显存1342GB硬盘1342GB+671GB。
FP16训练:Xeon64核4096GB显存5370GB硬盘1342GB+671GB。
运行速度
显存带宽与速度
显存带宽直接影响吞吐量,公式为Z=B×系数(B为带宽,系数随模型规模递减)。 例如: 1.5B模型:Z ≈B×0.2933(如RTX 4090 D带宽1792GB/s,理论速度约525tokens/s,实际受优化限制为50-80 tokens/s)。 32B模型:实测M2 Max MacBook(32GB内存)仅8-9 tokens/s。
量化对速度的影响
INT4量化可提升小模型速度2-3倍,但大模型(如32B以上)因计算复杂度高,提升有限(约1.5倍)
性能计算
推理显存≈参数量×精度字节数(FP16: 2B, INT8: 1B, INT4: 0.5B)+KV缓存+激活值(约参数显存的15%)(在推理过程中创建的张量)。
训练显存≈推理显存×4-6(含梯度、优化器状态等),建议使用混合精度或分布式训练技术(如ZeRO)。
硬盘需求≈模型文件(参数量×精度字节数)+50%临时空间。
举例:假设模型是16-bit精度(权重)发布,模型的参数量为70B,推理最低需要70B*2Bytes=140G显存,训练需要140G*4,训练最低需要560G显存。
适用场景
FP32 适用于对精度要求极高的科学计算、复杂的模拟仿真以及模型训练的初期阶段等场景,以保证模型的准确性和稳定性。
FP16 适用于深度学习模型的训练和推理阶段,尤其是在 GPU 支持的情况下,能够在不损失太多精度的前提下提高计算效率和减少内存占用。
int8 主要用于模型推理阶段的量化,特别是在资源受限的设备上,如移动设备、嵌入式设备等,以实现快速的推理速度和较低的功耗。
int4 则更适用于对内存和计算资源要求极致苛刻的场景,如在超大规模模型的压缩和部署中,作为进一步优化的手段,但需要更复杂的技术来保证模型性能。
计算性能
在现代 GPU 上,FP32 计算通常是最基础和稳定的,但计算速度相对较慢。
FP16 由于数据量较小,在支持 FP16 计算的 GPU 上,计算速度可以比 FP32 快很多,例如 NVIDIA 的一些 GPU 架构对 FP16 计算有专门的优化。
int8 和 int4 的计算速度通常比浮点数更快,因为整数计算的逻辑相对简单,而且在一些硬件上(如特定的 AI 加速器)对整数计算有专门的加速支持。但使用整数计算需要在量化和反量化过程中进行额外的处理,以确保计算结果的准确性。
GPU占用
FP32 占用 4 个字节(32 位)的内存空间。
FP16 占用 2 个字节(16 位)的内存空间,是 FP32 的一半。
int8 占用 1 个字节(8 位)的内存空间,是 FP32 的四分之一。
int4 占用 0.5 个字节(4 位)的内存空间,是 FP32 的八分之一。
数据类型及精度
FP32(单精度浮点数):“FP” 代表 “Floating Point”(浮点数),32 表示占用 32 位存储空间。它使用 IEEE 754 标准来表示数值,能够提供大约 7 位有效数字的精度。在深度学习中,FP32 可以较为精确地表示权重和激活值等数据,是一种常用的默认数据类型。例如在一些对精度要求较高的科学计算、图像处理等任务中,FP32 能保证计算结果的准确性。
FP16(半精度浮点数):同样基于 IEEE 754 标准,占用 16 位存储空间。其精度相对 FP32 较低,大约能提供 3 到 4 位有效数字的精度。虽然精度有所降低,但在许多深度学习任务中,尤其是在现代 GPU 支持的情况下,FP16 可以在不显著影响模型性能的前提下,大幅减少内存占用和计算量,加快训练和推理速度。
int8(8 位整数):“int” 代表 “Integer”(整数),占用 8 位存储空间。它只能表示整数,范围通常是 -128 到 127(有符号整数)。在深度学习中,int8 常用于量化技术,将浮点数转换为整数进行计算,以减少内存占用和计算量,提高推理效率。例如在一些对实时性要求较高的应用,如移动设备上的图像识别、语音识别等,int8 量化可以使模型在有限的资源下快速运行。
int4(4 位整数):占用 4 位存储空间,能表示的整数范围更小。在一些对存储和计算资源要求极为苛刻的场景中,如超大规模模型的推理阶段,int4 可以进一步压缩模型,减少内存需求和计算时间。但由于其表示范围有限,使用时需要更精细的量化策略来确保模型性能不受太大影响。