人工智能重塑芯片设计

技术增加了芯片粒度,但随着架构需要处理更大数据量,设计起点也变了。

作者 | ED SPERLING

来源 | semiengineering

编译 | 孙茜茜、张玺

随着架构师开始利用 AI 提高性能和降低功耗,并为未来芯片的开发、制造和更新奠定基础,人工智能也开始影响半导体设计。

人工智能机器学习深度学习可以极大改善芯片某项特定功能的控制和性能。架构师既可以基于现有设备进行分层设计,也可以整合到新设计中,以实现更多功能或某个特定功能。

人工智能技术带来很多好处,比如:

通过稀疏算法或数据压缩来改变特定函数精度,增加粒度,提高芯片性能和降低功耗。

识别数据模式而不是单个比特,有效提高计算的抽象性,增加软件密度。

允许以矩阵的形式执行处理和内存读/写操作,大大加快操作速度。

但是我们也需要好好反思如何在芯片上或者在芯片之间迁移(或不迁移)数据。毕竟,无论是用于边缘计算还是数据中心,训练还是推断,需要加以处理和存储的数据量都是最大的。

新起点

从好的方面来说,通过使用更多更低精度的元素,人工智能提供了一种平衡结果精度与准度的方法。比如,语音识别对精度的要求,远没有自动驾驶中安全应用与目标识别严苛。根据特定需要而展现的自适应能力,才是人工智能的价值所在。

与其说人工智能的起点是硬件和软件,不如说是数据的质量、数量和迁移。这需要用一种不同的方式来看待设计,包括过去通常没有合作的团队之间的协作。

「计算真的很便宜,压缩/解压数据也很便宜,但在内存中存储和加载数据却一点不便宜。要构建这些系统,需要特定领域的专家、机器学习专家、优化与性能专家,这三个领域的专家都需要。」Arm 研究员杰姆•戴维斯(Jem Davies)表示。

他指出,机器学习可以影响系统中的所有东西,其中很多东西隐藏在视线之外。「有些是用户看不见的,」戴维斯说,「它被用来延长电池寿命。相机里也有机器学习。」

采用神经形态计算和不同的内存架构,AI 效果最好,因为在这些情况下,数据可以进行矩阵处理。为达到最优工作状态,除了对处理器有要求外,还需要良好的系统架构、超大的数据吞吐量及内存变化过程中的数据对齐。

「许多架构改进是软硬件的结合,虽然不一定会提高单个处理器的整体性能,但会更节能,内存效率也更高。缩小一点,内存大小就能减半。」铿腾电子(Cadence)音频和语音 IP 产品市场总监 Gerard Andrews 表示。

实际上,这使得软件设计密度更高,并加速了数据在内存中的移动。「问题是,内存不会有效地收缩,单词识别的错误率正在上升,我们都在探索算法的稀疏性,以降低功耗、提高性能。」Andrews 说。

这仅仅是快速变革的皮毛。

「内存子系统中发生的变化是不连续的、突然的。这一切与延迟和带宽,以及如何满足芯片内外的庞大需求有关。由于需要大量数据管道,因此,我们开发了许多关于如何移动数据的架构。在此之前,你要考虑的是添加多少内存,如何高效使用内存。但是,现在要建造巨大的管道,较少地使用内存。」Achronix 的系统架构师 Kent Orthner 说。

尝试减少数据流量的新方法之一是脉冲神经网络。它们不是持续发射信号,而是以类似大脑峰值的方式发射信号。

脉冲神经网络是下一代神经网络。」BrainChip 营销和业务开发高级副总裁 Bob Beachler 说,「卷积使用线性代数。出现峰值时,数据以尖峰的形式输入。你可以通过尖峰进行训练,如果有很多尖峰,可以选择加强或抑制它们。对于专用于训练阈值的位,你可以用非常低的权重来做到这一点。」

据估计,约有 70 家人工智能初创公司正在研究不同办法。最重要的是,几乎所有主要的芯片制造商、IP(知识产权)供应商和工具公司都有涉足 AI 的某个方面。

数据压缩,资料来源:谷歌

人工智能的风险和困惑

但是,人工智能也存在一定的风险,这取决于应用程序和精确度。

过去,电子系统的设计是建立在完全可预测性的逻辑之上的,其中大部分是硬连线。人工智能用可接受行为的分布代替了计算精度,人们也在会议上讨论这对芯片设计意味着什么。目前尚不清楚的是,现有工具或方法提供的置信度能否满足设备需求,特别是在系统遭到破坏或退化的情况下,检测任何异常行为的速度如何。

对于如何应用人工智能,人们也有一定困惑。有专门为人工智能设计的芯片,以及一些不是专门为 AI 开发但可用于 AI 的芯片,对这些芯片进行修改和叠加后,就能更有效地利用人工智能

总的来说,这符合人工智能的主题,全行业都在争相以相同或更低功率来提升性能。根据摩尔定律,在 16/14 纳米工艺后,每个节点的能耗和性能的提高比例都下降到 20%,因此,大家都在寻找替代或补充的新方法。

