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

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

3天内不再提示

英特尔AI实验室推出了高性能的神经网络压缩工具Distiller

nlfO_thejiangme 来源:未知 作者:李倩 2018-11-06 10:05 次阅读

近日,英特尔AI 实验室推出了高性能的神经网络压缩工具Distiller,便捷地实现了更小更快更高效的神经网络计算。Distiller目前在PyTorch中实现了一系列压缩分析算法,包括稀疏引导算法和低精度近似算法。工具包主要由以下三个部分组成:

一套集成了剪枝、正则化与量化的算法;

一系列分析和评价压缩表现的工具;

以及一系列前沿压缩算法的实现样例。

更小更快更节能

目前的绝大多数神经网络都越来越深,其参数达到了百万量级。如此庞大的模型即使在硬件加速的条件下也是十分消耗资源的计算密集型算法,即使只考虑推理阶段也需要花费较多的时间。在某些低延时的场合,比如说自动驾驶和控制领域这样的处理时间就会造成很多问题。同时在消费电子上较长的延时也会造成用户体验的下降。

大型模型同时也会消耗大量的内存,以及随之而来的算力与能耗,这对于移动设备来说是十分重要的问题。同样对于大型数据中心来说模型的能耗也是不同忽视的问题。同时考虑到存储和传输的限制,神经网络的压缩具有十分重要的现实需求。在精度可以接受的条件下,压缩的越小神经网络需要的计算资源和带宽就越少。由于深度神经网络的权重矩阵具有稀疏性,通过正则化和剪枝以及量化过程可以很好的压缩模型的体量。

稀疏的神经网络模型表示可以被大幅度压缩。目前很多神经网络性能都受制于带宽,这意味着它们的计算性能主要取决于可用的带宽,带宽不足的情况下硬件需要用更多的时间将数据输入到计算单元中。全连接层、RNN和LSTM等典型的结构就受制于带宽。如果能够减小这些层所需要的带宽就能大幅提高它们的速度。

通过修剪模型中的某些权重、核甚至是整个层实现减小带宽提高速度的功能,但同时却不影响算法最终精度的表现,也减小了功耗和延时。最后考虑到读写非片上存储的能耗是片上存储的两个量级以上,如果较小的模型可以保存在片上存储中,可以使性能得到质的飞跃,让延时和能耗也随之降低。所以同时稀疏或者压缩表示时,可以有效提升算法的表现。

工具框架

Distiller目前的设计与PyTorch进行集成,其设计理念如下图所示,PyTorch的训练与Distiller进行交互。在distiller中包含了调度、算法和应用等主要模块以及汇总、日志的辅助功能,在很多常见的科学计算包的基础上利用jupyter实现交互功能,基于tensorboard实现模型和日志信息的展示。

算法

Distiller中集成了先进的剪枝和量化算法,帮助用户有效的压缩模型的体量。

剪枝算法主要分为了权重正则化、权重修剪、低精度等三种实现方式,7种具体的方法。

幅度剪枝利用阈值来将每一个权重进行二值化,小于阈值的权重将被设为0,不同的层可以设置不同的权值;

敏感度剪枝与阈值的方法类似,但使用了敏感因子s与这一层的权重分布标准差σ的乘积来作为阈值。越敏感的层(靠近输入的)设置的s就越小;

level剪枝通过设置稀疏度来实现剪枝,这种方法相较于前面方法稳定,因为目标的稀疏程度与元素的赋值不相关。

自动梯度剪枝(AGP)

这种方法的稀疏度将会随着初始稀疏和最终稀疏自适应的变化;

RNN剪枝

结构剪枝(通过移除整个核、滤波器甚至是整个特征图来实现):包含了结构排序剪枝和对于较少激活特征图的激活相关剪枝。

量化也是一类重要的压缩算法,Distall中同时也集成了四种量化算法:

DoReFa-Net: Training Low Bitwidth Convolutional Neural Networks with Low Bitwidth Gradients

PACT: Parameterized Clipping Activation for Quantized Neural Networks

WRPN: Wide Reduced-Precision Networks

对称线性量化

安 装

如果想要使用这个工具的小伙伴,可以到git上下载

$ git clone https://github.com/NervanaSystems/distiller.git

$ cd distiller

然后利用你喜欢的工具创建一个python虚拟环境

$ python3 -m virtualenv env

激活环境并安装对应的依赖包:

$ source env/bin/activate

$ pip3 install -r requirements.txt

注:这一版本依赖于CUDA8.0,会自动安装PyTorch3.1

然后就可以愉快的使用了,可以通过运行下面的文件来熟悉工具的使用:

distiller/examples/classifier_compression/compress_classifier.py

#example

$ python3 compress_classifier.py --arch simplenet_cifar ../../../data.cifar10 -p 30 -j=1 --lr=0.01

#对于cifar10压缩

$ time python3 compress_classifier.py -a alexnet --lr 0.005 -p 50 ../../../data.imagenet -j 44 --epochs 90 --pretrained --compress=../sensitivity-pruning/alexnet.schedule_sensitivity.yaml

#利用yaml配置文件来运行

另外example下还有多个例子可以尝试。

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

    关注

    60

    文章

    9394

    浏览量

    168651
  • 神经网络
    +关注

    关注

    42

    文章

    4562

    浏览量

    98643

原文标题:英特尔推出全新可便捷实现「更小更快更高效的神经网络计算」的压缩工具Distiller

