水木番 发自 凹非寺

来自|量子位

你还在为神经网络模型里的冗余信息烦恼吗?

或者手上只有CPU,对一些只能用昂贵的GPU建立的深度学习模型“望眼欲穿”吗?

最近,创业公司Neural Magic带来了一种名叫新的稀疏化方法,可以帮你解决烦恼,让你的深度学习模型效率“一节更比七节强”!

Neural Magic是专门研究深度学习的稀疏方法的公司,这次他们发布了教程:用recipe稀疏化YOLOv3

听起来有点意思啊,让我们来看看是怎么实现的~

稀疏化的YOLOv3

稀疏化的YOLOv3使用剪枝(prune)量化(quantize)等算法,可以删除神经网络中的冗余信息。

这种稀疏化方法的好处可不少。

它的推断速度更快,文件更小。

但是因为过程太复杂,涉及的超参数又太多,很多人都不太关心这种方法。

Neural Magic的ML团队针对必要的超参数和指令,创建了可以自主编码的recipe。

各种不同条件下的recipe构成了一种可以满足客户各类需求的框架。

这样就可以建立高度精确的pruned或pruned quantized的YOLOv3模型,从而简化流程。

那这种稀疏化方法的灵感来源是什么呢?

其实,Neural Magic 的 Deep Sparse(深度稀疏)架构的主要灵感,是在产品硬件上模仿大脑的计算方式。

它通过利用 CPU 的大型快速缓存和大型内存,将神经网络稀疏性与通信局部性相结合,实现效率提升。

教程概况

本教程目录主要包括三大模块:

  • 创建一个预训练的模型

  • 应用Recipe

  • 导出推理

教程的这些recipe可以帮助用户在Ultralytics强大的训练平台上,使用稀疏深度学习的recipe驱动的方法插入数据。

教程中列出的示例均在VOC数据集上执行,所有结果也可通过“权重和偏差”项目公开获得(地址见参考链接4)。

调试结果展示

研究团队给出了稀疏YOLOv3目标检测模型在Deep Sparse引擎和PyTorch上的运行情况。

这段视频以波士顿著名地标为特色,在Neural Magic的诞生地——MIT的校园取景。

同样的条件下,在Deep Sparse引擎上比PyTorch上效率会更高。

遇到的常见问题

如果用户的硬件不支持量化网络来推理加速,或者对完全恢复的要求非常高,官方建议使用pruned或pruned short 的recipe。

如果用户的硬件可以支持量化网络,如CPU 上的 VNNI 指令集,官方建议使用pruned quantized或pruned quantized short的recipe。

所以使用哪一种recipe,取决于用户愿意花多长时间训练数据,以及对完全恢复的要求。

具体要比较这几种recipe的话,可以参考下表。

网友:这个框架会比传统的机器学习框架pytorch好吗?

既然给出了和pytorch的比较视频,就有网友发问了:

Neural Magic也使用python吗?为什么一个比另一个快10倍以上?我不相信像pytorch这样传统的机器学习框架不会得到优化。两种模型的实现是否相同?

公司官方人员也下场解释了:

我们拥有专利技术,可以通过减少计算和内存移动来使稀疏网络在CPU上更高效的运行。

虽然传统的ML框架也能很好地实现简单而高效的训练过程。

但是,多加入一些优化的推理,可以实现更多的性能,尤其是在CPU上更明显。

看来,有了以上强大的YOLOv3 模型工具和教程,用户就可以在CPU上,以最小化的占用空间和GPU的速度来运行深度学习模型。

这样有用的教程,你还在等什么?

希望教程能对大家有所帮助,欢迎在评论区分享交流训练模型经验~

最后介绍一下Neural Magic,有兴趣的朋友可以去了解一下。

Neural Magic是一家什么样的公司?

Neural Magic成立在马萨诸塞州的剑桥。

创始人Nir Shavit和Alexander Matveev在MIT绘制大脑中的神经连接图时,一直觉得GPU有许多限制。

因此他们停下来问自己两个简单的问题:

为什么深度学习需要GPU等专用硬件?

有什么更好的方法吗?

毕竟,人脑可以通过广泛使用稀疏性来减少神经网络,而不是添加FLOPS来匹配神经网络,从而满足神经网络的计算需求。

基于这种观察和多年的多核计算经验,他们采用了稀疏和量化深度学习网络的技术,并使其能够以GPU的速度或更高的速度在商用CPU上运行。

这样,数据科学家在模型设计和输入大小上就不需要再做妥协,也没必要用稀缺且昂贵的GPU资源。

Brian Stevens

Neural Magic的CEO,Red Hat和Google Cloud的前CTO。

Nir Shavit

Neural Magic联合创始人。

麻省理工学院教授,他目前的研究涉及为多处理器设计可伸缩软件的技术,尤其是多核计算机的并发数据结构。

Alexander Matveev

Neural Magic首席技术官兼联合创始人。

麻省理工学院前研究科学家,专门研究AI多核算法和系统。

参考链接:

[1]https://github.com/neuralmagic/sparseml/blob/main/integrations/ultralytics-yolov3/t2.utorials/sparsifying_yolov3_using_recipes.md
[2]https://neuralmagic.com/blog/sparsifying-yolov3-using-recipes-tutorial/
[3]https://arxiv.org/pdf/1804.02767.pdf
[4]https://wandb.ai/neuralmagic/yolov3-spp-lrelu-voc

