0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

实践经验:在深度学习中喂饱GPU

DPVg_AI_era 来源:lq 2019-09-13 17:07 次阅读

深度学习模型训练是不是大力出奇迹,显卡越多越好?非也,没有512张显卡,也可以通过一些小技巧优化模型训练。本文作者分析了他的实践经验。

前段时间训练了不少模型,发现并不是大力出奇迹,显卡越多越好,有时候 1 张 v100 和 2 张 v100 可能没有什么区别,后来发现瓶颈在其他地方,写篇文章来总结一下自己用过的一些小 trick,最后的效果就是在 cifar 上面跑 vgg 的时间从一天缩到了一个小时,imagenet 上跑 mobilenet 模型只需要 2 分钟每个 epoch。(文章末尾有代码啦)

先说下跑 cifar 的时候,如果只是用 torchvision 的 dataloader (用最常见的 padding/crop/flip 做数据增强) 会很慢,大概速度是下面这种,600 个 epoch 差不多要一天多才能跑完,并且速度时快时慢很不稳定。

我最初以为是 IO 的原因,于是挂载了一块内存盘,改了一下路径接着用 torchvision 的 dataloader 来跑,速度基本没啥变化。。。

然后打开资源使用率看了下发现 cpu 使用率几乎已经满了(只能申请 2cpu 和一张 v100...),但是 gpu 的使用率非常低,这基本可以确定瓶颈是在 cpu 的处理速度上了。

后来查了一些资料发现 nvidia 有一个库叫 dali 可以用 gpu 来做图像的前处理,从输入,解码到 transform 的一整套 pipeline,看了下常见的操作比如 pad/crop 之类的还挺全的,并且支持 pytorch/caffe/mxnet 等各种框架。

可惜在官方文档中没找到 cifar 的 pipeline,于是自己照着 imagenet 的版本写了个,最初踩了一些坑(为了省事找了个 cifar 的 jpeg 版本来解码,发现精度掉得很多还找不到原因,还得从 cifar 的二进制文件来读取),最后总归是达到了同样的精度,再来看一看速度和资源使用率,总时间直接从一天缩短为一小时,并且 gpu 使用率高了很多。

再说下 imagenet 的训练加速,最初也是把整个数据集拷到了挂载的内存盘里面(160g 大概够用了,从拷贝到解压完成大概 10 分钟不到),发现同样用 torchvision 的 dataloader 训练很不稳定,于是直接照搬了 dali 官方的 dataloader 过来,速度也是同样起飞 hhhh(找不到当时训练的图片了),然后再配合 apex 的混合精度和分布式训练,申请 4 块 v100,gpu 使用率可以稳定在 95 以上,8 块 v100 可以稳定在 90 以上,最后直接上到 16 张 v100 和 32cpu,大概也能稳定在 85 左右(看资源使用率发现 cpu 到顶了,不然估计 gpu 也能到 95 以上),16 块 v100 在 ImageNet 上跑 mobilenet 只需要 2 分钟每个 epoch。

写的 dataloader 放到了 github 上,我测试的精度跟 torchvision 的版本差不多,不过速度上会比 torchvision 快很多,后面有空也会写一些其他常用 dataloader 的 dali 版本放上去。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • gpu
    gpu
    +关注

    关注

    28

    文章

    4735

    浏览量

    128919
  • 数据集
    +关注

    关注

    4

    文章

    1208

    浏览量

    24696
  • 深度学习
    +关注

    关注

    73

    文章

    5503

    浏览量

    121142

原文标题:在深度学习中喂饱GPU