文章出处:【微信号:thejiangmen,微信公众号:将门创投】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    英特尔发布新一代神经拟态系统Hala Point,11.5亿神经元,12倍性能提升

    Point改进了架构,将神经元容量提高了10倍以上,性能提高了12倍。 英特尔研究院神经拟态计算实验室总监Mike Davi
    的头像 发表于 04-19 09:43 50次阅读
    <b class='flag-5'>英特尔</b>发布新一代<b class='flag-5'>神经</b>拟态系统Hala Point,11.5亿<b class='flag-5'>神经</b>元,12倍<b class='flag-5'>性能</b>提升

    成都汇阳关于成英特尔推出多款新品,24 年或成为 AI PC 出货元年

    和 65W 主流第 14 代酷睿芯片,而定位 55W 功耗的酷睿第 14 代HX 高性能移动处理器主要为游戏玩家和专业人士所打造,共有五款产品。 此外,英特尔还发布了面向高性能主流轻薄本的全新酷睿 U 移动处理器 1 系列,再
    的头像 发表于 01-18 10:10 294次阅读

    #高通 #英特尔 #Elite 高通X Elite芯片或终结苹果、英特尔的芯片王朝

    高通英特尔苹果
    深圳市浮思特科技有限公司
    发布于 :2023年10月27日 16:46:07

    浅析深度神经网络压缩与加速技术

    深度神经网络是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似
    的头像 发表于 10-11 09:14 386次阅读
    浅析深度<b class='flag-5'>神经网络</b><b class='flag-5'>压缩</b>与加速技术

    具有小浮点的高性能神经网络

    电子发烧友网站提供《具有小浮点的高性能神经网络.pdf》资料免费下载
    发表于 09-13 17:07 0次下载
    具有小浮点的<b class='flag-5'>高性能</b><b class='flag-5'>神经网络</b>

    AI加速器架构设计与实现》+第一章卷积神经网络观后感

    AI加速器架构设计与实现》+第一章卷积神经网络观感    在本书的引言中也提到“一图胜千言”,读完第一章节后,对其进行了一些归纳(如图1),第一章对常见的神经网络结构进行了介绍,举例了一些结构
    发表于 09-11 20:34

    人工神经网络和bp神经网络的区别

    人工神经网络和bp神经网络的区别  人工神经网络(Artificial Neural Network, ANN)是一种模仿人脑神经元网络结构和功能的计算模型,也被称为
    的头像 发表于 08-22 16:45 3405次阅读

    卷积神经网络和深度神经网络的优缺点 卷积神经网络和深度神经网络的区别

    深度神经网络是一种基于神经网络的机器学习算法,其主要特点是由多层神经元构成,可以根据数据自动调整神经元之间的权重,从而实现对大规模数据进行预测和分类。卷积
    发表于 08-21 17:07 2211次阅读

    卷积神经网络概述 卷积神经网络的特点 cnn卷积神经网络的优点

    卷积神经网络概述 卷积神经网络的特点 cnn卷积神经网络的优点  卷积神经网络(Convolutional neural network,CNN)是一种基于深度学习技术的
    的头像 发表于 08-21 16:41 1909次阅读

    卷积神经网络原理:卷积神经网络模型和卷积神经网络算法

    一。其主要应用领域在计算机视觉和自然语言处理中,最初是由Yann LeCun等人在20世纪80年代末和90年代初提出的。随着近年来计算机硬件性能的提升和深度学习技术的发展,CNN在很多领域取得了重大的进展和应用。 一、卷积神经网络模型 (一)卷积层(Convolution
    的头像 发表于 08-17 16:30 887次阅读

    安装OpenVINO工具套件英特尔Distribution时出现错误的原因?

    安装OpenVINO™工具套件英特尔 Distribution时,出现错误: Python 3.10.0.ECHO is off. Unsupported Python version.
    发表于 08-15 08:14

    从Docker映像为Raspbian OpenVINO工具套件的安装过程

    英特尔® Distribution工具OpenVINO™可快速部署模拟人类视觉的应用和解决方案。该工具包在基于卷积神经网络 (CNN) 的英特尔
    发表于 08-15 06:59

    从内存端实现AI突破?英特尔计划在韩国首尔建立实验室

    由于内部战略的混乱,在AI计算芯片方面已经落于人后,并且从时间上至少落后英伟达两年。在英伟达高速发展的情况下,英特尔AI算力芯片方面很难翻身。   不过,对于AI计算来说,存储的重要
    的头像 发表于 06-08 01:07 1460次阅读
    从内存端实现<b class='flag-5'>AI</b>突破?<b class='flag-5'>英特尔</b>计划在韩国首尔建立<b class='flag-5'>实验室</b>

    浅析三种主流深度神经网络

    来源:青榴实验室1、引子深度神经网络(DNNs)最近在图像分类或语音识别等复杂机器学习任务中表现出的优异性能令人印象深刻。在本文中,我们将了解深度神经网络的基础知识和三个最流行
    的头像 发表于 05-17 09:59 1047次阅读
    浅析三种主流深度<b class='flag-5'>神经网络</b>

    浅析三种主流深度神经网络

    来源:青榴实验室 1、引子 深度神经网络(DNNs)最近在图像分类或语音识别等复杂机器学习任务中表现出的优异性能令人印象深刻。 在本文中,我们将了解深度神经网络的基础知识和三个最流行
    的头像 发表于 05-15 14:20 600次阅读
    浅析三种主流深度<b class='flag-5'>神经网络</b>