面向定制硬件加速器的深度学习模型编译
分布式、并行与集群计算
2017-12-12 v2 机器学习
摘要
卷积神经网络(CNN)是大多数专用于目标检测与分类的 SOTA 深度学习算法的核心。CNN 既具有高度的计算复杂性,又具有高度的并行性。这两个特性为嵌入式系统的软件和硬件优化留下了空间。给定一个具有面向 CNN 定制指令集的可编程硬件加速器,编译器的任务是充分利用硬件的潜力,同时遵守硬件约束,并保持通用性以运行具有不同工作负载特性的各种 CNN 模型。Snowflake 是一个在可编程逻辑器件上实现的高效且可扩展的硬件加速器。它实现了一个用于定制指令集的控制流水线。本文的目的是介绍 Snowflake 的编译器,该编译器从 Torch7 模型描述文件生成机器级指令。本研究探讨的主要软件设计点包括:模型结构解析、CNN 工作负载分解、用于内存带宽优化的循环重排以及内存访问均衡。编译器生成的指令所达到的性能与卷积层的手工优化代码相当。生成的指令也能在 Snowflake 上高效执行 AlexNet 和 ResNet18 推理。带有 个处理单元的 Snowflake 被综合到 Xilinx 的 Zynq XC7Z045 FPGA 上。在 MHz 频率下,AlexNet 达到了 帧/秒和 GB/s 的片外内存带宽,ResNet18 达到了 帧/秒和 GB/s。总片上功耗为 W。
引用
@article{arxiv.1708.00117,
title = {Compiling Deep Learning Models for Custom Hardware Accelerators},
author = {Andre Xian Ming Chang and Aliasger Zaidy and Vinayak Gokhale and Eugenio Culurciello},
journal= {arXiv preprint arXiv:1708.00117},
year = {2017}
}
备注
8 pages