4060Ti 您所在的位置:网站首页 3070ti渲染建模够用吗 4060Ti

4060Ti

2024-07-17 05:13| 来源: 网络整理| 查看: 265

一 环境

pytorch环境:conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.6 -c pytorch -c conda-forge

测试代码:霹雳吧啦Wz的GitHub中的swin-L(transform分类网络)和FasterRCNN(CNN目标检测)。

二 CNN模型和transform模型测试结果

swin-L模型单位是 图像/秒,FasterRCNN模型单位是 秒/图像

备注:

4060T在训练和推理swin-L模型过程中,功耗满载160W且很稳定,而在训练和推理FasterRCNN模型过程中,功耗波动非常频繁和剧烈(100W~160W),估计带宽瓶颈导致。具体如下:

三 单个卷积层模型的推理速度测试:

模型:单卷积层,torch.nn.Conv2d(输入通道数目, 输出通道数目, 卷积核大小, 步长大小, 填充)

注意:每次结果有正负10%变动。测试代码见:https://blog.csdn.net/qq_42951560/article/details/128218168

单卷积层推理速度测试

我的测试和搜集资料发现,深度学习的不同计算过程(矩阵乘法、批处理大小、通道数、卷积核大小、激励函数、是CNN还是transform模块等等),对显卡中各参数需求不一样,这导致在不同算法的训练和推理中,显卡的参数瓶颈对象可能不一样。

用不同的标准和方法对显卡进行比较,差距会有点大,特别是如果仅仅只是对比矩阵计算、对比简单模型的训练等等,会很容易得出4070T性能比2080T都差。(具体可参考李沐写的显卡测试benchmark)

备注0:主流显卡的参数详情30/40系显卡参数对比10/20/30/40系汇总

备注1:主流显卡的跑分 

备注2:其他显卡的测试性能(SSD模型,FP32训练)

https://lambdalabs.com/gpu-benchmarks

备注3:另一个网站上的综合评分

https://mtli.github.io/gpubench/

备注4:各类GPU的FP16和FP8训练和推理性能

https://timdettmers.com/2023/01/30/which-gpu-for-deep-learning/#Raw_Performance_Ranking_of_GPUs(本文末尾推荐阅读2有完整中文翻译)

关于备注4吐槽:这篇外网博客,感觉全文很多地方遣词造句非常不严谨,很多结论的理由也是不科学。关于备注4这个图表中数据怎么得来的,我感觉他是基于文章中说的如下话:This means that when comparing two GPUs with Tensor Cores, one of the single best indicators for each GPU’s performance is their memory bandwidth. For example, The A100 GPU has 1,555 GB/s memory bandwidth vs the 900 GB/s of the V100. As such, a basic estimate of speedup of an A100 vs V100 is 1555/900 = 1.73x。大概意思是:任何模型Tensor Cores利用率大约在45-65%,原因是受限内存带宽瓶颈,所以他就认为内存带宽是多少,GPU的速度提升就有多大。从图表中看1080T、2080T、4070T、4090、V100、A100速度差异幅度就能推测他就是这么画的表格。但是实测FasterRCNN和Swin-L模型训练和推理速度,完全就不是这样的。

结论

如何快速评估一张显卡深度学习性能:看timespy 4K跑分(而FP32性能值并不靠谱)

操作系统基本不影响显卡深度学习性能:Ubuntu 22.04和win11系统下,训练和推理速度几乎一模一样。

关于显存大小的重要性:12G显存训练分类网络swin-L,batchsize都只能设为8(图像仅224*224),更别说其他的大模型或绘图模型。在当今时代12G也已经是显卡的严重短板。

关于选购深度学习显卡的建议:

用过1060,1080T,4060T、2080T,4070T和4090,在深度学习领域学习和工程实践了很多年,建议如下:

评估各类显卡性价比时,想精确评估和量化,目前我是没发现谁做到了,本质原因是不同模型和超参数,对显卡各指标的要求不一样,导致瓶颈点并不固定(网上很多人总是吐槽“带宽”是最大软肋,我觉得这些说法没去认真实践)。

关于速度和显存的权衡问题(比如选4070-12G还是4060T-16G),每个人特定需求不一样,个人建议:

显存(占70%权重):显存对现代深度学习模型至关重要,2012年近代深度学习模型的始祖AlexNet的训练,就因为当时最顶级的显卡显存都不够,只能把模型拆开放到2块显卡上并联训练。显存关系到你能否训练大模型,能否提高batchsize大小(影响精度和训练速度)等等。建议至少8G起步,绝大部分前几年模型也能入门学习,日常够用。如果要研究GPT类算法,或战未来,显存大小是最重要的因素。

速度(占30%权重)

带宽:其次是带宽吞吐量,影响简单类模型的训练速度。虽然4070T被吐槽带宽是最大软肋,但相同带宽的4070其4K跑分也并没什么优秀,只是288G/s的4060T才感觉到带宽过少。

核心频率与核心数:

核心数:流处理器数量也就是CUDA核心数量,流处理器可以理解为显卡中的画师,图均由画师一张张绘制而成。比如3090就有10496个画师,3080就有8704个画师。一般情况下,画师越多,效率越高,游戏帧数也越高。

核心频率(基础频率、加速频率):核心频率可以理解为显卡画师画画的速度,赶稿的时候和松懈的时候效率明显不一样。同架构同CUDA数量频率越高,效率越高。

性价比:

以下是各显卡首发价格和timespy跑分的性价比/元

参考:

深度学习 GPU(显卡)选购 :https://www.cnblogs.com/codingbigdog/p/16861017.html

【翻译】为深度学习购买哪种GPU: 我在深度学习中使用GPU的经验和建议:https://blog.csdn.net/community_717/article/details/128832907

跑分参考:https://www.gpu-monkey.com/en/gpu_benchmark-3dmark_time_spy_and_fire_strike-5



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有