※ 引述《yoyololicon (十年魔乃粉)》之铭言:
: 乳题
: 最近想组个机器跑些DL的project
: 因为是自己玩玩的性质,所以都找些二手零件压成本
: 用的是四代平台4790S + 8G 1866 x4,电供650w
: 最重要的显卡预算大概是15k上下
: 目前最符合条件的感觉就3070
: 不过以前在学校跑DL的经验,有两颗gpu跑平行会快很多
: 所以想干脆用两只1660S来组,内存还可以上到12G
: 但是就没有Tensor core可以玩了qq,也不确定这样组的效能是否可以追上3070
: 还请版友给个建议
最近版上出现一些深度学习配单,觉得有一些心得可以分享,省的走冤枉路
就来回一下旧文,我最后拿3070喇
先说结论,3060 cp值最高唯一推荐,再上去建议直接攻顶3090
大部分人买显卡都很关心效能,所以我看到有些人会拿3070, 3060ti上来问
但是跑深度学习除了效能以外,VRAM大小以及资料读取的IO时间都会影响training效率
VRAM影响能跑得模型大小、类型,或是能一次塞入的资料量,可以想成和运算量成正比;
而资料读取的时间影响你能在多短的时间内拿到可以训练的资料
从我去年11月买了3070后,这之间多多少少训练过一些模型,算是有一些心得
观察下来其实大部份的时间3070很难完全跑满,看模型类型,有时甚至30,40%而已
为什么没有跑满?因为卡在资料进来的速度,跟CPU,硬盘和主机板比较有关
但只要组的等级有到基本差别不大
而且这是已经优化过资料读取的pipeline后的结果
没办法,只好增加显卡的运算量,看能不能善用这些idle的时间
但这时就会发现,8 Gb的VRAM根本就小气到不行,一下就塞满了
相比之下,3060 12Gb就很值,虽然效能较差,但以3070完全效能过剩的表现来看
更有机会能发挥100%的效能
举个实际的例子,小弟最近参加了一个跟AI相关的比赛,很幸运的捞到了铜牌
https://github.com/yoyololicon/music-demixing-challenge-ismir-2021-entry
其中一部分的模型就是用3070练出来的
为了让GPU跑到满,自己改了一个dataloader加速资料读取速度、使用混合精度训练
节省内存、将资料preprocessing改写移植到GPU上让它多一些运算
做了这么多改动才好不容易让GPU能跑在95% Orz
而且为了跑到预定的batch size大小,还得做gradient accumulation
如果有大VRAM就可以train比较无脑一些
大概酱