对于针对 AI 训练或推理的芯片,或者芯片中发挥 AI 能力的处理器和加速器,人们的普遍共识是,不同量级的程序指令可能使用不同的芯片架构。但它不适用于所有情况,还有一些变量,比如训练数据的大小和价值,它们可能会使 AI 在某些应用程序中失效,而在其他情况下,性能提升 100 倍甚至被认为过于保守。

这就是人们要花很长时间才能把一些新架构推向市场的原因。随着芯片行业初见端倪,人们也在进行大量的架构探索和实验。

「应用程序和算法都面临挑战,处理器和内存芯片也面临挑战。」Synopsy 的战略营销经理 Ron Lowman 说:

「这使得对 AI 架构的探索变得更加重要,这也是 CCIX(缓存一致性互联加速器)变得如此流行的原因之一。探索新架构的客户越来越多。每个人都在尝试建立人脑仿生的新架构。

除此之外,有一些新的非易失性存储器技术正在开发中。还有一种趋势是,将更小的处理器置于较小的存储器旁边,有时,这种处理器会与针对不同数据类型、定制的新型加速器相关联。另外,还有很多关于数据压缩和量化的工作。

「人们正在研究从 32 位浮点数到 8 位浮点数,」Lowman 说,「现在的问题是,你是否能精确到单比特量化。」

量化涉及到将一大组输入值映射到一小组输出值,最大的问题是,什么是可接受的精度损失。

理论上,有了足够传感器或数据输入,就可将错误率的影响降到最低,但这非常依赖于应用程序。

沿着这些思路的另一种方法涉及到源代码同步,特别是针对数据中心的 AI 芯片,促使芯片的网络拓扑结构发生变化。网络中的所有目标都是接收相同的数据,较之广播,使用多播方法能更好地针对性使用数据。

「通过多播,可以向多个目的地发送一封邮件。」Arteris IP 的营销副总裁 Kurt Shuler 说,「它通常被用来做权重。好处是,你可以更好地利用片上网络带宽,因此路上的车也越来越少了。

AI 芯片有一个问题:它们往往非常大。「最大的问题是时钟树,」Shuler 说,「这需要同步通信,异步处理通信会占用很多空间。另外,大型芯片更容易出现路由堵塞。解决这个问题的方法是创建虚拟通道连接,减少线路数量并通过一组线路共享通信。这就需要通过仲裁来匹配数据流。」
芯片上的映射端口,资料来源:Arteris IP

计划性淘汰

这只是设计的一部分。另一方面,还要保持算法的时效性。

目前,深度学习算法还在定期更新,这会影响到 AI 芯片添加何种处理器。每一次变化,都可能对芯片内部数据迁移、以及处理这些数据的处理器造成影响。

CPU 和 GPU 具有软件可编程性,DSP 和 FPGA 具有固件/硬件可编程性。嵌入式 FPGA 将可编程性直接添加到 SoC 或多芯片包中。

处理器的选择也取决于终端市场的应用。例如,汽车或工业环境中的重要安全应用,也需要有足够通用性与反应性,以便与其他车辆或设备兼容。

「当我们讨论未来时,问题不在于它是否有效。」eSilicon 的创新高级主管 Carlos Macián 说,「TPU(张量处理单元)是一个开拓者,它表明性能可以得到数量级提高。但是对于新的工作负载,如果没有 ASIC 的优化,你可能只会提高 3 倍。」

前提是,假设数据是干净、有用的,这也是情况变得复杂的地方。

「AI 非常适用于处理非结构化的数据,」Macián 说,「如果你给出现在 Facebook 上的人打标签,你就知道这很适合人工智能。但它不是结构化数据。所以,AI 天生就不准确,有时它还是错的。」

并非所有事情都要面向未来。在一些市场,比如手机,消费者希望每隔几年就更换一次手机。在其他市场,电子产品被寄予厚望——全部的功能能够顺畅运行二十年之久。

提高数据质量是有帮助的,这有助于解释算法为何变化如此之快,也有助于解释为什么对于一些设备而言,现场升级的能力至关重要。但是,这些变化也会影响性能,如果不在硬件中添加一些可编程性,就无法解释这些变化。问题是,可编程性有多高,因为可编程逻辑明显慢于(软件)已调优的硬件。

结论

与其他许多成长型半导体市场不同,AI 是一种横向技术,可以应用于各种垂直市场,也可以用来为这些市场开发芯片,还可以用来提高现有芯片的效率。

这只是 AI 革命的开始,但其影响已经很大了。

随着设计团队越来越精通这项技术,这将对如何设计芯片、以及这些芯片如何与其他芯片交互产生重大影响,也会给工具开发人员、硬件开发人员、软件开发人员创造新的机会,也可能带来一个全新的市场。

原文链接:https://semiengineering.com/ai-begins-to-reshape-chip-design/


产业人工智能芯片
2
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

自动驾驶技术技术

