引言
在大数据的强劲推动下,机器学习应用迅速崛起,成为当前技术领域的焦点与热门的计算场景。而在机器学习领域,模型算法较为复杂且与数据集庞大,系统硬件面临着巨大挑战。由于机器学习和人类感知系统类似,往往不追求唯一或精确结果,而通常只要满足于用户认可且质量较优的输出结果,这为系统应用的实际需求提供了足够的容错度。在该类应用中,近似计算技术成为了一种合理高效的策略,通过近似计算能够在可承受的误差内获得较低的硬件资源开销,这满足了众多实际应用的迫切需求。研究人员能够在满足应用需求的前提下,有效地平衡计算精度与资源消耗,从而实现更高效能的系统设计与优化[1-2]。通过适当放宽对精确执行的严苛要求,近似计算在处理识别、挖掘和合成等应用中展现出了巨大的潜力。
在机器学习应用领域中,如数据挖掘、深度学习和图像处理等,乘法和乘法累加运算构成了整个系统的核心计算,但同时也是功耗大且耗时长的环节。研究发现平均约有83%的计算时间用于可容错的计算任务,而超过74%的执行时间则专门用于点乘、距离计算或矩阵乘法等计算操作[3]。在点乘、距离运算和矩阵向量乘法中,核心计算均离不开乘法和加法,作为机器学习应用的基础算术运算单元,这些运算均有一定的容错性。因此,将近似乘法器、近似加法器引入机器学习应用领域,可显著减小硬件功耗和计算时间,为高效、低功耗的机器学习计算提供新的解决方案。
目前研究者对近似计算在计算系统的各个层面都进行了深入探索,包括硬件层、软件层和架构层。硬件层的近似计算技术主要通过对算术运算单元和模块的逻辑功能进行近似精简设计[4],对于电路级的逻辑近似,通过较少的门电路实现了简化的逻辑输出,国内外进行了大量的研究,提出了各种近似算术运算单元,包括近似加法器、近似乘法器、近似除法器、近似乘累加以及近似浮点运算[5-7]等。在软件层面,主要通过对源代码或编译器进行计算简化,包括省略对最终结果不太重要的计算或存储,采用的主要技术包括精度缩放、代码穿孔、浮点定点转换、同步省略[8-9]等。在架构层面,主要对加速器、内存、存储、指令集架构等计算机系统中的关键硬件单元进行近似,包括近似处理器架构、近似内存和存储[10]等。
本文提出一种可迭代的动态截断近似对数乘法器,将其应用于深度神经网络算法中,验证了该近似乘法器在神经网络中的的适用性。
本文详细内容请下载:
https://www.chinaaet.com/resource/share/2000007224
作者信息:
尹培培
(南京航空航天大学 信息化处(信息化技术中心),江苏 南京 211106)