中文 英语

构建更快的计算机

向前发展需要从根本上重新思考逻辑。

受欢迎程度

为了创造更快的计算机,计算机行业必须后退一大步,重新审视半个世纪前做出的选择。最有可能的方法之一是放弃对决定论的要求,这正在以几种不同的形式进行尝试。

自成立以来冯·诺依曼结构对于计算机来说,在体系结构、微体系结构、实现和制造技术方面已经有了微小的、增量的改进。这导致了计算能力的惊人增长。但其中一些技术已经达到了极限,而另一些则接近极限。

传统计算机将继续发挥作用,而且仍然可以取得重大进展。但它正变得越来越困难和昂贵。英特尔公司技术副总裁兼研究员Peter Greenhalgh表示:“通过提高预测能力以及增加执行宽度和深度的标准技术,cpu的性能仍有望提高手臂.“新的指令和功能可以在最新的应用程序上提供更好的性能。库和编译器中的软件优化仍然很重要,特别是在新的工作负载下。在系统中,更多的缓存,更多的缓存带宽,以及如何管理这些缓存将提高芯片的整体性能。”

在实现和制造方面还有更多的收获。“30年来,EDAFusion Compiler的产品营销经理James Chuang说:“算法和启发式一直在预先确定的约束和假设下推动设计质量Synopsys对此.“一些假设是为了简化优化的复杂性,但随着现代软件、硬件和人工智能计算能力的发展,一些假设现在限制了设计的潜力PPA.一个例子是电压水平。长期以来,在优化过程中,电压水平一直保持不变,并且只对后硅进行了探索,其结果只能间接影响下一次修订。在EDA优化过程中,引入电压水平作为一个巨大的新探索空间,可以获得显著的收益,特别是在总功率方面,电压对开关功率(CV2)的影响是平方的。我们希望这个行业能够继续打破常规,寻找新的优化维度。”

尽管如此,更大的改进还是有可能的——但只有重新思考我们对计算机的所有了解。

在过去的50年里,芯片行业从确定性硬件的计算中受益。这并非偶然。但这是一个代价高昂的决定,芯片设计可能再也负担不起了。

同时运行数千或数百万次计算所需要的能量,以及合并这些结果以使结果不受量子效应的影响,基本上是每个逻辑门内部发生的事情。随着这些门变得越来越小,同时进行的实验数量也在减少,它们真正的量子本质正在被揭示。由于制造过程的变化,或环境条件的变化,闸门的可靠性越来越低。

那么我们如何看待非决定论呢?“设计和验证非确定性行为(任何不是100%概率的行为)一直是一个挑战,”Michael Frank说Arteris IP.例子包括异步时钟边界、调度器、概率网络(排队)模型或近似计算。解决这个问题的一种方法是随机刺激,并将结果与预期分布进行比较,而不是将结果与固定值进行比较。这些类型的系统并不是真的那么新。它们过去被称为“模糊逻辑”,这个术语是由加州大学伯克利分校的Lotfi Zadeh博士在1965年提出的。

不那么准确
非确定性计算以多种形式出现。其中一些是不确定的,因为每次执行将提供什么作为答案,另一些是不确定的,因为无法确定特定输入的输出。人工智能(AI)推理是确定性的,因为当条件相同时,每次都能获得相同的结果,但从统计意义上讲,它不是端到端确定性的,因为条件的非常微小的变化可能会产生完全未知的响应。当您向推理引擎提供它以前从未遇到过的图像或声音(或任何输入类型)时,您无法确定结果将是什么。

从一个训练好的模型到边缘部署的推理引擎需要量化,这可能会增加另一种形式的非确定性误差。量化减少了用于推断的数据类型的大小,并且这些结果经常与原始样本进行检查,以查看它增加了多少不准确性。

“对于信号、权重等,你需要多少操作数长度才能获得预期的结果保真度,即使这是一台不确定的机器?”公司高级副总裁兼总经理拉维•萨勃拉曼尼亚问道西门子EDA.“我们必须为特定目的定义忠诚的概念。这是当你试图进行图像识别时结果的保真度,或者当你试图预测心脏波形时结果的保真度。目前还没有关于这个问题的严谨的科学,人们正在尝试开发方法,将其视为一个多变量优化问题。您有一组操作数长度,希望在一组约束下进行优化。学习发生的方式是基于输入的数据集。这是一个非常复杂的问题,今天实际上是由启发式驱动的。”

但是,结果的准确率下降2%意味着什么呢?需要做多少额外的学习来提高这一点,推理所需的准确性有什么影响?“计算机体系结构的历史是波浪式的,”Subramanian补充道。“这波浪潮的组成部分是工作量、架构和效率。今天,主要的驱动因素是工作负载。存在大量的体系结构,但在许多情况下,我们使用体系结构来搜索工作负载。这仅仅是技术炒作曲线演变过程中的一个转折点。在您拥有一个具有主要工作负载的良好契约之前,您将无法探索效率阶段。当我在推理时,因为我的训练更好,我要花费多少能量来获得结果中额外的1%的准确率?在我们进入节能阶段之前,我们将浪费大量能源。”

随着结果保真度的降低,正在考虑新的底层执行硬件,这不是完全确定的或无错误的。

一种选择是重新引入模拟计算,它在做乘法累加函数时非常高效机器学习(毫升)。它可以更快地完成工作,而消耗的电力只有一小部分。不幸的是,模拟很容易受到制造变化和周围其他事情的影响。噪音、功率波动、温度和许多其他环境因素都会影响结果。研究人员正在努力尽可能地消除这种可变性,但在许多情况下,这是以分辨率为代价的。

