显卡性能对比
显卡性能对比
在选择显卡时,性能对比是一个非常重要的环节。显卡的性能直接影响到游戏、视频编辑、3D渲染等任务的效率和体验。以下是一些常见的显卡性能对比方法和工具,以及如何通过云端服务(例如AutoDL)来加速显卡性能测试。
1. 大模型评测的关键指标
在显卡性能对比中,尤其是针对深度学习、AI训练等高性能计算任务,需要关注以下几个关键指标。这些指标不仅适用于传统显卡的对比分析,也适用于评测显卡在大模型训练中的表现。
1.1 核心频率(Core Clock)
- 定义:显卡的核心频率是指其图形处理器(GPU)的工作频率,单位为MHz或GHz。
- 重要性:更高的核心频率通常意味着更快的计算速度,特别是在需要大量浮点运算的任务中。
- 注意:虽然核心频率是重要的参考指标,但显卡的整体性能还受到其他因素的影响,例如显存带宽和架构设计。
1.2 显存容量(VRAM Capacity)
- 定义:显存是显卡用于存储数据的专用内存,容量通常以GB为单位。
- 重要性:在处理大模型时,显存容量决定了能够加载到显存中的数据量和模型大小。如果显存不足,可能会导致性能下降或任务无法完成。
- 推荐:对于深度学习任务,建议选择至少12GB或更高显存的显卡(如NVIDIA A100、RTX 4090)。
1.3 显存带宽(Memory Bandwidth)
- 定义:显存带宽表示显存与GPU之间的数据传输速率,单位为GB/s。
- 重要性:高带宽可以显著提高数据传输效率,特别是在处理高分辨率图像或大规模数据集时。
- 注意:显存类型(如GDDR6、HBM2)也会影响带宽性能。
1.4 张量核心(Tensor Cores)
- 定义:张量核心是专门为AI和深度学习任务优化的专用硬件单元。
- 重要性:对于涉及矩阵乘法的深度学习任务(如神经网络训练),张量核心可以显著加速计算。
- 适用场景:NVIDIA的Ampere架构(如A100、A40、RTX 30系列)和Tesla系列显卡通常配备张量核心。
1.5 CUDA核心数(CUDA Cores)
- 定义:CUDA核心是NVIDIA显卡中的并行
1.6 大模型Token生成速度
- 定义:大模型Token生成速度是指显卡在运行自然语言处理(NLP)任务时,生成文本的速度,通常以Tokens/秒为单位。
- 重要性:对于涉及生成式AI的应用(如ChatGPT、BERT等),显卡的Token生成速度直接影响用户体验和任务效率。高性能显卡可以显著缩短模型推理和训练时间。
- 影响因素:Token生成速度不仅取决于显卡的CUDA核心数和张量核心性能,还与显存容量和带宽密切相关。例如,NVIDIA A100通过其高显存带宽和强大的张量核心,在生成式AI任务中表现出色。
2. 显卡性能测试工具
在进行显卡性能对比时,可以使用以下工具来评估显卡的具体表现:
2.1 基准测试工具
- 3DMark:主要用于测试显卡在游戏场景中的性能,提供详细的得分和帧率信息。
- Unigine Heaven/Benchmarks:专注于图形渲染性能的测试工具。
- DeepBench:专为深度学习任务设计的基准测试工具,可评估显卡在矩阵运算和神经网络训练中的表现。
2.2 深度学习框架
- TensorFlow Benchmark Suite:用于评估显卡在TensorFlow框架下的性能。
- PyTorch Benchmark:测试显卡在PyTorch框架中的计算能力。
- MLPerf:一个行业标准的机器学习性能评估工具,涵盖训练和推理两个方面。
3. 使用云端服务加速显卡性能测试
在实际应用中,购买显卡前可能无法直接测试其性能。此时,可以借助云端服务(如AutoDL)来加速显卡性能测试。
3.1 AutoDL的特点
- 多样化显卡选择:AutoDL提供多种显卡型号供用户选择,包括NVIDIA A100、V100、RTX 3090等。
- 按需计费:用户可以根据需求选择合适的显卡配置,按小时计费,降低测试成本。
- 快速部署:支持一键部署深度学习框架和模型,简化测试流程。
3.2 实验步骤
以下是通过云端服务(如AutoDL)加速显卡性能测试的具体实验步骤:
3.2.1 注册与登录
- 访问官网:打开AutoDL官网,注册并登录账户。
- 充值或选择免费额度:根据需求充值或使用平台提供的免费试用额度。
3.2.2 选择显卡型号
- 浏览显卡选项:在平台的计算资源页面,查看可用的显卡型号(如NVIDIA A100、V100、RTX 3090等)。
- 选择目标显卡:根据对比需求选择一款或多款显卡进行测试。例如,如果需要对比A100与RTX 3090的性能,分别选择这两种显卡配置的实例。
3.2.3 配置计算环境
- 选择操作系统:选择适合的Linux发行版(如Ubuntu 18.04或20.04)
- 安装深度学习框架:
- 使用平台提供的预制镜像(如TensorFlow、PyTorch、CUDA等)。
- 或通过命令行手动安装框架和依赖项。例如:
# 安装PyTorch和CUDA
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch
- 上传模型或数据集:将需要测试的模型文件和数据集上传到云端实例
4. GPU选型
CPU非常重要!尽管CPU并不直接参与深度学习模型计算,但CPU需要提供大于模型训练吞吐的数据处理能力。比如,一台8卡NVIDIA V100的DGX服务器,训练ResNet-50 ImageNet图像分类的吞吐就达到8000张图像/秒,而扩展到16卡V100的DGX2服务器却没达到2倍的吞吐,说明这台DGX2服务器的CPU已经成为性能瓶颈了;我们通常为每块GPU分配固定数量的CPU逻辑核心。理想情况下,模型计算吞吐随GPU数量线性增长,单GPU的合理CPU逻辑核心数分配可以直接线性扩展到多GPU上。
AutoDL机器均为高性能CPU,其中相对来说更高性能的CPU有:
- 北京A区 H20-NVLink 用到的 AMD EPYC 9K84 CPU
- 北京B区 4090 用到的 Xeon® Gold 6430 CPU
- 内蒙A区 A100 用到的 AMD EPYC 7763 CPU
- 内蒙B区 4090 用到的 Xeon® Platinum 8352V、Xeon® Platinum 8358P、Xeon® Gold 6430 CPU
- 重庆A区 4090D 用到的 Xeon® Platinum 8474C、Xeon® Platinum 8481C CPU
- 西北B区 4090和4090D 用到的 AMD EPYC 9654 CPU、AMD EPYC 9754 CPU
- L20专区 L20、H20-NVLink 用到的 Xeon® Platinum 8457C CPU
AutoDL平台上提供的GPU型号很多。我们按照GPU架构大致分为五类:
- NVIDIA Pascal架构的GPU,如TitanXp,GTX 10系列等。 这类GPU缺乏低精度的硬件加速能力,但却具备中等的单精度算力。由于价格便宜,适合用来练习训练小模型(如Cifar10)或调试模型代码。
- NVIDIA Volta/Turing架构的GPU,如GTX 20系列, Tesla V100等。 这类GPU搭载专为低精度(int8/float16)计算加速的TensorCore, 但单精度算力相较于上代提升不大。我们建议在实例上启用深度学习框架的混合精度训练来加速模型计算。 相较于单精度训练,混合精度训练通常能够提供2倍以上的训练加速。
- NVIDIA Ampere架构的GPU,如GTX 30系列,Tesla A40/A100等。 这类GPU搭载第三代TensorCore。相较于前一代,支持了TensorFloat32格式,可直接加速单精度训练 (PyTorch已默认开启)。但我们仍建议使用超高算力的float16半精度训练模型,可获得比上一代GPU更显著的性能提升。
- 寒武纪 MLU 200系列加速卡。 暂不支持模型训练。使用该系列加速卡进行模型推理需要量化为int8进行计算。 并且需要安装适配寒武纪MLU的深度学习框架。
- 华为 Ascend 系列加速卡。 支持模型训练及推理。但需安装MindSpore框架进行计算。
GPU的数量选择与训练任务有关。一般我们认为模型的一次训练应当在24小时内完成,这样隔天就能训练改进之后的模型。以下是选择多GPU的一些建议:
- 1块GPU。适合一些数据集较小的训练任务,如Pascal VOC等。
- 2块GPU。同单块GPU,但是你可以一次跑两组参数或者把Batchsize扩大。
- 4块GPU。适合一些中等数据集的训练任务,如MS COCO等。
- 8块GPU。经典永流传的配置!适合各种训练任务,也非常方便复现论文结果。
- 我要更多!用于训练大参数模型、大规模调参或超快地完成模型训练。
显卡架构 | 特点 | 适用场景 |
---|---|---|
NVIDIA Pascal | 中等单精度算力,缺乏低精度硬件加速。 | 小模型训练和调试。 |
NVIDIA Volta | 配备第一代张量核心,支持低精度计算加速。 | 中等规模模型训练和推理。 |
NVIDIA Ampere | 第三代张量核心,支持TensorFloat32格式,显著提升单精度和混合精度训练性能。 | 大规模模型训练和推理。 |
NVIDIA Hopper | 新增Transformer引擎,专为AI和深度学习设计,大幅提升大模型训练和推理效率。 | 超大规模 |
4. 显卡性能对比
型号 | 显存 | 单精(FP32) | 半精(FP16) | 详细参数 | 说明 |
---|---|---|---|---|---|
Tesla P40 | 24GB | 11.76 T | 11.76 T | 查看 | 比较老的Pascal架构GPU,对于cuda11.x之前且对大显存有需求的算法是非常不错的选择 |
TITAN Xp | 12GB | 12.15 T | 12.15 T | 查看 | 比较老的Pascal架构GPU,用作入门比较合适 |
1080 Ti | 11GB | 11.34 T | 11.34 T | 查看 | 和TITANXp同时代的卡,同样适合入门,但是11GB的显存偶尔会比较尴尬 |
2080Ti | 11GB | 13.45 T | 53.8 T | 查看 | 图灵架构GPU,性能还不错,老一代型号中比较适合做混合精度计算的GPU。性价比高 |
V100 | 16/32GB | 15.7 T | 125 T | 查看 | 老一代专业计算卡皇,半精性能高适合做混合精度计算 |
3060 | 12GB | 12.74 T | 约24T | 查看 | 如果1080Ti的显存正好尴尬了,3060是不错的选择,适合新手。需要使用cuda11.x |
A4000 | 16GB | 19.17 T | 约76T | 查看 | 显存和算力都比较均衡,适合进阶过程使用。需要使用cuda11.x |
3080Ti | 12GB | 34.10 T | 约70T | 查看 | 性能钢炮,如果对显存要求不高则是非常合适的选择。需要使用cuda11.x |
A5000 | 24GB | 27.77T | 约117T | 查看 | 性能钢炮,如果觉得3080Ti的显存不够用A5000是合适的选择,并且半精算力高适合混合精度。需要使用cuda11.x |
3090 | 24GB | 35.58 T | 约71T | 查看 | 可以看做3080Ti的扩显存版。性能和显存大小都非常够用,适用性非常强,性价比首选。需要使用cuda11.x |
A40 | 48GB | 37.42 T | 149.7 T | 查看 | 可以看做是3090的扩显存版。算力和3090基本持平,因此根据显存大小进行选择。需要使用cuda11.x |
A100 SXM4 | 40/80GB | 19.5 T | 312 T | 查看 | 新一代专业计算卡皇,除了贵没缺点。显存大,非常适合做半精计算,因为有NVLink加持,多卡并行加速比非常高。需要使用cuda11.x |
4090 | 24G | 82.58 T | 165.2 T | 查看 | 新一代游戏卡皇,除显存比较小和多机多卡并行效率低的缺点外,性价比非常高 |
4.1 RTX 4090 24G x 2
注意:多模态的推理速度以图片为基础,从请求发起到结束时对图片处理的时间
CPU:30 vCPU Intel® Xeon® Platinum 8474C
单线程
大模型名称 | 部署框架 | 推理速度 | 启动时显存使用 | 显存使用量 | 推理显存使用量 |
---|---|---|---|---|---|
通义千问2.5-VL-7B-Instruct-AWQ | vllm | 10秒-12秒/张 | 32G | 16G | 18G |
通义千问2.5-7B-Instruct-Int4 | vllm | 11 token/s | 32G | 38G | 38G |
多线程
大模型名称 | 部署框架 | 线程数 | 推理速度 | 显存使用量 | 推理显存使用量 |
---|---|---|---|---|---|
通义千问2.5-VL-7B-Instruct-AWQ | vllm | 20 | 平均耗时11秒/张 | 16G | 40G |
通义千问2.5-7B-Instruct-Int4 | vllm | 20 | 204token/s | 16G | 40G |
大模型名称 | 部署框架 | 线程数 | 推理速度 | 显存使用量 | 推理显存使用量 |
---|---|---|---|---|---|
通义千问2.5-VL-7B-Instruct-AWQ | vllm | 50 | 平均耗时11秒/张 | 17G | 40G |
通义千问2.5-7B-Instruct-Int4 | vllm | 50 | 471token/s | 38G | 40G |
4.2 L20 48G
CPU:25 vCPU AMD EPYC 7T83 64-Core Processor
单线程
大模型名称 | 部署框架 | 推理速度 | 显存使用量 | 推理显存使用量 |
---|---|---|---|---|
通义千问2.5-VL-7B-Instruct-AWQ | vllm | 5秒-6秒/张 | 23G | 24G |
通义千问2.5-7B-Instruct-Int4 | vllm | 20 token/s | 40G | 40G |
多线程
大模型名称 | 部署框架 | 线程数 | 推理速度 | 显存使用量 | 推理显存使用量 |
---|---|---|---|---|---|
通义千问2.5-VL-7B-Instruct-AWQ | vllm | 20 | 平均耗时5秒/张 | 23G | 24G |
通义千问2.5-7B-Instruct-Int4 | vllm | 20 | 364token/s | 40G | 40G |
大模型名称 | 部署框架 | 线程数 | 推理速度 | 显存使用量 | 推理显存使用量 |
---|---|---|---|---|---|
通义千问2.5-VL-7B-Instruct-AWQ | vllm | 50 | 平均耗时16-17秒/张 | 23G | 24G |
通义千问2.5-7B-Instruct-Int4 | vllm | 50 | 798token/s | 40G | 40G |
4.3 L40 48G
CPU:25 vCPU AMD EPYC 7T83 64-Core Processor
单线程
大模型名称 | 部署框架 | 推理速度 | 启动显存使用 | 显存使用量 | 推理显存使用量 |
---|---|---|---|---|---|
通义千问2.5-VL-7B-Instruct-AWQ | vllm | 平均耗时3秒-7秒/张 | 36G | 16G | 17G |
通义千问2.5-7B-Instruct | vllm | 12.7token/s | 40G | 40G | 40G |
多线程
大模型名称 | 部署框架 | 线程数 | 推理速度 | 启动显存使用 | 显存使用量 | 推理显存使用量 |
---|---|---|---|---|---|---|
通义千问2.5-VL-7B-Instruct-AWQ | vllm | 20 | 平均16-17秒/张 | 36G | 17G | 37G |
通义千问2.5-7B-Instruct | vllm | 20 | 240token/s | 40G | 40G | 40G |
总结
L20得益于计算卡的架构优势,在推理速度方便要比4090显卡的性能高,而L20在使用同样的测试环境下,L40性能低于L20
注:所有的测试方式均为使用代码的方式进行API调用,通过vllm记录token的生成速度和显存占用量
5. 大模型微调速度
5.1 RTX 4090
使用2 x RTX4090显卡进行模型推理测试
大模型名称 | 微调框架 | 微调速度 | 显存使用量 |
---|---|---|---|
通义千问2.5-Omni-7B全模态 | llamafactory | ||
通义千问2.5-VL-7B-Instruct | llamafactory | ||
DeepSeek-R1-Distill-Qwen-7B | llamafactory | ||
通义千问2.5-7B-Instruct | llamafactory |