这篇论文是发表杂在NeurIPS 2019的《Neural-Hardware Architecture Search》。作者为我们的老朋友MIT的Song Han(韩松)组。第一作者为Yujun Lin,本科毕业于清华。
文章探索了NN网络结构与硬件架构的联合搜索方法,使用Evolution Algorithm来搜索硬件架构(HAS),NN这边使用One-shot hyper-net的方法搜索量化网络(QNAS)。
方法
搜索空间
- 硬件是一个systolic-array-like architecture(MPA),包括5个可调节参数
- #rows #cols 2x4->16x64
- input/weight/output buffer size 128B->4096B,间隔4B
- 网络是一个ResNet blocks的结构
- kernel size 3\5
- channels 0.125 0.25 0.5 1 1.5
- each layer
- activation 4/6/8 bits
- weights 2/4/6 bits
- identity/ residual blocks
- 最大16blocks
搜索方法
先HAS:硬件架构搜索
- 在几个已有网络上进行搜索,目标是减少Energy-Delay Product
- 采用进化算法
- 根据各个搜索维度的mean和var随机生成一些样本
- Evaluate这些样本,排序
- 选择top-K重新计算mean和var
后QNAS:神经网络搜索采用超网络
- 训练一个大的超网络,它的子网络集合包含所有搜索空间中的网络
- 大网络训练时间较长,且需要特殊的技巧来优化
- Controller sample网络后,从超网络中取对应的weight,不需要重新训练
- 采用标准进化算法进行sample
- 先生成一些父代神经网络
- 根据accuracy选择top-K作为
- 训练一个大的超网络,它的子网络集合包含所有搜索空间中的网络
结果
- HAS 1.1x speedup than human
- QNAS 1.3x speedup than HAS
总结
这篇文章把硬件设计也题上议程,先HAS再QNAS,但是没有联合搜索。