行业专家指出,许多智能设备和物联网设备都是由某种形式的人工智能(AI)驱动的——无论是语音助理、面部识别摄像头,还是电脑。这些设备需要采用某种技术为它们进行的数据处理提供支持。有些设备需要在云平台的大型数据中心处理数据,而也有一些设备将通过本身的人工智能芯片进行处理。
那么什么是人工智能芯片?它与人们在智能设备中找到的其他芯片有何不同?以下将重点介绍人工智能芯片的重要性,用于不同应用的不同种类的人工智能芯片,以及在设备中使用人工智能芯片的好处。
一、为什么有些芯片不适用于人工智能
计算机技术在上世纪80年代开始兴起。这种技术扩展是由CPU(中央处理器)实现的,它执行程序中指令指定的基本算术、逻辑、控制和输入/输出操作。CPU是计算机的大脑。而英特尔公司和AMD公司是全球CPU行业领域的行业巨头。
当谈到CPU的发展时,则必须提到ARM,其芯片架构始于上世纪80年代推出的计算机中,但是直到移动计算、智能手机和平板电脑兴起之后才成为市场主导者。到年,98%的手机使用至少某种形式的ARM架构。而到年,全球生产了亿台采用ARM芯片的手机,而全球目前近60%的移动设备中都有基于ARM的芯片。ARM成为人工智能芯片领域的重要组成部分。
在上世纪90年代,实时3D图形在街机、计算机和游戏机中变得越来越普遍,这导致对硬件加速3D图形的需求不断增加。另一个硬件巨头NVIDIA公司借助专用于计算机图形和图像处理的图形处理单元(GPU)满足了这一需求。NVIDIA公司最近宣布以亿美元收购ARM公司。
二、人工智能处理单元
在人工智能处理方面,虽然GPU的表现通常比CPU更好,但并不完美。业界需要专用处理器来实现人工智能应用程序、建模和推理的高效处理。因此,芯片设计人员现在正在努力创建针对执行这些算法而优化的处理单元。这些单元有很多名称,例如NPU、TPU、DPU、SPU等,但是可以采用人工智能处理单元(AIPU)这个笼统的术语进行概述。
创建AIPU的目的是执行机器学习算法,通常是通过对预测模型(如人工神经网络)进行操作。由于这些过程通常独立执行,因此通常将它们分类为训练或推理。
人们已经在现实世界中看到了一些应用程序:
监视系统或区域免受网络攻击的威胁,例如涉及实时面部识别的安全系统(IP摄像头和门禁摄像头等)。与客户互动的零售行业或企业聊天机器人。语音助手的自然语言处理。三、人工智能处理器与GPU
有人可能会询问GPU是否已经能够执行人工智能模型?实际上,GPU确实具有一些便于处理人工智能模型的属性。
GPU可以处理2D甚至3D的图形,因此需要同时并行处理多个功能字符串。人工智能神经网络也需要并行处理,因为它们的节点分支很像动物大脑中的神经元。GPU在这方面做得很好。
但是,神经网络需要卷积,而这正是GPU难以胜任的地方。简而言之,GPU从根本上针对图形而不是神经网络进行优化,它们充其量只是替代品。
另一个需要考虑的重要因素是目前人工智能技术发展加快。世界各地的研究人员和计算机科学家正在不断地以指数级的速度提高人工智能和机器学习的功能,而CPU和GPU的进步已经跟不上这些技术的发展。
根据摩尔定律,集成电路(IC)中的晶体管数量大约每两年增加一倍。但是,摩尔定律正在逐渐消亡,已经无法跟上人工智能技术的发展步伐。
人工智能的加速最终将依赖于专门的人工智能加速器,例如AIPU。AIPU通常用于以下目的:
与GPU相比,将机器学习任务的计算速度提高了将近1万倍。低功耗,提高资源利用率。四、AISoC的组件
虽然AIPU构成了芯片上人工智能系统(SoC)的大脑,但它只是组成芯片的一系列复杂组件的一部分。以下将细分AISoC,与AIPU配对的组件以及它们如何协同工作。
1.NPU
如上所述,这是执行AISoC核心操作的神经处理单元或矩阵乘法引擎,需要指出的是,对于人工智能芯片制造商来说,这也是任何AISoC从所有其他AISoC中脱颖而出的关键。
2.控制器
控制器通常基于RISC-V(由加州大学伯克利分校设计)、ARM(由ARM公司设计)或自定义逻辑指令集架构(ISA),用于控制所有其他块和外部处理器并与之通信。
是否在本地进行控制是一个主要问题,需要回答“为什么要创建此芯片?在哪里使用这种芯片?以及由谁使用?”等问题,而芯片制造商在回答控制问题之前需要解答这些问题。
3.SRAM
这是用于存储模型或输出的本地存储器。可以将它想象成一个冰箱,尽管存储空间很小,但是可以非常快速方便地获取东西(在这种情况下是数据)或将它们放回去。在某些用例中,尤其是与边缘人工智能有关的情况下,处理速度至关重要,例如,当行人突然出现在路上时,自动驾驶汽车必须及时刹车。
芯片中包含多少SRAM取决于成本与性能。更大的SRAM存储池将会增加前期成本,但对DRAM的访问更少,所以从长远来看可以收回成本。
另一方面,规模较小的SRAM存储池具有较低的前期成本,但需要更多的DRAM内存。但是如果市场要求针对特定用例需要成本更低的芯片,则可能需要降低成本。
处理速度也是规模较大的SRAM存储池与规模较小的SRAM存储池之间的区别,就像内存影响计算机的性能以及满足性能需求的能力一样。
4.I/O
这些模块用于将SoC连接到SoC之外的组件,例如DRAM和外部处理器。这些接口对于AISoC最大化其潜在性能和应用程序至关重要,否则会造成瓶颈。因此,接口及其连接的对象(DRAM、外部处理器等)需要显示AISoC的潜在性能。
例如,DDR是DRAM的接口。因此,如果将SRAM想象成冰箱,那么可以将DRAM视为杂货店。它有更大的存储空间,但是要花费更多的时间去取回物品。
五、互连结构
互连结构是处理器(AIPU、控制器)和SoC上所有其他模块之间的连接。与I/O一样,互连结构对于提取AISoC的所有性能至关重要。通常情况下,只有在芯片内部无法识别互连结构的情况下,才会意识到这种情况。
无论处理器有多快,这些创新都只在互连结构能够保持正常运行且不会造成阻碍整体性能的延迟的情况下起作用,就像高速公路上没有足够的车道会在高峰时段造成交通拥堵一样。
所有这些组件都是人工智能芯片的关键部分。虽然不同的芯片可能有额外的组件,或者对这些组件的投资有不同的优先级,但这些基本组件以共生的方式协同工作,以确保人工智能芯片能够快速有效地处理人工智能模型。与CPU和GPU不同,AISoC的设计还远未成熟。这一部分的产业正在持续快速发展,人们将会看到AISoC设计方面的进步。
六、人工智能芯片及其用例
市场上有许多人工智能芯片,这些芯片的命名具体取决于设计公司。这些芯片在使用的模型和旨在加速的现实应用中都有不同的用例。
1.训练与推理
人工智能本质上是使用人工神经网络对人脑进行的模拟,人工神经网络旨在替代人们大脑中的生物神经网络。神经网络由大量节点组成,可以被调用以执行模型。
这就是人工智能芯片发挥作用的地方。人工智能芯片尤其擅长处理这些人工神经网络,并且被设计为对它们做两件事:训练和推理。
原始的神经网络最初是通过输入大量数据来开发和训练的。训练非常耗费计算资源,因此需要专注于训练的人工智能芯片,这些芯片旨在能够快速有效地处理这些数据。芯片功能越强大,网络学习的速度就越快。
一旦网络经过训练,它就需要为推理而设计的芯片,以便在现实世界中使用数据,比如面部识别、手势识别、自然语言处理、图像搜索、垃圾邮件过滤等。
可以将训练视为构建一个字典,而推理类似于查找单词并理解如何使用它们。这两者都是必要且共生的。
值得注意的是,为训练而设计的芯片也可以进行推理,但是推理芯片无法进行训练。
2.云计算与边缘计算
人们需要知道的人工智能芯片的另一方面是它是为云计算用例还是边缘计算用例设计的,而对于这些用例,人们是否需要采用推理芯片还是训练芯片。
云计算的可访问性非常有用,因为它的功能可以完全在场外使用。不需要采用设备上的芯片来处理这些用例中的推理,从而可以节省功耗和成本。但是,在隐私和安全性方面存在弊端,因为数据存储在可能被黑客入侵或处理不当的云计算服务器上。
对于推理用例,它的效率也可能较低,因为它不如边缘计算芯片那么专业。可在设备(例如面部识别摄像头)上找到可在边缘计算进行处理的芯片。它们比在云计算平台更私密、更安全,因为所有数据都存储在设备上,并且其芯片通常是为特定目的而设计的。例如,面部识别摄像头将使擅长运行设计模型的芯片用于面部识别。它们也有缺点,因为在设备中添加另一个芯片会增加成本和功耗。使用可以平衡成本和功耗的边缘人工智能芯片很重要,以确保该设备对于用户来说并不会太昂贵,或者不会过于耗电。
应用程序和芯片有以下配对方式:
3.云计算+训练
这种配对的目的是开发用于推理的人工智能模型。这些模型最终被细化为特定于用例的人工智能应用程序。这些芯片功能强大,运行成本高,其设计的目的是尽可能快地进行训练。
其系统示例包括NVIDIA的DGX-2系统,该系统总共具有2petaFLOPS的处理能力。它由16个NVIDIAVTensorCoreGPU组成。另一个例子是英特尔Habana的Gaudi芯片。
人们每天接触到的需要大量训练的应用程序的例子包括Facebook照片或谷歌翻译。随着这些模型的复杂性日益增加,云计算和培训市场将继续受到需要和
转载请注明:http://www.0431gb208.com/sjslczl/4789.html