UIUC推出最新DNNFPGA协同设计方案,助力物联网终端设备AI应用
UIUC、IBM 和 Inspirit IoT, Inc(英睿物联网)的研究人员提出 DNN 和 FPGA 加速器的协同设计方案(DNN/FPGA co-design),通过首创的「Auto-DNN」网络搜索引擎 +「Auto-HLS」加速器生成技术,自动生成适用于终端设备的 DNN 模型及 FPGA 加速器设计。在使用相同的终端设备,由该协同设计自动生成的物体检测方案在检测精度、速度和效能方面均大幅领先现时最优的 DAC'18 System Design Contest 冠军方案。全文地址:https://arxiv.org/pdf/1904.04421.pdf
本文已被电子设计自动化顶会 IEEE/ACM Design Automation Conference (DAC』19) 接收,并将于本年 6 月份在美国拉斯维加斯宣读。文章的共同第一作者为 UIUC 博士后研究员郝聪和博士生张晓帆。
郝聪博士在 2012 年、2014 年获早稻田、上海交大硕士学位,并于 2017 年博士毕业于早稻田大学,现为 UIUC 博士后研究员,师从陈德铭教授进行机器学习算法及硬件加速的研究。
张晓帆现就读于 UIUC 电气与计算机工程系,师从陈德铭教授,主攻基于 FPGA 的深度学习加速器设计。他参与设计的 DNN 加速器自动生成工具 DNNBuilder 曾获电子设计自动化顶会 ICCAD'18 的最佳论文(链接)。
陈德铭教授是 UIUC 电气与计算机工程系终身教授,IEEE Fellow,担任 Inspirit IoT, Inc(英睿物联网)总裁兼董事会主席。他是电子设计自动化领域的知名学者,研究领域包括 FPGA、高层综合工具、机器学习等。
参与本研究的学者还包括 Yuhong Li、 Sitao Huang、 Jinjun Xiong、 Kyle Rupnow 和 Wen-mei Hwu。
嵌入式 FPGA 助力 AI 应用灵活部署
现时,大量的 AI 应用被部署在物联网设备中以满足实际场景需求。纵使云端服务器能分担大部分 AI 应用的计算压力,部分对实时性要求高的任务受限于网络延时,还是需要在终端设备处理,如自动驾驶车辆、无人机上的物体识别,场景分割任务等。在物联网终端设备中部署 DNN,设计者需要克服 DNN 精度要求高、实时性要求强、能耗要求低、终端设备可用资源少等困难。
通过在终端中使用嵌入式 FPGA 作为 DNN 加速器,设计人员可获得更低的延时和能耗(对比 CPU/GPU 解决方案),以及更高的灵活度和更短的产品上市周期(对比 ASIC 解决方案)。然而,在资源受限的嵌入式 FPGA 中部署 DNN 加速器依然困难重重。
高质量 AI 应用需要 DNN/FPGA 协同设计
通常,DNN 及 FPGA 加速器会被分成两步独立设计。
一方面,DNN 设计会优先满足精度需求,并在部署时寄望硬件加速器能提供足够高的吞吐率和实时性能。但由于 DNN 在设计初期缺乏对目标硬件特性的考量,网络结构会过分复杂并产生冗余,容易超出目标硬件可承受范围。
另一方面,DNN 加速器在架构确定后会通过比例缩放计算和存储单元以适应不同大小的 FPGA。在硬件资源极度受限时,过分缩小加速器会大幅减慢 DNN 推理计算效率,最终导致无法满足应用实时性、吞吐率等要求。
上述独立设计方法需要经历多次反复设计 DNN 及加速器,如在 DNN 设计时尝试网络剪枝、稀疏化、参数量化等以减少网络推理计算量,在加速器设计时尝试不同核心计算单元、调试并行参数等以适配硬件可用资源。这类设计需要探索巨大的设计空间,异常繁琐和耗时。
为此,作者认为业界需要一种更高效的自动 DNN/FPGA 协同设计方案 :在设计 DNN 时充分考虑加速器架构、资源约束等硬件因素;并且,同时生成高度优化的 FPGA 加速器以用于物联网终端设备。
自动客制化 DNN/FPGA 加速方案
本文提出的协同设计流程(图 1)共包含 4 个主要模块:1)DNN 结构模板 Bundle-Arch;2)网络搜索引擎 Auto-DNN;3)低延时加速器基础架构 Tile-Arch;4)加速器生成器 Auto-HLS。其中,前两个模块用于 DNN 结构搜索,而后两模块对应 FPGA 加速器设计。
协同设计第一步是搭建 Bundle 并对 Bundle 建立计算延时和资源消耗模型。对于给定的 AI 任务(分类、物体检测等),系统从硬件 IP 池中选取神经网络组件并组合成多个 Bundle(如图 1 左下的 Bundle 1 包含了 Conv3x3,Conv5x5,Pooling 和 Relu 共 4 个 IP)作为 DNN 基本结构,并通过分析模型获取每一个 Bundle 在目标 FPGA 上的延时和资源消耗。这确保 DNN 在设计之初就包含了足够的硬件信息。
在第二步,该方案选择前 N 个满足性能和资源要求且精度最高的 Bundle 搭建原型网络。在对 Bundle 作粗 / 细粒度评估后,每一个 Bundle 将被置于「硬件性能 - DNN 精度」空间,并将硬件性能指标相近的 Bundle 分为一组。每组精度最高的若干个 Bundle(共 N 个)会被选中并交由下一步处理。
最后一步,Auto-HLS 产生精准硬件性能信息协助 Auto-DNN 更新原型网络。基于 Bundle 的 DNN 结构(图 2)拥有网络层数多寡、通道数增减等不同配置。Auto-DNN 使用随机坐标下降(SCD)算法探索 DNN 配置,并借助 Auto-HLS 产生的硬件性能信息(如运算延时、资源消耗等)为反馈,选择最适合目标硬件且精度最好的设计。
两大核心:「Auto-DNN」网络搜索引擎 +「Auto-HLS」加速器生成技术
本文提出了多个针对物联网终端设备设计 DNN 和 FPGA 加速器的创新点,包括通过采用在 DNN 设计初期注入硬件性能信息、适度限制 DNN/FPGA 协同设计空间等方案,加快协同设计速度的同时保留了生成网络的多样性,让协同设计同时满 足 AI 应用的精度与硬件性能要求等。作者着重介绍了两大核心技术 Auto-DNN 和 Auto-HLS。
「Auto-DNN」网络搜索引擎对输入 Bundle 作粗 / 细粒度评估,选择可行的 Bundle 构建网络并对网络结构进行更新,以达到在硬件资源限制条件下的精度与硬件性能要求。其中,粗粒度性能评估将通过短时间训练获取 Bundle 的在目标数据集的精度信息,并通过分析模型获取资源消耗和计算延时信息。评估结果如图三所示,在 Pareto 曲线上的 Bundle 将被选择进行更细粒度评估。
细粒度评估使用与数据量化相关的不同激活函数(ReLU、ReLU 4、8 等),用于揭示所选 Bundle 更深层的特性。如图 4 所示,Bundle 1 和 3 更利于为 DNN 带来高精度,而 Bundle 13 则更偏向硬件实现时的实时性。
然后,Auto-DNN 开始利用 Bundle 搭建原型 DNN 并对网络结构进行更新。这个过程中可被更新的参数包括 DNN 结构参数(网络层数、降采样次数及插入位置、通道数扩展因子)和硬件实现参数(例化的硬件 IP 数目、并行因子、量化方案)。更新算法采用随机坐标下降(详见文章算法 1)让 DNN 在每次迭代更新后进一步逼近预设的性能和精度目标。
「Auto-HLS」加速器生成技术用于自动生成基于 FPGA 的加速器代码,以大幅缩短加速器开发周期和设计工时。本文加速器采用迭代式总体架构(图 5a),Bundle 中包含的 IP(如图 5a 中的 Conv3x3,1x1 和 pooling IP)在硬件实例化后将被重复利用以节省硬件资源消耗。
为减少数据读取延时,加速器采用 FPGA 片上存储器(Block RAM)缓存 Bundle 内数据量较少的 IP 中间计算结果,采用片外存储器(DRAM)提供 Bundle 间数据交互,以及为数据量较大的 DNN 参数提供存储空间。本文的加速器设计还采用了以 tile 为基本计算单位的流水线结构,能进一步加快计算速度(图 5b)。
实例展示:DAC'18 目标检测系统挑战赛
为评估 DNN/FPGA 协同设计效果,作者选择了与 DAC'18 System Design Contest 中相同的任务(无人机视觉下低功耗物体检测系统设计),并使用同型号 FPGA 设备(Xilinx PYNQ Z-1)作对比。
在明确 AI 任务和输入目标硬件可用资源数目到系统后,作者设定了 3 个加速器性能目标(吞吐率为 10、15、20FPS)并由 DNN/FPGA 协同设计方案自动生成最合适的 DNN 及对应的加速器。结果如图 6 所示,该方案选取了 5 个 Bundle 并搭建了 68 个 DNN 以对应 3 个不同的性能目标。最终,表现最佳的 DNN1、2 和 3 及其加速器被选中,并与 DAC 挑战赛的前 3 名设计作对比。
与挑战赛 FPGA 组别的冠军模型相比,本文生成的 DNN1 在同型号 FPGA 上获取更快吞吐率(1.45 倍更高的 FPS)、更优秀单张图片处理能耗(2.5 倍更低的 Joule /Picture)的同时,取得 6.2% 更高的物体识别精度(IoU)。与 GPU 组别(使用 Nvidia TX2)的冠军设计对比,本文设计在使用更少计算存储单元、更低频率时钟的情况下,提供了相近的识别精度及 3.6 倍更低的单张图片能耗。
图 6 协同设计所有生成的 DNN(基于选中 Bundle 搭建)及其精度、硬件性能(FPS)信息
表 1 协同设计生成 DNN 及其加速器与 DAC'18 System Design Contest 获奖设计对比
结论
本文作者提出了一种 DNN/FPGA 协同设计方案。该方案使用创新性的「Auto-DNN」网络搜索引擎去生成适用于目标硬件的 DNN 结构,并能通过「Auto-HLS」自动生成加速器代码,快速部署于嵌入式 FPGA 上,为物联网终端设备提供高效 DNN 推理能力。
想申请美国电子与电气工程硕士,哪些学校值得选择?
文章转载至【武汉申友留学】公众号
在美国常见的工科专业申请中,电子与电气工程因其研究范围之广,就业前景好,一直以来都是理工科留学生最爱申请的专业之一。
电子与工程是一个相对宽泛的工程领域,涉及使用电力、电子和电磁的设备、装置和系统的研究、设计和应用的工程学科。
在美国,有的学校称电气工程系(Electrical Engineering)即EE,有的称为电气工程与计算机科学系(Electricaland computer engineering)即ECE等,在申请中不仅看重标化成绩,更需要一定的相关背景和经历,且有一定的先修课要求,如高等数学(微积分、概率论、信号处理,数字电路等,不太适合跨专业申请。
图片来源:pexel
而作为热门专业,美国大学开设EE专业的学校较多,下面列举了2023年部分美国大学电子电气工程(EE)专业排名,供大家参考。
查看完整排名可以参考网页:https://www.usnews.com/best-graduate-schools/top-engineering-schools/electrical-engineering-rankings
关于学校,重点为介绍一下大家常申请的几所。
加州大学伯克利分校
加州大学伯克利分校的电气工程与计算机科学(EECS)隶属于工程学院,在工程类专业中世界排名第三,仅次于麻省理工学院和斯坦福大学。
加州大学伯克利分校电机工程和计算机科学硕士专业提供创新的研究生课程,涉及科学技术主题,其技术水平与学生的兴趣相匹配,范围包括数据科学和系统、集成电路和物理电子学、机器人技术和嵌入式软件、信号处理和通信,以及视觉计算和计算机图形学。
通过在多学科环境中发展思想并考虑复杂的系统问题以及详细的技术问题,学生能力可以得到了进一步的增强。
申请要求:
不限制要求是计算机学士学位,但要求具有本科以上学历的编程、算法、数据结构和理论方面的经验;平均绩点不低于3.0/4;平均录取GPA3.7;要求托福不低于90分或者雅思总分不低于7.0。康奈尔大学
康奈尔大学的ECE项目是以就业为导向的一年制项目,毕业要求需要修满30学分。该项目主要面向的是打算直接从事工程学方面工作的学生,projects紧跟业界设置,选课比较自由。
毕业后,学生可从事计算机工程、医学仪器与系统、软件技术、数字信号处理等工作,也可继续攻读博士学位。
申请要求:
具有电气和计算机工程,机械工程,计算机科学,物理学,应用数学或相关技术领域的学术背景;雅思不低于7.0;托福不低于90分,其中口语不低于22,阅读和写作不低于20,听力不低于15;不强制要求提交GRE成绩。伊利诺伊大学·香槟分校
伊利诺伊大学香槟分校是著名的工科强校,其ECE项目隶属于工程学院的电气与计算机工程ECE系下,时长1.5年,UIUC 作为CS顶尖强校,大多数人申请ECE也是奔着转码去的,选课比较友好。
此外,伊利诺伊大学·香槟分校ECE也是性价比之王,就业率高,学费便宜,玉米地生活费也便宜,但是确拥有专排top5 的课程和师资,非常推荐给EE背景想要转码的申请者。
申请要求:
拥有认可的大学学士学位或者同等学历;要求拥有电子工程课程或计算机工程课程背景;要求GPA不低于3.0/4,GPA3.5+更有优势;建议托福103+,或者雅思7.5。卡内基梅隆大学
卡内梅基隆大学电子与计算机工程(ECE)硕士时长3学期,为满足不同学生的学术兴趣和职业发展需要,CMU提供了不同的细分方向,包括无线系统、集成系统设计Wireless Systems(WS)、信息物理系统Cyber- Physical Systems(CPS)、数据与网络科学Data and Network Science(DNS)、网络安全Computer Security(CSec),软硬兼有。
但因为CMU的CS学科优势,大多数学生都是冲着CE去的。CMU ECE分匹兹堡Pitts主校区和硅谷SV校区,前者教学资源和课程选择会更多,后者找工作有地理优势,校区就在Google总部旁边。
但ECE匹兹堡的难度非常高,和Berkeley MEng EECS属于一个tier,条件没那么顶尖,但又对CMU有执念的学生可以考虑Spring入学(虽然大多是申请秋季被学校defer到春季入学),而且Spring入学的同学也可以有CPT。
申请要求:
拥有认可的大学学士学位或者同等学历;最好具有相关专业课程背景或者工作经验;要求托福不低于84分(R 22、L 22、S 18、W 22);要求雅思总分至少7.0(R 6.5,L 6.5,S 6,W 6)。密歇根大学安娜堡分校
密歇根大学安娜堡分校的电气与计算机工程硕士项目是为想要在电气与计算机工程的一个或多个领域内提升知识和技能的学生开设的。
该项目是高度结构化的,强调严格的理论、实践训练、工程项目、工业技能、通信、项目管理、领导力和创业培训。
申请要求:
要求拥有本科学士学位以上学历,且要求有工程、计算机、物理、数学等相关专业背景;要求GPA不低于3.5/4;要求托福84分以上,或者雅思6.5以上;GRE平均成绩为324分。美国大学电子电气工程EE专业的研究分支也非常多,不同分支对学生的要求也会不同,因此,同学们要根据自己的条件选择适合自己的研究方向。
文章转载至【武汉申友留学】公众号
了解更多留学申请资讯与干货可关注公众号
相关问答
uiuc 是哪个学校?uiuc是美国伊利诺伊大学埃巴耶香槟分校的英文名称,伊利诺伊大学厄巴纳香槟分校创建于1867年,坐落于伊利诺伊州幽静的双子城厄巴纳香槟市,是一所美国著名公立研...
伊利诺伊大学香槟分校( UIUC )排名工科商科怎么样?商学院:本科15,会计2,保险8,房地产10工学院:本科6,航天工程7,生物/农业工程1,土木工程1,计算机工程5,电子工程4,工程科学1,环境工程5,材料工程2,工...商学院:...
美国 电子 信息专业最好的大学有哪些?美国电子信息专业排名1、斯坦福大学(StanfordUniversity)是美国的一所私立大学,被公认为世界上最杰出的大学之一,创建于1891。斯坦福大学占地约35平...美...
美国留学有哪些高薪专业?8.南加州大学学校本科毕业生的平均起薪62000美元/年,职业中期薪资上涨迅速,达到122600美元/年。对于读工程专业的同学们来说,电子工程/电气工程的名号怎么...
美国留学研究生热门专业是哪些?对于理论知识扎实、逻辑性强的中国学生来说,美国理工类专业往往是美国留学的首选专业。近几年申请美国理工科专业的人数大大增加,竞争更趋激烈。提醒申请美国...
我想去美国读研,请问公立和州立大学有区别吗,是不是读这个便宜,具体两年要多少钱?美国研究生院有的根据每学期所修学分计算学费,每个学分为800至1500美元。一般来说,一年制的项目约需32至36个学分,一年半或两年的项目学分为50至60之间。有的...