一年前,ZDNet 与Google Brain总监Jeff Dean 谈了有关该公司如何利用人工智能来推进其定制芯片内部开发以加速其软件的过程。Dean指出,在某些情况下,人工智能的深度学习形式可以比人类做出更好的决策,以决定如何在芯片中布局电路。
本月,Google 在arXiv文件服务器 上 发表 的一篇题为《阿波罗:可移植的体系结构探索》(Apollo:Transferable Architecture Exploration)的论文上,向世人揭示了一个名为Apollo的研究项目。
阿波罗(Apollo)代表着一个有趣的发展,超越了Dean一年前在国际固态电路会议上的正式讲话中以及在他对ZDNet的讲话中所暗示的含义。
在Dean当时提供的示例中,机器学习可用于一些低级设计决策,即“布局和布线”。在位置和路线上,芯片设计人员使用软件来确定构成芯片操作的电路布局,类似于设计建筑物的平面图。
相比之下,在阿波罗,该计划执行的是论文作者Yazdanbakhsh及其同事所说的“架构探索”,而不是平面图。
芯片的体系结构是芯片功能元素的设计,主要是决定它们如何相互作用以及软件程序员应如何访问这些功能元素。
例如,经典的Intel x86处理器具有一定数量的片上内存,专用的算术逻辑单元和许多寄存器,等等。这些部分的组合方式赋予了所谓的英特尔架构以意义。
当被问及Dean的描述时,Yazdanbakhsh在电子邮件中告诉ZDNet: “我会看到我们的工作和布局规划项目是正交且互补的。
Yazdanbakhsh解释说:“架构探索比 计算栈中的 布局布线要高级得多,”他指的是康奈尔大学(Cornell University)的Christopher Batten的演讲。
Yazdanbakhsh表示:“我认为,在[架构探索]中,存在更高的性能改进余地。
Yazdanbakhsh及其同事将Apollo称为“第一个可移植的体系结构探索基础结构”,这是第一个程序,它在不同的芯片上工作的越多,越能更好地探索可能的芯片体系结构,从而将学到的知识转移到每个新任务上。
Yazdanbakhsh和团队正在开发的芯片本身就是用于AI的芯片,称为加速器。该芯片与Nvidia A100“ Ampere” GPU,Cerebras Systems WSE芯片以及目前投放市场的许多其他启动部件属于同一类。因此,使用AI设计运行AI的芯片具有很好的对称性。
鉴于任务是设计一个AI芯片,Apollo程序正在探索的架构是适合运行神经网络的架构。这意味着很多线性代数,很多简单的数学单元执行矩阵乘法并对结果求和。
团队将挑战定义为找到适合给定AI任务的这些数学块的正确组合之一。他们选择了一个相当简单的AI任务,即一个称为MobileNet的卷积神经网络,这是一种资源有效的网络,由Andrew G.Howard和Google的同事于2017年设计。此外,他们使用多个内部设计的网络测试了工作负载,以执行诸如对象检测和语义分段之类的任务。
这样,目标就变成了:对于芯片的体系结构,什么是正确的参数,以使得对于给定的神经网络任务,芯片满足诸如速度之类的某些标准?
搜索涉及对超过4.52亿个参数进行排序,包括将使用多少个数学单元(称为处理器元素),以及对于给定模型而言最佳的参数存储量和激活存储量。
Apollo的优点是可以将各种现有的优化方法相提并论,以了解它们如何在优化新型芯片设计的体系结构中相互叠加。在这里,上图显示了相对结果。
Apollo是一个框架,这意味着它可以采用文献中开发的多种方法进行所谓的黑盒优化,并且可以使这些方法适应特定的工作负载,并比较每种方法在解决目标方面的效果。
在另一个很好的对称性中,Yazdanbakhsh采用了一些优化方法,这些方法实际上是为开发神经网络体系结构而设计的。其中包括Google的Quoc V.Le及其同事于2019年开发的所谓进化法; Christoph Angermueller和其他人在Google上基于模型的强化学习和所谓的基于群体的方法集成,目的是“设计” DNA序列;和贝叶斯优化方法。因此,Apollo包含了令人愉悦的对称性的主要层次,将为神经网络设计和生物合成设计的方法汇集在一起,以设计可用于神经网络设计和生物合成的电路。
比较所有这些优化,这就是Apollo框架的亮点。它的整个存在目的是有条不紊地采用不同的方法,并指出最有效的方法。阿波罗(Apollo)试验结果详细说明了进化方法和基于模型的方法如何优于随机选择和其他方法。
但是,阿波罗最引人注目的发现是,与蛮力搜索相比,运行这些优化方法使流程效率更高。例如,他们将基于群体的集成方法与他们所说的对体系结构方法的解决方案集的半穷尽搜索进行了比较。
Yazdanbakhsh及其同事看到的是,基于人群的方法能够发现利用电路中权衡取舍的解决方案,例如计算与内存,而这通常需要特定领域的知识。由于基于人口的方法是一种博学的方法,因此它可以找到半穷举搜索无法找到的解决方案。
实际上,P3BO(基于人口的黑盒优化)发现的设计比3K样本搜索空间的半穷尽略好。我们观察到该设计使用非常小的内存大小(3MB)来支持更多的计算单元。这充分利用了视觉工作负载的计算密集型性质,而原始半详尽搜索空间中并未包含该功能。这证明了半穷举方法需要人工搜索空间工程,而基于学习的优化方法利用大的搜索空间来减少人工工作。
因此,Apollo能够弄清楚不同的优化方法在芯片设计中的效果如何。但是,它还可以做更多的事情,那就是它可以运行所谓的迁移学习,以展示如何依次改进这些优化方法。
通过运行优化策略以将芯片设计提高一个设计点,例如以毫米为单位的最大芯片尺寸,这些实验的结果便可以作为输入输入到随后的优化方法中。Apollo团队发现的是,通过利用初始或种子优化方法的最佳结果,各种优化方法可在诸如面积受限的电路设计之类的任务上提高其性能。
所有这些必须由以下事实括起来:为MobileNet或任何其他网络或工作负载设计芯片受设计过程对给定工作负载的适用性的限制。
实际上,其中一位作者Berkin Akin帮助开发了MobileNet版本MobileNet Edge,他指出优化是芯片和神经网络优化的产物。
“神经网络架构必须了解目标硬件架构,才能优化整体系统性能和能源效率,” Akin去年在与同事Suyog Gupta的论文中写道。
ZDNet通过电子邮件与Akin联络,问一个问题:与神经网络体系结构的设计隔离时,硬件设计有多有价值?
“很好的问题。”Akim在电子邮件中回答。
Akin说,Apollo对于给定的工作负载可能就足够了,但是在芯片和神经网络之间进行的所谓的“共同优化”将带来其他好处。
这是Akin的完整回覆:
当然,在某些用例中,我们正在为给定的一组固定神经网络模型设计硬件。这些模型可以是硬件目标应用领域中高度优化的代表性工作负载的一部分,也可以是定制加速器用户的要求。在这项工作中,我们正在解决这种性质的问题,我们使用ML为给定的工作负载套件找到最佳的硬件体系结构。但是,当然在某些情况下,可以灵活地共同优化硬件设计和神经网络体系结构。实际上,我们正在进行一些此类联合优化的工作,我们希望可以取得更好的权衡。
那么,最后的收获是,即使芯片设计受到AI的新工作量的影响,芯片设计的新过程也可能对神经网络的设计产生可衡量的影响。
责任编辑:tzh
-
处理器
+关注
关注
68文章
19259浏览量
229651 -
芯片
+关注
关注
455文章
50714浏览量
423137 -
AI
+关注
关注
87文章
30728浏览量
268886 -
人工智能
+关注
关注
1791文章
47183浏览量
238245
发布评论请先 登录
相关推荐
评论