在 Titan RTX 上的深度学习模型还没有 CPU 和 1650 快 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
WeiJoseph
V2EX    机器学习

在 Titan RTX 上的深度学习模型还没有 CPU 和 1650 快

  •  
  •   WeiJoseph 2020-10-19 18:07:45 +08:00 3255 次点击
    这是一个创建于 1826 天前的主题,其中的信息可能已经有所发展或是发生改变。
    一个机器学习小作业 mnist 数据集上的一个小模型 同样的代码在 titan rtx 的服务器上要跑 2min 我用自己 i9 9980 的 MacBook Pro 只需要 1:35
    在同学 1650 的笔记本上用 cuda 只跑了 1:28
    十分疑惑 求大佬解释
    15 条回复    2021-01-20 22:50:55 +08:00
    ztyMCR
        1
    ztyMCR  
       2020-10-19 18:10:07 +08:00
    两分钟真的看的出啥来吗,是不是 GPU 没启用
    WeiJoseph
        2
    WeiJoseph  
    OP
       2020-10-19 18:21:48 +08:00 via iPhone
    @ztyMCR 肯定启用了噻 几个电脑上都是一份代码
    csunny
        3
    csunny  
       2020-10-19 18:27:11 +08:00
    看看运行时的负载呢
    WeiJoseph
        4
    WeiJoseph  
    OP
       2020-10-19 18:30:47 +08:00 via iPhone
    @csunny 就 50 多瓦
    minami
        5
    minami  
       2020-10-19 18:35:22 +08:00
    GPU 调用是异步的,可能是计时不准的原因。建议加入取回 CPU 的操作,保证 GPU 上任务计算完毕
    Porphet
        6
    Porphet  
       2020-10-19 18:36:56 +08:00
    如果显存几乎占满了,50w 的负载,原因可能是模型设计的问题。如果没满,可以尝试提高 batch_size
    WeiJoseph
        7
    WeiJoseph  
    OP
       2020-10-19 18:39:01 +08:00 via iPhone
    @minami 感谢 我回去试试
    Porphet
        8
    Porphet  
       2020-10-19 18:40:32 +08:00
    模型设计问题有可能是没有及时 backward,导致大量的计算图被暂时存储起来没有 backward,也就不能及时释放
    WeiJoseph
        9
    WeiJoseph  
    OP
       2020-10-19 18:41:03 +08:00
    @Porphet 24G 显存用了 1G 吧
    Porphet
        10
    Porphet  
       2020-10-19 18:42:57 +08:00
    @WeiJoseph 提高 batch_size, 这么少的显存占用肯定跑不满 rtx, 简直是浪费这块大显存显卡黑盒
    WeiJoseph
        11
    WeiJoseph  
    OP
       2020-10-19 18:45:03 +08:00 via iPhone
    @Porphet 感谢 晚上我提升一下 batch size
    different
        12
    different  
       2020-10-19 19:12:59 +08:00 via Android
    如 5 楼所示,可能 GPU 并行数据量太少了,大部分时间都在 cpu_gpu 交互或者 cpu 串行时间过长。
    你的服务器 cpu 可能主频较低,服务器 cpu 一般都不超过 2.5GHz 。服务器 cpu 主频一般随着核心数的增多,主频会稍微下降,大部分在 2.2GHz 以下。

    为了凸现 gpu 的优势,缩小 cpu 差距,你可能需要增大在 GPU 并行的数据量。不知道和楼上说的 batch size 是否同一个意思。
    Escapist367
        13
    Escapist367  
       2020-10-19 19:31:21 +08:00
    代码发出来看看

    很可能是读取数据和加载模型的时间占了总耗时的大部分
    高主频+SSD 的个人电脑在读数据和加载模型上相对于服务器有巨大优势
    WeiJoseph
        14
    WeiJoseph  
    OP
       2020-10-19 23:57:57 +08:00
    @minami
    @Porphet
    @different
    @Escapist367
    今晚拉大 batch_size 虽然占用的显存还是只有 1G 但是终于运算速度终于大幅度超过 cpu 了 看来是我之前 batch_size 设置的太小了
    不过 batch_size 拉大以后训练效果就下降了 综合下来还是感觉这个小模型和小数据集根本不需要服务器来跑
    感谢大家
    kickcellardoor
        15
    kickcellardoor  
       2021-01-20 22:50:55 +08:00
    @WeiJoseph 加 batchsize 的同时一般要同比例地提高 learning rate,加 batchsize 一般是不会有负面作用的。不过 mnist 是用不着服务器(
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     803 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 20:56 PVG 04:56 LAX 13:56 JFK 16:56
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86