本文仅做学术分享,如有侵权,请联系删文。

下载1

在「3D视觉工坊」公众号后台回复:3D视觉即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。

下载2

在「3D视觉工坊」公众号后台回复:3D视觉github资源汇总即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。

下载3

在「3D视觉工坊」公众号后台回复:相机标定即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配即可下载独家立体匹配学习课件与视频网址。

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、orb-slam3等视频课程)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

圈里有高质量教程资料、可答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

不用GPU,稀疏化也能加速你的YOLOv3深度学习模型相关推荐

  1. 利用多 GPU 加速深度学习模型训练

    01 - 前言 深度学习模型通常使用 GPU 训练,因为 GPU 具有相比 CPU 更高的计算能力,以 Tesla V100 为例,使用 Tensor Core 加速的半精度浮点计算能力达到 125 ...

  2. 一文看懂深度学习模型压缩和加速

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:opencv学堂 1 前言 近年来深度学习模型在计算机视 ...

  3. 腾讯 AI Lab 正式开源PocketFlow自动化深度学习模型压缩与加速框架

    11月1日,腾讯AI Lab在南京举办的腾讯全球合作伙伴论坛上宣布正式开源"PocketFlow"项目, 该项目是一个自动化深度学习模型压缩与加速框架,整合多种模型压缩与加速算法并 ...

  4. 深度学习模型压缩与优化加速

    1. 简介 深度学习(Deep Learning)因其计算复杂度或参数冗余,在一些场景和设备上限制了相应的模型部署,需要借助模型压缩.优化加速.异构计算等方法突破瓶颈. 模型压缩算法能够有效降低参数冗 ...

  5. 深度学习模型压缩与优化加速(Model Compression and Acceleration Overview)

    1. 简介 深度学习(Deep Learning)因其计算复杂度或参数冗余,在一些场景和设备上限制了相应的模型部署,需要借助模型压缩.系统优化加速.异构计算等方法突破瓶颈,即分别在算法模型.计算图或算 ...

  6. 深度学习模型压缩与加速

    深度神经网络在人工智能的应用中,包括语音识别.计算机视觉.自然语言处理等各方面,在取得巨大成功的同时,这些深度神经网络需要巨大的计算开销和内存开销,严重阻碍了资源受限下的使用.模型压缩是对已经训练好的 ...

  7. C++调用Python文件,TensorFlow和PyTorch构建的深度学习模型,无法使用GPU的情况分析。

    C++调用Python深度学习模型,包含TensorFlow和PyTorch等构造的模型,然后使用GPU出现问题.包含C++调用Python函数,C++加载模型到GPU,GPU内存占用过大,计算完毕内 ...

  8. 深度学习训练的时候gpu占用0_26秒单GPU训练CIFAR10,Jeff Dean也点赞的深度学习优化技巧...

    选自myrtle.ai 机器之心编译机器之心编辑部 26 秒内用 ResNet 训练 CIFAR10?一块 GPU 也能这么干.近日,myrtle.ai 科学家 David Page 提出了一大堆针对 ...

  9. 深度学习——模型的压缩和加速

    1. 简介 随着深度学习发展,越来越多的模型被发现和应用,模型的体量也越来越大,出现了模型过于庞大和参数冗余的问题.同时,移动端对模型的需求也是越轻量越好,因此,模型压缩和加速技术应运而生. 模型压缩 ...

最新文章

  1. android listView嵌套gridview的使用心得
  2. LTE: 系统内移动性知识点总结
  3. 【MYSQL】分组之后获取每组最新的数据
  4. 操作系统:基本分段存储管理方式
  5. struct2利用相关的Aware接口
  6. 11.2.1 jQuery介绍与使用
  7. JSONPath 解析 JSON 内容详解(翻译自 github)
  8. C#窗体控件-单选按钮控件RadioButton
  9. Nginx+Memcached+Tomcat集群配置
  10. linux vi只写入1个字节,关于linux命令的说明(这是一个命令集)
  11. 数学建模算法与应用学习(一)
  12. 【Xilinx JESD204B】针对JESD204B的一些问题解答
  13. Hyperledger caliper 安装记录
  14. 【火炉炼AI】深度学习004-Elman循环神经网络
  15. 恢复照片软件推荐,照片恢复就这么做!
  16. oracle select ora-16000,ORA-00604, ORA-16000: 打开数据库以进行只读访问
  17. web期末网站设计大作业(中华传统文化主题学生网页设计源码)
  18. jquery end()用法
  19. 分享一个快速下载百度网盘资源的方法
  20. 体系解读罗克韦尔MES平台FTPC-跟我入门MES/MOM系列特别篇

热门文章

  1. 微信分销 微信公众号开店 多用户版源码
  2. clone database and rename
  3. JQUERY知识总结
  4. Swift - 委托(delegate)的介绍,及使用样例
  5. Lync2013与Exchange2013集成先决条件(十九)
  6. Objective-C内存管理知识总结
  7. jQueryUI Repeater 无刷新删除 新建 更新数据 - JQueryElement [7]
  8. 选择scrum任务看板管理工具的要点
  9. 五分钟看懂抓包神技:DPDK
  10. AI工程师面试屡被拒:比贫穷脱发更恐怖的是,2020年你仍不会……