第 42 节 近似计算(第1页)

近似计算(Approximate Computing,AC)不是新的概念。自从引入浮点变量和模数转换器以来,这已成为计算领域的一个「古老」概念。物理世界是连续不断的,但计算机却是数字的,它将物理信息转换为离散的有限位数据,这本身就是近似。长期以来,我们已经接受了近似的需求,但几乎没有发挥其潜力。如今,程序员和架构师比以往任何时候都更趋向于采用近似计算来压缩计算规模,并缓解由于 CMOS 工艺达到极限而导致的可靠性问题。同时,随机计算、可逆计算和量子计算之类的姐妹计算范式也引起了人们的极大兴趣,这进一步表明,也许是时候抛弃我们的精确计算范式并在考虑近似值的前提下重建计算机了。

现在,除了计算范式局限于精确计算之外,对于执行计算的半导体芯片,也一直执行十分苛刻的质量筛选,以保证不出任何差错。另外,对于输入的大数据,更不容许有半点差错。这种不容出错的苛刻条件带来的后果就是高功耗和高昂的费用。而生物大脑的运作并不强调精确计算,而是有非常好的容错机制,因此生物大脑的能耗非常低。这样就出现了一种想法:是否可以从逻辑电路、存储器到算法,重新设计和定义计算范式,使计算从「精确」变成可以接受的「近似」,并且带入「容错」功能?除了计算之外,如果再把数据的误差、芯片参数的偏差这两个维度考虑进去,就组成了一个如图 8.1 所示的三维容错模型。

图 8.1 计算、芯片参数和数据(3 个维度)组成的三维容错模型

图 8.1 计算、芯片参数和数据(3 个维度)组成的三维容错模型

为了在应用中达到高精度,深度神经网络(DNN)使用大数据量和非常大的模型,这些模型需要大量的数据存储空间、极强的计算能力和大带宽的数据移动。尽管计算能力取得了很大进步,但是在大型数据集上训练最先进的 DNN 仍需要很长时间,这直接限制了应用推广的速度。

因此,在 DNN 技术中,目前已越来越多地使用近似计算来解决上述问题。近似计算可以在 AI 计算的不同层级上实现:在软
(本章节未完结,点击下一页翻页继续阅读)