最近机器学习 (ML) 进步的关键贡献者之一是定制加速器的开发,例如Google TPU和Edge TPU,它们显着提高了可用计算能力,从而解锁了各种功能,例如AlphaGo、RankBrain、WaveNets和对话代理。这种增加可以提高神经网络训练和推理的性能,为视觉、语言、理解和自动驾驶汽车等广泛的应用提供新的可能性。
 
ASP站长网为了保持这些进步,硬件加速器生态系统必须继续在架构设计方面进行创新,并适应快速发展的 ML 模型和应用程序。这需要对许多不同的加速器设计点进行评估,每个点不仅可以提高计算能力,还可以揭示新的能力。这些设计点通常由各种硬件和软件因素(例如,内存容量、不同级别的计算单元数量、并行性、互连网络、流水线、软件映射等)参数化。这是一项艰巨的优化任务,因为搜索空间呈指数级大1 而目标函数(例如,更低的延迟和/或更高的能源效率)通过模拟或综合进行评估在计算上是昂贵的,这使得确定可行的加速器配置具有挑战性。
 
在“ Apollo: Transferable Architecture Exploration ”中,我们介绍了我们在定制加速器的 ML 驱动设计方面的研究进展。虽然最近的 工作已经证明了利用 ML 来改进低级布局规划过程(其中硬件组件在空间上布局并在硅中连接)方面的有希望的结果,但在这项工作中,我们专注于将 ML 混合到高级系统规范和架构设计阶段,这是影响芯片整体性能的关键因素,其中建立了控制高级功能的设计元素。我们的研究展示了 ML 算法如何促进架构探索并建议跨一系列深度神经网络的高性能架构,其领域涵盖图像分类、对象检测、OCR和语义分割。
 
架构搜索空间和工作负载
架构探索的目标是为一组工作负载发现一组可行的加速器参数,以便在一组可选的用户定义下最小化所需的目标函数(例如,运行时的加权平均值)约束。然而,体系结构搜索的流形通常包含许多点,从软件到硬件没有可行的映射。其中一些设计点是先验已知的,可以通过用户将它们制定为优化约束来绕过(例如,在面积预算2约束,总内存大小不得超过预定义的限制)。然而,由于体系结构和编译器的相互作用以及搜索空间的复杂性,一些约束可能无法正确地表述到优化中,因此编译器可能无法为目标硬件找到可行的软件映射。这些不可行点在优化问题中不容易表述,并且在整个编译器通过之前通常是未知的。因此,架构探索的主要挑战之一是有效地避开不可行的点,以最少数量的周期精确架构模拟来有效探索搜索空间。
 
下图显示了目标 ML 加速器的整体架构搜索空间。加速器包含处理元件 (PE) 的二维阵列,每个处理元件以单指令多数据(SIMD) 方式执行一组算术计算。每个 PE 的主要架构组件是处理核心,包括用于 SIMD 操作的多个计算通道。每个 PE在其所有计算核心之间具有共享内存 ( PE Memory ),主要用于存储模型激活、部分结果和输出,而单个核心具有主要用于存储模型参数的内存。每个内核有多个计算通道,具有多路乘法累加(MAC) 单位。每个周期的模型计算结果要么存储在 PE 内存中以供进一步计算,要么卸载回 DRAM。

dawei

【声明】:九江站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。