为了更好地准确率,模型越来越大
不同硬件消耗的能量不同
* 谷歌的TPU是一种ASIC,专门用于深度学习
---------------------------------------------------------------------------------------------------------
计算机中的数字是离散的,不可能穷尽。
fixed point只有8位,谷歌TPU就是使用了这种小数。节约能源,金钱
---------------------------------------------------------------------------------------------------------
pruning
神经网络可以在参数减少的情况下,保持准确率(某些参数是冗余的)
Alex Net参数从1600万降到了600万
通过prune,retrain,可以去掉90%的参数而几乎不影响正确率
人脑突触数量也会在成年后进行prune
----------------------------------------------------------------------------------------
weight sharing
将权重和梯度聚类处理,参数值变得更加离散化
霍夫曼编码:
出现次数多的权重用更少的位数表示
换个思路,直接做compact的网络。这样的网络还可以压缩,且不降低正确率
----------------------------------------------------------------
低秩矩阵近似
将卷积,全连接拆成多个步骤去做,可以加速
-----------------------------------------------------------------------------------------
二值化,三值化
三值化的Alex Net可以和普通Alex Net有一样的正确率
------------------------------------------------------------------------------------
wino grad
3*3的卷积可以用如下方式实现,乘法操作次数更少
---------------------------------------------------------------------------------------------------------------
TPU中含有一个关键的矩阵乘法单元(很高效)
TPU很小,功耗低
-------------------------------------------------------------------------------------------------------------
RoofLine理论用来评价模型在计算平台上所能达到的理论性能,可查看如下链接
https://zhuanlan.zhihu.com/p/34204282
为了降低延迟(达到实时性在线系统),每个batch不能有很多数据,所以模型 I 小于 平台 I max无法完全利用计算平台。
--------------------------------------------------------------------------------------------------------------
解决方案:压缩模型
硬件:EIE
-------------------------------------------------------------------------------------------------
parallel处理
数据并行处理
模型并行处理
--------------------------------------------
mixed precision: 乘法用16位数字,加法用32位数字
----------------------------------------------------------------------------
model distilidatoin 让几个高级模型教出一个学生
使用概率类别作为输入标签会有更好的效果
--------------------------------------------------------------------------------------------
Dense Sparse Dense Training
-----------------------------------------------------------------------------------------------------
英伟达volta GPU中含有120个tensor core