从 20 世纪 80 年代首次成功演示以来(Dickmanns & Mysliwetz (1992); Dickmanns & Graefe (1988); Thorpe et al. (1988)),自动驾驶汽车领域已经取得了巨大进展。尽管有了这些进展,但在任意复杂环境中实现完全自动驾驶导航仍被认为还需要数十年的发展。原因有两个:首先,在复杂的动态环境中运行的自动驾驶系统需要人工智能归纳不可预测的情境,从而进行实时推论。第二,信息性决策需要准确的感知,目前大部分已有的计算机视觉系统有一定的错误率,这是自动驾驶导航所无法接受的。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

脉冲神经网络技术

第三代神经网络,脉冲神经网络(Spiking Neural Network,SNN),旨在弥合神经科学和机器学习之间的差距,使用最拟合生物神经元机制的模型来进行计算。脉冲神经网络与目前流行的神经网络和机器学习方法有着根本上的不同。SNN 使用脉冲——这是一种发生在时间点上的离散事件——而非常见的连续值。每个峰值由代表生物过程的微分方程表示出来,其中最重要的是神经元的膜电位。本质上,一旦神经元达到了某一电位,脉冲就会出现,随后达到电位的神经元会被重置。对此,最常见的模型是 Integrate-And-Fire(LIF)模型。此外,SNN 通常是稀疏连接的,并会利用特殊的网络拓扑。

边缘计算技术

边缘运算(英语:Edge computing),又译为边缘计算,是一种分散式运算的架构,将应用程序、数据资料与服务的运算,由网络中心节点,移往网络逻辑上的边缘节点来处理。边缘运算将原本完全由中心节点处理大型服务加以分解,切割成更小与更容易管理的部分,分散到边缘节点去处理。边缘节点更接近于用户终端装置,可以加快资料的处理与传送速度,减少延迟。在这种架构下,资料的分析与知识的产生,更接近于数据资料的来源,因此更适合处理大数据。

张量技术

张量是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数,这些线性关系的基本例子有内积、外积、线性映射以及笛卡儿积。其坐标在 维空间内,有 个分量的一种量,其中每个分量都是坐标的函数,而在坐标变换时,这些分量也依照某些规则作线性变换。称为该张量的秩或阶(与矩阵的秩和阶均无关系)。 在数学里,张量是一种几何实体,或者说广义上的“数量”。张量概念包括标量、矢量和线性算子。张量可以用坐标系统来表达,记作标量的数组,但它是定义为“不依赖于参照系的选择的”。张量在物理和工程学中很重要。例如在扩散张量成像中,表达器官对于水的在各个方向的微分透性的张量可以用来产生大脑的扫描图。工程上最重要的例子可能就是应力张量和应变张量了,它们都是二阶张量,对于一般线性材料他们之间的关系由一个四阶弹性张量来决定。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

大数据技术技术

大数据,又称为巨量资料,指的是传统数据处理应用软件不足以处理它们的大或复杂的数据集的术语。

语音识别技术

自动语音识别是一种将口头语音转换为实时可读文本的技术。自动语音识别也称为语音识别(Speech Recognition)或计算机语音识别(Computer Speech Recognition)。自动语音识别是一个多学科交叉的领域,它与声学、语音学、语言学、数字信号处理理论、信息论、计算机科学等众多学科紧密相连。由于语音信号的多样性和复杂性,目前的语音识别系统只能在一定的限制条件下获得满意的性能,或者说只能应用于某些特定的场合。自动语音识别在人工智能领域占据着极其重要的位置。

数据迁移技术

数据迁移(又称分级存储管理,hierarchical storage management,hsm)是一种将离线存储与在线存储融合的技术。它将高速、高容量的非在线存储设备作为磁盘设备的下一级设备,然后将磁盘中常用的 数据按指定的策略自动迁移到磁带库(简称带库)等二级大容量存储设备上。当需要使用这些数据时,分级存储系统会自动将这些数据从下一级存储设备调回到上一 级磁盘上。对于用户来说,上述数据迁移操作完全是透明的,只是在访问磁盘的速度上略有怠慢,而在逻辑磁盘的容量上明显感觉大大提高了。

神经形态计算技术

神经形态工程也称为神经形态计算,是Carver Mead在1980年代后期开发的一个概念,描述了使用包含电子模拟电路来模拟神经系统中存在的神经生物学结构的超大规模集成(VLSI)系统。 近来,神经形态(Neuromorphic)一词已被用于描述模拟、数字、混合模式模拟/数字VLSI以及实现神经系统模型(用于感知,运动控制或多感官集成)的软件系统。

摩尔定律技术

摩尔定律是由英特尔创始人之一戈登·摩尔提出来的。其内容为:积体电路上可容纳的电晶体数目,约每隔两年便会增加一倍;经常被引用的“18个月”,是由英特尔首席执行官大卫·豪斯所说:预计18个月会将芯片的性能提高一倍。

推荐文章
暂无评论
暂无评论~