新技术的成功在一定程度上取决于这种技术所带来的价值,简单说就是要证明新技术比竞争对手的技术好。新技术只有带来新的价值,才能吸引投资者,并让管理者满意。在现有产品的基础上设计一个更小、更快、更轻、更有效的替代品相对比较容易,而创造一个完全不同的新东西要困难得多。
神经拟态计算就是工程师正在尝试的一个全新领域,不同系统之间(神经拟态和其他系统)不易进行比较可能是这项技术的一个难点。
产生这个难点的一部分原因是因为该领域很复杂。神经拟态技术是从大脑汲取灵感。但正如我们之前所讨论的,要将灵感变为现实,从硬件层面来看有很多种方法,如模拟或数字、尖峰或非尖峰、连续或离散时间、虚拟或直接神经元连接。
不同工作小组的目标和重心有时候也各不相同。一些想要仿真生物学,一些专注于能源效率,另外一些希望仿真类人智能,还有一些则只想为日常机器学习的难题找到实用的解决方案。
那么,对使用不同接口、编码、技术和方法的神经拟态系统,开发人员要如何进行基准测试并且要花多长时间呢?基准测试过去几年已逐渐成为神经拟态工程的热门话题。实际上2016年就已经开始比较不同应用中的系统,或者运行不同的算法、网络或算法/网络集了,仅今年就发表了三项有关这一主题的研究。
我们将在以后的文章中讨论这些研究,本文的重点是理解为什么基准测试仍是一个难题。
我们来执行一项学习或识别任务,然后比较其在不同实验系统上的表现。首先,必须选择一项能够在所有系统中执行的任务,尽管这些系统在设计之初可能并没有考虑到这一点。此外,必须考虑整个过程(从加载任务、运行任务到产生输出)以及每个步骤是否都得到了优化。
如果没有优化(这是新技术的常见问题),则必须将测量指标进行细分,使之仅用于有关的系统,而非用于整个基础设施(支持这些系统所需)。
硬件也可以用这样一种方式来构建,使其能产生适当的数据用于分析,包括不同阶段的性能或功耗。然而,情况往往并非如此。
FLOPS(每秒浮点运算)能让事情变得容易,但目前还没有其它等效方法。工程师们尝试使用MAC(乘法累加运算),但MAC更适于深度学习,并不能反映神经拟态工程的复杂性。
突触操作也不适用,因为完成任务的方式太多,可以使用的学习规则太多,编码方式太多,突触和神经元功能也太多。
即使这些都不是问题,大家都知道,要使系统软件运行,必须对编译器进行量身定制,无一例外。否则,即使是最好的系统也会表现不佳。
为了更好地理解,让我们看看神经拟态之外的其他技术。桑迪亚国家实验室的Robin Blume-Kohout对量子计算机的基准测试很感兴趣。在一次题为“Not All Benchmarks Are Created Equal”的演讲中,Blume-Kohout表示,对于任何处于早期开发阶段的技术,依赖其基准都是有难度的。
他在2018 年的一份技术报告中强调了这一论点,“当今最先进的量子处理器如同处于婴儿阶段。用于成人的测试指标和基准(例如智商或SAT分数)显然不适用于婴儿;婴儿的任务只有一个,就是成长。
“监控婴儿成长需要的技能和知识与评估成人所需的完全不同,”他继续说,“孩童与不成熟的技术一样,其成长与进步并非凭直觉能观察到,有时甚至还出现倒退(例如掉乳牙或进入青春期)。”
与量子计算相比,神经拟态工程处于更先进的阶段,一些神经拟态系统已经投入实际应用,尽管大部分还是小规模的。但Blume-Kohout的观点对处于“青少年时期”的技术也是有效的。就像在学校,过度考试会让孩子擅长考试却不擅长独立学习,在形成阶段使用错误的基准会使神经拟态工程朝着错误的方向发展。
在更早的一篇论文中,Blume-Kohout首先对不良基准测试的危险性提出了警告。
阿贡国家实验室的Jack Dongarra在1980年代计算机行业迅速发展之初曾努力寻找评估计算机的最佳方法,他也补充说:“计算机的价值取决于其如何使用,而计算机的使用又因应用、工作负载和时间而异。”
Dongarra还断言:“对一个场合有效的评估可能对另一个场合无效,而现在有效的评估可能在很短时间之后就不再有用。”
于是就有了这样的警告:“尽管基准在性能评估中是必不可少的,但简单地应用它们可能会产生误导性结果。事实上,不当的基准测试可能比根本没有基准测试更糟糕。”他总结道。
接下来,我将深入了解研究人员会尝试哪些方法来解决基准测试的难题。
(原文刊登于EDN姐妹网站EETimes美国版,参考链接:Why Benchmarking Neuromorphic Computing is Hard,由Jenny Liao编译。)
本文为《电子技术设计》2021年11月刊杂志文章,版权所有,禁止转载。免费杂志订阅申请点击这里。