机器学习的指令集结构

机器学习(Machine Learning,ML)是一系列用于从数据中学习以提高特定任务性能的模型。机器学习技术,特别是近年来重新受到重视的神经网络(深层神经网络),已被证明是广泛应用的有效方法。机器学习技术通常在通用处理器(如CPU和GPGPU)上执行,因为它们需要投入过多的硬件资源来灵活地支持各种工作负载,这些处理器通常不节能。因此,最近大家提出了针对具体应用的硬件加速器,以期提高能效。然而,这种加速器是为一小组共享类似计算模式的机器学习技术而设计的,它们采用与机器学习的高级功能块(例如神经网络中的层)甚至整个机器学习技术直接对应的复杂且信息丰富的指令(控制信号)。虽然它对于一组有限的类似机器学习技术简单易行,但指令集缺乏灵活性,这使得这种加速器设计无法以足够的灵活性和效率支持各种不同的机器学习技术。
在本文中,我们首先提出了一种新的用于神经网络加速器的领域特定指令集体系结构(Instruction Set Architecture,ISA),称为Cambricon,它是一种基于对现有指令的综合分析,集成了标量、向量、矩阵、逻辑、数据传输和控制指令的负载存储体系结构。采用神经网络技术。然后,我们将Cambricon的应用范围从神经网络扩展到机器学习技术。我们还提出了一种汇编语言、汇编程序和运行时,以支持用Cambricon编程,特别是针对大规模机器学习问题。我们对总共16种具有代表性但不同的ML技术的评估表明,与x86、MIPS和GPGPU等通用ISA相比,Cambricon在广泛的机器学习技术范围内表现出强大的描述性能力,并提供更高的代码密度。与最新最先进的神经网络加速器设计DaDianNao (仅能容纳三种神经网络技术)相比,我们在台积电65nm技术中实现的基于Cambricon的加速器原型只会产生可忽略的延迟/功率/区域开销,具有10个不同神经网络基准和7个其他机器学习基准的多功能覆盖。与最近流行的机器学习加速器PuDianNao相比,我们基于Cambricon的加速器能够支持所有ML技术以及10 种神经网络技术,但性能损失仅约5.1%。

链接: https://dl.acm.org/citation.cfm?id=3331469

联系我们

地 址:广州市番禺区大学城中山大学资讯管理学院B栋B305
邮政编码:510000
联 系 人:李启元老师
电 话:+86-20-39336519
电子邮箱:hpcoffice@gdhpcs.org
网 址:http://sdcs.sysu.edu.cn/gdhpcs/