深度学习工业界应用-加速-预测

作者: skywalker | 来源:发表于2017-06-03 16:46 被阅读335次

    一. BMXNET要解决的问题

    在神经网络实际部署预测时需要做很多的优化,比如:

    • 裁剪设计网络,裁掉部分无用的weight
    • 将weight从int32 量化到int8甚至是binary 1bit
    • 使用特定硬件上提供的库:比如mkl,openblas,neon等等
      arxiv:BMXNET是在MXNET的基础上,给出了量化weight的一个方法。其开源实现的地址是:https://github.com/hpi-xnor/BMXNet

    优化的最终目标是1)更小的模型大小 2)更少的计算量(功耗)

    二. 方法

    现有方法:
    tensorflow量化的方案是将weight 从float32降低到int8的精度
    BNN:存储二值化的weight,使用xnor和popcount来代替全连接和cnn中的矩阵乘法,BMXNET实现了类似方法

    三. 实现

    BMXNET实现了activation, convolution 和fully connected layer的operator
    工程上
    在x86 cpu上使用SSE4.2提供的加速
    在arm上使用了NEON加速
    使用OpenMP并行化加速
    一个lenet的网络symbols对比

    网络结构对比
    说明:
    不在第一层和最后一层使用量化网络,这会显著减低准确率

    四. 效果

    模型变小,速度变快,精度变化不大
    ResNet-18 全精度的模型大小是44.7MB. 二值化后是1.5MB,压缩比大约是29
    精度损失在0.02-0.04之间

    精度&模型大小对比 cnn layer运算加速比

    相关文章

      网友评论

        本文标题:深度学习工业界应用-加速-预测

        本文链接:https://www.haomeiwen.com/subject/kdcmfxtx.html