当前位置:首页>生活 >内容

计算机和人工智能如何共同发展

2023-07-03 09:27:34生活自然的汉堡

协同设计,即同时设计软件和硬件,是尝试满足当今人工智能应用的计算能力需求的一种方法。编译器将指令从一种表示形式转换为另一种表示形式

协同设计,即同时设计软件和硬件,是尝试满足当今人工智能应用的计算能力需求的一种方法。编译器将指令从一种表示形式转换为另一种表示形式,是这个难题的关键部分。中科院的一组研究人员总结了深度学习协同设计中现有的编译器技术,并提出了自己的框架——Buddy Compiler。

计算机和人工智能如何共同发展

该小组的综述论文于 6 月 19 日发表在《智能计算》(Science Partner Journal)上。

虽然其他人总结了优化、硬件架构、协同设计方法和编译技术,但没有人从协同设计编译技术的角度讨论深度学习系统。研究人员从这个角度研究深度学习,因为他们认为“编译技术可以带来更多协同设计的机会,从而可以更好地实现深度学习系统的性能和功耗要求。”

审查涵盖五个主题:

深度学习和协同设计的历史

现在深度学习和协同设计

深度学习协同设计的编译技术

当前问题及未来趋势

好友编译器

深度学习和协同设计的历史

自 20 世纪 50 年代以来,神经网络经历了多次兴衰,导致了今天深度学习应用和研究的爆炸性增长。协同设计始于20世纪90年代,此后被广泛应用于各个领域,从手工工作发展到计算机辅助设计,最终成为一个涉及建模、仿真、优化、综合和测试的复杂过程。自 2020 年以来,一种称为 Transformer 的网络模型取得了巨大成功:ChatGPT 是使用“生成式预训练 Transformer”构建的聊天机器人。目前像 ChatGPT 这样的人工智能应用程序正在达到新的性能瓶颈,需要再次进行软硬件协同设计。

现在深度学习和协同设计

深度学习的突破来自于大量层和大量参数的使用,这显着增加了训练和推理的计算需求。因此,仅依靠软件级优化,实现合理的执行时间变得具有挑战性。为了解决这个问题,工业界和学术界都转向了特定领域的硬件解决方案,旨在通过硬件和软件之间的协作(称为软硬件协同设计)来实现所需的性能。最近,一个综合系统已经出现,包括深度学习框架、高性能库、特定领域编译器、编程模型、硬件工具流程和协同设计技术。

深度学习协同设计的编译技术

有两种流行的生态系统用于构建深度学习编译器:张量虚拟机(称为 TVM)和多级中间表示(称为 MLIR)。这些生态系统采用不同的策略,TVM 充当端到端深度学习编译器,MLIR 充当编译器基础设施。与此同时,在为深度学习工作负载定制的硬件架构领域,主要有两种类型:流式架构和计算引擎架构。与这些架构相关的硬件设计工具流程也正在采用新的编译技术来推动进步和创新。深度学习编译器和硬件编译技术的结合为深度学习协同设计带来了新的机遇。

当前问题及未来趋势

由于性能要求增长太快,处理器开发无法跟上,有效的协同设计至关重要。协同设计的问题在于没有单一的方法,没有统一的协同设计框架或抽象。如果需要多层抽象,效率就会降低。为特定领域定制编译器是一项劳动密集型工作。统一的生态系统正在形成,但碎片化的根本原因仍然存在。这些问题的解决方案是采用模块化可扩展统一框架。

好友编译器

Buddy Compiler 项目的贡献者“致力于构建一个可扩展且灵活的硬件和软件协同设计生态系统”。该生态系统的模块将包括编译器框架、编译器即服务平台、基准测试框架、特定领域架构框架和协同设计模块。后两个模块仍在进行中。

作者预测编译生态系统的持续发展将有助于统一快速发展且有些分散的深度学习领域正在进行的工作。

该综述的作者为中国科学院软件研究所的张宏斌、邢明杰、吴彦军和赵晨。

声明本站所有作品图文均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系我们

Top