文章出处:【微信号:AI_era,微信公众号:新智元】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    深度学习工作负载GPU与LPU的主要差异

    ,一个新的竞争力量——LPU(Language Processing Unit,语言处理单元)已悄然登场,LPU专注于解决自然语言处理(NLP)任务的顺序性问题,是构建AI应用不可或缺的一环。 本文旨在探讨深度学习工作负载
    的头像 发表于 12-09 11:01 275次阅读
    <b class='flag-5'>深度</b><b class='flag-5'>学习</b>工作负载<b class='flag-5'>中</b><b class='flag-5'>GPU</b>与LPU的主要差异

    GPU深度学习的应用 GPUs图形设计的作用

    随着人工智能威廉希尔官方网站 的飞速发展,深度学习作为其核心部分,已经成为推动威廉希尔官方网站 进步的重要力量。GPU(图形处理单元)深度
    的头像 发表于 11-19 10:55 479次阅读

    NPU深度学习的应用

    设计的硬件加速器,它在深度学习的应用日益广泛。 1. NPU的基本概念 NPU是一种专门针对深度学习算法优化的处理器,它与传统的CPU和
    的头像 发表于 11-14 15:17 540次阅读

    pcie深度学习的应用

    深度学习模型通常需要大量的数据和强大的计算能力来训练。传统的CPU计算资源有限,难以满足深度学习的需求。因此,GPU(图形处理单元)和TPU
    的头像 发表于 11-13 10:39 393次阅读

    AI干货补给站 | 深度学习与机器视觉的融合探索

    智能制造的浪潮,阿丘科技作为业界领先的工业AI视觉平台及解决方案提供商,始终致力于推动AI+机器视觉威廉希尔官方网站 的革新与应用。为此,我们特别开设了「AI干货补给站」专栏,分享此领域的基础知识及实践经验
    的头像 发表于 10-29 08:04 225次阅读
    AI干货补给站 | <b class='flag-5'>深度</b><b class='flag-5'>学习</b>与机器视觉的融合探索

    GPU深度学习应用案例

    GPU深度学习的应用广泛且重要,以下是一些GPU深度
    的头像 发表于 10-27 11:13 391次阅读

    深度学习GPU加速效果如何

    图形处理器(GPU)凭借其强大的并行计算能力,成为加速深度学习任务的理想选择。
    的头像 发表于 10-17 10:07 194次阅读

    FPGA做深度学习能走多远?

    的发展前景较为广阔,但也面临一些挑战。以下是一些关于 FPGA 深度学习应用前景的观点,仅供参考: • 优势方面: • 高度定制化的计算架构:FPGA 可以根据
    发表于 09-27 20:53

    深度学习的无监督学习方法综述

    应用往往难以实现。因此,无监督学习深度学习扮演着越来越重要的角色。本文旨在综述
    的头像 发表于 07-09 10:50 708次阅读

    深度学习视觉检测的应用

    深度学习是机器学习领域中的一个重要分支,其核心在于通过构建具有多层次的神经网络模型,使计算机能够从大量数据自动学习并提取特征,进而实现对复
    的头像 发表于 07-08 10:27 723次阅读

    新手小白怎么学GPU云服务器跑深度学习?

    新手小白想用GPU云服务器跑深度学习应该怎么做? 用个人主机通常pytorch可以跑但是LexNet,AlexNet可能就直接就跑不动,如何实现更经济便捷的实现GPU云服务器
    发表于 06-11 17:09

    什么是RAG,RAG学习实践经验

    高级的RAG能很大程度优化原始RAG的问题,索引、检索和生成上都有更多精细的优化,主要的优化点会集中索引、向量模型优化、检索后处理等模块进行优化
    的头像 发表于 04-24 09:17 887次阅读
    什么是RAG,RAG<b class='flag-5'>学习</b>和<b class='flag-5'>实践经验</b>

    中科曙光凭借威廉希尔官方网站 优势以及实践经验获颁“核心参编单位”证书

    近日,中国人工智能产业发展联盟面向参编单位颁发证书。中科曙光凭借威廉希尔官方网站 优势以及实践经验,全程参编《面向训练任务的人工智能通用威廉希尔官方网站 要求》标准(以下简称“标准”),获颁“核心参编单位”证书。
    的头像 发表于 03-25 11:05 626次阅读

    FPGA深度学习应用或将取代GPU

    硬件公司供货的不断增加,GPU 深度学习的市场需求还催生了大量公共云服务,这些服务为深度
    发表于 03-21 15:19

    讯维集中电源控制器:案例研究与实践经验分享

    集中电源控制器在实践中的应用非常广泛,以下是一些案例研究与实践经验分享: 数据中心应用案例:在数据中心中,集中电源控制器可以实现对服务器、网络设备和存储设备等关键基础设施的电源集中管理和监控。通过
    的头像 发表于 01-30 14:59 551次阅读
    讯维集中电源控制器:案例研究与<b class='flag-5'>实践经验</b>分享