“论文笔记:《Co-Exploration of Neural Architectures and Heterogeneous ASIC Accelerator Designs Targeting Multiple Tasks》”

这篇论文是2020年2月发表在arxiv的《Co-Exploration of Neural Architectures and Heterogeneous ASIC Accelerator Designs Targeting Multiple Tasks》。第一作者为圣母大学的博士后Lei Yang(杨蕾),她将于今年秋天加入墨西哥大学担任副教授;姜炜文、史弋宇为mentor,值得一提的是史教授就是去年那位在芝加哥利用“贪心算法”把持枪劫车匪徒抓获的老板。

作者提出了一个同时搜索神经网络的结构和硬件架构的方法NASAIC。
支持多个任务的DNN搜索,且支持异构硬件PE的搜索。这篇文章也对搜索空间进行了可视化,分析了搜索的好处。

方法

搜索框架

  • 给定多任务的workload W,最大化DNN网络的accuracy,并满足latency、energy、area和硬件使用量小于threshold
  • 加速器可以有多个sub-accelerators,每个sub-accelerators可以使用不同的dataflow,加速器按照DNN层进行前向预测
  • 多个任务使用执行不同的DNN,将DNNs的每个Layer分配到加速器的sub-accelerators上执行,计算reward

搜索空间

  • DNN
    • 为Workload中的每个Task $T_i\in W$ 搜索一个DNN $D_i=<B_i, L_i, H_i, acc_i>$
      • $B_i$为backbone
      • $L_i、H_i$为层数、每层的参数(channel size, 连接关系等)
    • 通过NAS去搜索$D_i$的参数$H_i$
  • ASIC Accelerator
    • 包含多个sub-accelerator,用NoC连接
    • 使用NAS搜索每个sub-accelerator的参数<dataflow,pe_number,noc_bandwidth>
      • dataflow可以选择shidiannao、NVDLA等
      • PE总数量限制小于4096
      • NoC总带宽限制小于64GB/s
    • memory buffer的大小根据最大化硬件利用率来

硬件性能评估

  • 使用MAESTRO(开源cost model)模拟,将网络层分配到硬件上执行,得到latency energy area

搜索方法

  • 用controller来sample每个network的结构和每个sub-accelerator的type和参数
  • 计算reward,并用policy gradient的方法更新controller
  • 交替搜索DNN和硬件
    • SA阶段:Neural Architecture exploration
    • SH阶段:Hardware design exploration

实验

  • 不同任务组合下的explore space
    • W1: CIFAR-10+Nuclei(segmentation)
    • W2: CIFAR-10+STL-10(classification)
    • W3: CIFAR-10
    • classification: ResNet-9架构
    • segmentation: UNet架构
    • sample 500个网络-每个网络sample 10种硬件设计
  • 观察
    • 最好的设计不一定最靠近限制线
    • 相比于NAS->ASIC和ASIC->HW-NAS,交替搜索能得到更好的效果
    • 异构设计比同构设计有优势

评价

多任务与异构神经网络的架构设计很有意思,虽然这篇文章只尝试了小数据集,但结果显示了异构设计的优势。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×