最近读者问我们 如果想自己本地部署Stable Diffusion本地环境, 需要买哪种显卡?有些卡很贵,有什么区别
这个就要涉及到训练卡和推理卡的区别,它们在设计和性能上有着明显的差异,以适应不同的计算需求。
本文来解释各自的优势和应用场景,各自的优势。
硬件指标
事实上,H100/A100 和 4090 最大的区别就在通信和内存上,算力差距不大。
H100 | A100 | 4090 | |
---|---|---|---|
Tensor FP16 算力 | 989 Tflops | 312 Tflops | 330 Tflops |
Tensor FP32 算力 | 495 Tflops | 156 Tflops | 83 Tflops |
内存容量 | 80 GB | 80 GB | 24 GB |
内存带宽 | 3.35 TB/s | 2 TB/s | 1 TB/s |
通信带宽 | 900 GB/s | 900 GB/s | 64 GB/s |
通信时延 | ~1 us | ~1 us | ~10 us |
售价 | 40000 | $15000 | $1600 |
NVIDIA 的算力表里面油水很多,比如 H100 TF16 算力写的是 1979 Tflops,但那是加了 sparsity(稀疏)的,稠密的算力只有一半;
4090 官方宣传 Tensor Core 算力高达 1321 Tflops,但那是 int8 的,FP16 直只有 330 Tflops。
推理和训练有什么区别?
首先,训练不仅需要存储模型参数,还需要存储梯度、优化器状态、正向传播每一层的中间状态(activation),后面几个比参数更大,对模型内存的需求量也更大。
其次,训练任务是一个整体,流水线并行的正向传播中间结果是需要存下来给反向传播用的。为了节约内存而使用流水线并行,流水级越多,要存储的中间状态也就更多,反而加剧内存的不足。
而推理任务中的各个输入数据之间并没有关系,正向传播每一层的中间状态也不需要保存下来,因此流水线并行不需要存储很多中间状态。
大模型训练卡:
特点
- 高浮点运算能力:需要强大的计算能力来处理复杂的数学运算。
- 大显存:需要大显存来存储大量数据和模型参数。
- 高带宽:需要高内存带宽来快速读取和写入数据。
价格
训练卡目前主要是以英伟达的 H100/H800/A100/A800 几种型号为主,目前国内价格在 10-30 万元每张居多。
逻辑推理卡:
特点
- 优化的计算单元:针对推理任务优化的计算单元。
- 低精度运算:在推理时可以容忍一定程度的精度损失。
- 成本效益:推理型显卡在成本和功耗上的优化。
- 并行处理能力:显卡能够同时处理多个推理任务。
价格
推理卡常见的有 4060/4090/3060/3080/3090 等型号,价格在几千到两万左右不等。
70B 推理需要多少张卡?
总的存储容量也很好算,推理的时候最主要占内存的就是参数、KV Cache 和当前层的中间结果。
当 batch size = 8 时,中间结果所需的大小是 batch size * token length * embedding size = 8 * 4096 * 8192 * 2B = 0.5 GB,相对来说是很小的。
70B 模型的参数是 140 GB,不管 A100/H100 还是 4090 都是单卡放不下的。那么 2 张 H100 够吗?看起来 160 GB 是够了,但是剩下的 20 GB 如果用来放 KV Cache,
要么把 batch size 压缩一半,要么把 token 最大长度压缩一半,听起来是不太明智。因此,至少需要 3 张 H100。
对于 4090,140 GB 参数 + 40 GB KV Cache = 180 GB,每张卡 24 GB,8 张卡刚好可以放下。
总结
总得来说:推理可以用训练卡,训练不可以用推理卡。
- 训练型显卡:适用于研究和开发环境,特别是在需要大量数据和复杂模型的场景,如图像识别、自然语言处理等。
- 推理型显卡:适用于生产环境,尤其是在需要快速响应和高吞吐量的在线服务中,如实时视频分析、推荐系统等。
相信聊了这么多,大家对 NVIDIA 这么多款 GPU 有了一定了解。知道自己要购买哪种显卡了嘛?大家根据自己的经济条件来选择。
RA/SD 衍生者AI训练营。发布者:arnehuo,转载请注明出处:https://www.shxcj.com/archives/3468
Comments(2)
请问买5090核算还是H600好?
@图图:别做选择,全要