Mythic公司负责产品和业务开发的高级副总裁Tim Vehling表示:“从功率密度和性能的角度来看,模拟技术具有巨大的优势。“模拟作为边缘人工智能的计算技术才刚刚起步。人工智能,顾名思义,是统计的。这不是一个精确的计算。你用统计的方式训练模型,然后你的模型运行,深度学习科学家并不确切地知道它是如何或为什么这样做的。他们无法解释它是如何工作的。它不像数学方程。在这中间有很多深度学习的黑魔法。由于人工智能的性质,模拟非常适合自己,因为人工智能已经不受噪声影响。它通过训练模型的方式来处理噪声。”

另一项擅长矩阵计算的技术是光子学。Synopsys公司产品营销经理普里扬克•舒克拉说:“在光学系统中,你可以更高效地进行乘法和累加。”“与使用晶体管乘以电流相比,你可以用一种更简单、更节能的方式乘以波长。”

光子计算仍处于早期阶段,该技术也受环境条件的影响很大。

量子计算
另一种形式的非确定性硬件被视为计算的新前沿是量子计算.这些计算机很可能能够解决超出传统确定性计算机范围的问题,但每次向它们提出相同的问题时,它们也会产生广泛的答案。人们正在努力减少这类机器的错误水平,但它们的本质表明,处理不确定性将是软件的责任。

量子计算机是一系列设备,而不是单一的架构。“在传统计算机中,你可能有x86和Arm,每个人都知道比较它们的困难,”微软研发运营经理乔尔•沃尔曼(Joel Wallman)表示Keysight技术.“比较任何两台量子计算机都是同一种比较。有一些星座,通常是基于物理实现的,它们之间的比较要容易得多。例如,所有超导量子比特在相似的时间尺度上运行是相当可比性的,它们将有相似的错误率。它们也将具有类似的可表达性,这意味着您需要类似数量的基本指令才能在它们中运行相同的程序。使用这种类型的机器,你可以并行化你的原始指令,但是使用离子陷阱,你通常不能。为了使原始指令与离子陷阱并行,你需要更多的激光,因为那些才是真正执行指令的东西——用激光照射被捕获的离子。而且只有那么多激光可以照射到一个小点上,同时又能很好地控制它。”

如今,量子计算受到高错误率的困扰,很难定义它们有多快。“你是在试图评估一些性能不够好,无法实际执行计算的东西的性能,”Wallman补充道。“我认为可以使用的最简单的度量标准是,‘你实际上可以使用并有合理机会得到正确答案的最大量子位数是多少?’或者,你也可以在收到垃圾邮件之前询问一下你可以在量子计算机上执行的指令的实际数量。”

IBM基本上把这两个元素结合起来,为量子计算机创造了一个优点。“它叫Clops,”Wallman说。“他们谈论的是每秒可以完成多少层操作。对于超导量子比特,你说的是数百或数千个,但对于离子陷阱,你说的是一个低得多的数字,尽管离子陷阱往往更准确一些。”

传统计算与量子和光子学之间还有其他显著的区别,比如这两种技术都没有自然的存储信息的方法。萨勃拉曼尼亚说:“研究人员仍在质疑什么是计算元素、存储元素,以及这意味着什么类型的数据流可以很好地计算。”“人们正在学习如何有效地使用它来完成任务,在研究非常大规模的问题时,可以极大地改变时间尺度。”

得到统计
如果硬件在每次执行时不能提供相同的结果,或者结果的保真度是不确定的,这意味着软件必须变成统计的。Arteris的Frank说道:“我认为我们需要学习更多关于统计学的知识。“统计方法——随机化、模拟退火——和近似值已经被用于后端工具和验证有一段时间了,向前传播它们需要一些思考。将这些范例应用到“数字”电路中,在某种程度上让我感到类似于将逻辑转换回模拟表示。神经网络组件得出的结果可能需要某种类型的‘模拟’解释。”

这也需要重新思考编程技能。西门子EDA战略与业务发展高级经理阿努普•萨哈(Anoop Saha)表示:“虽然编程已成为一项基本技能,但它必须是一门101课程。”“然后需要将其专门用于各个领域。我们需要更多关于算法和数据科学的知识。统计学的思想和知识,以及数学建模和数据科学的思想,比机器学习更重要。”

结论
要达到计算的下一个平台,需要的不仅仅是微小的增量变化,而必须放弃的最基本的原则是决定论和保真度。这会影响硬件和软件。在这两者中,软件将受到最大的影响。这将限制它可以解决的问题的类型,直到必要的基础构建块已经到位。与此同时,绝大多数的计算需求必须通过对传统计算体系结构的增量更改来满足。



3评论

罗恩 说:

一家名为Neologic的公司正在开拓你提到的一些方向。

2美分 说:

是否需要确定性取决于应用程序。对于音频或图像处理,我们已经接受了几十年的无损处理。对于一般的数据库应用程序,错误是不可接受的。我希望我的银行交易无懈可击。
在任何级别(字、访问、事务等)上添加错误检测和更正的成本都可能大于收益。

罗恩Lavallee 说:

“向前发展需要从根本上重新思考逻辑。”也许它已经在这里等待被发现?“并行异步建模和执行的处理电路”允许在基板级进行大规模并行实验。它包括任务的动态排序,这可能会导致更确定性的结果通过过度采样?

留下回复


(注:此名称将公开显示)

Baidu