AI加速器:AI算法运算与应用加速引擎

文章来源:FPGA算法工程师

前言
当前,AI正在快速渗透到我们的学习、工作和生活中,深刻改变着社会发展模式,朝着更加智能和便捷的方向发展。

当我们应用AI聊天机器人、AI大模型时,这背后需要足够的算力支撑,本文就来聊聊背后的AI硬件设备的底层逻辑,通过复杂的底层运输展现出强大的应用服务。

1. AI加速器
智能技术和智能社会是这一时代的需求。人工智能(AI)和深度学习(DL)算法在满足这些需求以实现智能世界和智能系统的期望方面发挥着至关重要的作用。计算能力的提升、传感器数据的增加以及改进的AI算法正在推动基于云和边缘的智能的机器学习(ML)趋势。这些技术都可以通过智能设备、可穿戴电子产品、智能手机、汽车、机器人、无人机等应用。然而,高效的硬件能够单独实现执行这些算法所需的性能。因此,AI加速器是电路与系统设计师以及学术界的前沿研究领域。为了满足计算密集型AI应用的无尽需求,需要AI加速器。

通常,有四个研究领域促使了对 AI 加速器的需求(如图 1 所示)。神经科学提出了人类大脑如何获得智能的想法。AI 研究人员试图模仿这些想法来开发 AI 算法,将智能实现到机器中。网络物理系统(CPS)或智能系统的研究人员尝试将这些创新应用于创造智能社会的解决方案。这些解决方案可能基于软件,也可能基于一些可穿戴设备。无论如何,要在实际应用中实现这些创新,本质上需要高效的硬件。因此,AI 加速器是 AI 研究领域一个备受关注的研究方向。

图1 发展高效AI加速器的主要研究领域

设备端AI是另一种新兴的系统级芯片(SoC)技术,它让包括汽车、高清(HD)摄像头、智能手机、可穿戴设备以及其他物联网(IoT)设备在内的联网设备变得更智能、更快速。设备端的热门应用包括面部检测、物体检测与跟踪、姿态检测、语言识别等。此外,由于设备端推理的延迟更低且隐私性更强,因此它比基于云的模式更受欢迎。然而,在小型设备上执行这些计算密集型任务更具挑战性,因为这些设备缺乏计算能力和能耗较高。此外,全球疫情促使人们建立一种“新常态”,这要求在许多领域加快数字化转型。例如数字经济、数字金融、数字政府、数字健康、数字教育等。实际上,数字平台和数字解决方案的多项举措已经存在。AI和SoC已经将这些可能性变为现实。

此外,设备端人工智能能够实现即时响应、增强可靠性、提高隐私保护水平,并能有效利用网络带宽,支持从超越人类的计算机视觉和自然语言处理到无线连接、电源管理、摄影等众多功能。然而,智能系统的算法优势是通过极高的计算能力和内存实现的,简而言之,就是依靠高性能的硬件。在设计能够无缝执行最先进的 AI 和 ML 算法的合适硬件平台方面带来了巨大的挑战。此外,此类设备还应具有更低的延迟、更高的可靠性和保护用户隐私的能力。因此,为了满足这些永无止境的需求,仍需要在设备上配备 AI 加速器。

此外,交通运输领域的自动化对于满足日益增长的城市化和交通需求也至关重要。人工智能将智能交通系统(ITS)提升到了新的水平,即高驾驶自动化(4 级)和完全驾驶自动化(5 级)。然而,在将 4 级及更高级别的自动驾驶汽车(AV)引入现实世界的过程中存在各种障碍。此外,还需要识别机制和相应的备用系统,以便在这些自动驾驶汽车遇到不正常情况时提供应对措施。例如,人类与非人类的区分、交通标志和交通手势识别、车内监控、个人隐私保护、嫌疑人识别、恶劣天气条件、道路损坏、跨越障碍物检测等。

2. AI概述
人工智能(AI)是一种在设备、机器、软件、硬件等中引入智能的技术。它是覆盖机器学习(ML)和受大脑启发的方法(如脉冲神经元、神经网络(NN)和深度学习(DL)技术,如图2所示)的庞大范畴。随着机器学习和深度学习算法的最新研究与开发,人工智能正在持续增长。深度神经网络(DNN)在各种认知任务上超越了人类。一些人工智能表现优于人类的著名例子包括艺术和风格模仿、图像和物体识别、预测、视频游戏、语音生成与识别、网站设计修改等。

图 2 人工智能的覆盖范围

它使机器具备了智能。神经科学推动了这一发展。神经科学家的思想和发现已经被纳入人工智能方法,以开发受大脑启发的算法。人工神经网络(ANN)、脉冲神经网络(SNN)和深度学习(DL)是一些典型的例子。

ML是一种让机器学习解决问题技能的方法。一个机器学习模型必须经历两个阶段:训练和推理。在训练阶段,机器学习模型试图学习技能,而推理阶段它则进行实际预测。机器学习算法进一步被细分为四个更广泛的类别:监督学习、半监督学习、无监督学习和强化学习(图3显示了相同内容)

图3 机器学习

监督学习:使用带标签的数据集来训练算法。在训练过程中,模型尝试识别具有相同标签的元素的特征或特性,并使用这些特征在推理时将给定的输入分类到适当的类别中。

半监督学习:在一种情况下,存在包含少量已标注样本以及其余样本未被标注的数据集。利用少量已标注的数据集,半监督学习方法会尝试为更多的未标注数据集进行伪标注。此外,使用已标注和伪标注的数据集来训练机器学习模型。该算法应当能够通过所学习的特征来预测新的样本。

无监督学习:当没有明确的类别或已有的标签时,它可用于对各项进行聚类。这种方法旨在学习数据集中样本之间的现有相似性,并根据其相似性特征对数据集进行聚类。

强化学习:在这一类机器学习算法中,并不存在任何数据集。一个智能体试图在模拟环境中找到最佳策略以达成目标。智能体在与所述环境互动的过程中会获得奖励。奖励可以是积极的,表示正确决策;也可以是消极的,表示因错误行为或动作而受到的惩罚。奖励机制有助于智能体找到最佳策略,从而做出最佳行动。

3. AI应用
工业界和学术界以各种形式应用了AI技术。许多应用都以某种方式涉及到了AI技术。图 4 展示了AI已得到严格应用的领域。在航空航天领域,它用于商业飞行自动驾驶、天气监测等。在体育领域,涉及可穿戴技术、智能票务、自动视频精彩片段以及各种基于计算机视觉的应用。移动(智能手机)手机通过应用AI来提高其应用的智能化程度。同样,工作场所、娱乐、酒店、媒体、游戏、教育、包括零售和在线购物在内的商业中心、交通、银行和金融、政府和政治、活动、保险、网络安全、智能家居、国防、社交网络、房地产、农业、医疗保健等都以各种形式使用了AI技术。

图4 AI的多方面应用

AI的一些热门领域包括:

计算机视觉(CV):它在机器视觉、视频/图像识别等方面有进一步的细分。

机器学习(ML):在监督学习、半监督学习、无监督学习和强化学习中进行。

自然语言处理(NLP):聊天机器人、分类、内容生成以及内容/语义识别是涉及NLP的典型应用。

专家系统:它是一种基于知识的系统。它们旨在通过知识推理解决专业领域的复杂问题,以模拟人类专家的决策能力。

推荐引擎:它利用数据过滤工具向个人推荐最相关的项目。Netflix、YouTube、Amazon 等都是典型的推荐系统例子。

机器人:机器人应该复制人类动作,而人工智能使它们能够获得这种无缝的复制。

语音:人工智能驱动的语音识别提供了将语音转换为文本或将文本转换为语音的功能。

4. AI算法
对AI算法在工业应用中的实现需求日益增加。基于深度学习的人工智能算法通常遵循训练和推理的趋势,如图5所示。

图5 AI算法训练和推理的示意图

传感器是人工智能系统的端点,为训练和推理提供所需的数据库。训练和推理可以托管在云端,也可以在板上、芯片上或边缘设备上实现。深度学习模型应通过从训练期间可用的数据库中提取信息来学习技能或特征。训练数据集通常是有标签的。因此,人工智能算法在“前向”传递过程中通过调整与相应神经元和连接相关的权重和偏置来尝试识别特征/模式。在“反向”传递过程中,通过计算误差来更新这些权重和偏置。卷积神经网络(CNN)用于深度学习算法。图6说明了典型CNN的概念。输入图像的特征通过使用卷积核(滤波器)层、池化层以及应用激活函数(也称为传递函数,例如线性整流单元(ReLU)等)来提取。

图6 CNN示意图

Output (width) = ⌊ (Input (width) + 2 × (padding) − filter (width))/stride+1⌋ (1)

Output (height) = ⌊ (Input (height)+2 × (padding)−Filter(height))/stride+1⌋.(2)

图 7中描述了卷积层在训练和推理中的前向和反向传播,以及乘加(MAC)操作。

图7 CNN的简要说明

在前向传播中,核权重 (W) 对输入进行卷积,并加上相应的偏置 (b),以在第 l 层的激活之前生成中间输出 (u)。激活函数在前向传播和反向传播中表示为 (f)。前向传播和反向传播分别由 (3) 和 (4) 定义,如下所示:

Forwardpropagation :−
Intermediary output : ul = (Wl) × (dl-1) + (bl-1).

Final output : dl = f (ul). (3)

Backward propagation :−
Error for the previous layer (l − 1)th layer : δl−1 = (Wl)T × (δl) × f′(ul).

Weight gradient of the lth layer :∇Wl = f (ul).
Bias gradient of the lth layer :∇bl = δl. (4)

正向传播和反向传播在硬件上使用寄存器、乘法器和加法器实现,如图7所示,在七个时钟周期(T1到T7)内完成。层间并行性通过在同一时间周期内引入并行性来说明计算加速。

智能机器的概念早在20世纪40年代就已经提出。图8展示了一些突破性算法的时间线,以及人工智能的两次寒冬(在深度神经网络,即深度学习之前)。著名组合麦卡洛克(McCulloch)和皮茨(Pitts)引入了一种电子大脑。它学习了诸如 AND、OR 和 NOT 操作的基本逻辑函数。罗森布拉特(Rosenblatt)引入了“感知器”,它可以模拟这些逻辑操作。

同样地,ADALINE 在 1960 年被引入,具备可学习的权重和阈值能力。1969 年,XOR 问题引发了AI研究的第一次寒冬。尽管它导致了AI研究的停滞,但也促使对高效算法的需求。因此,它可以被视为AI研究中的一种软件(算法)需求。研究人员一直在寻找解决XOR 和非线性问题的方法。Rumelhart 等人通过多层感知器学习(MLP)解决了经典的 XOR 问题。然而,由于 MLP 模型在处理复杂问题时需要大量计算,这又引发了AI的另一次寒冬。这第二次AI寒冬再次减缓了人工智能研究的进展,但也促使了对高效计算系统的需求。因此,它可以被视为AI研究中的一种硬件(加速器)需求。

图 8 AI方法时间轴

由于AI经历了两次寒冬,AI的研究达到了伪科学的状态。幸运的是,一些研究人员持续进行AI和深度学习的研究,这在很大程度上维持了AI的进展。1995年,Cortes和Vapnik开发了支持向量机(SVM)。这是一个用于映射和识别相似数据的系统。1997年,Hochreiter等人开发了用于循环神经网络的长短期记忆(LSTM)。人工智能研究在1999年随着图形处理单元(GPU)的快速处理的开始而受到冲击。它使图像和图形的计算速度提高了数倍。因此,随着GPU和更大数据集的出现,AI研究在2000年代初重新获得动力。2006年,Hinton等人显著提升了他们在深度学习方面的研究,以确保其对未来AI研究的潜力和成果。

此外,开发诸如 Theano、Torch、Caffe、TensorFlow、PyTorch 等开源且灵活的软件平台,为当前的AI研究提供了必要的推动力。因此,后来引入了更先进的AI算法。图 9 给出了在深度学习中使用的部分流行的AI算法的时间线。

图9 流行深度学习算法的时间线

通常有两种方法来衡量人工智能算法的准确性。一种是Top-1准确率,另一种是Top-5准确率。在表1中,Top-1和Top-5准确率表示模型在ImageNet验证数据集上的性能。Depth表示网络的拓扑深度,包括卷积层、池化层、激活层、批归一化层等。Top-1准确率是传统的准确率版本,它只考虑概率最高的单一类别。Top-5准确率使用前五个类别而不是单一类别。例如:对于一张蓝莓的图片,人工智能算法预测的概率如下:樱桃:0.35%;覆盆子:0.25%;蓝莓:0.2%;草莓:0.1%;苹果:0.06%;橘子:0.04%。根据Top-1准确率的测量,预测(樱桃:0.35%)是错误的。然而,根据Top-5准确率的测量,预测是正确的,因为蓝莓仍然位于五个概率最高的类别中。

表1:几种主流AI模型的大小、准确率、参数量与深度对比

在开发出高效的AI方法后,出现了多种将机器的智能转化为增强智能的应用。换句话说,目前人工智能正在增强设备的智能。因此,边缘设备上的AI和设备内的AI一直在展现出巨大的发展。在AI研究的另一个领域,特别是在未见环境和场景方面,主动学习和联邦学习方法发挥了重要作用。图 10 展示了主动学习和联邦学习方法的基本组成部分。主动学习(也称为“查询学习”或有时称为“最优实验设计”)是一种半监督学习的形式。在这里,主动意味着人工智能模型的持续学习。

图10 主动学习和联邦学习方法的基本模块

在语音识别、信息抽取、分类、过滤等多种复杂任务中,获取带标签的实例通常既复杂又耗时,或者成本较高。主动学习(AL)提供了一种自我标注的方法,并且常用于这些问题中。主动学习会选择最不确定的未标注样本(查询)由人类(专家)进行标注,并迭代地标注剩余的类似数据。主动学习的关键特征是好奇心,这也是它在较少标注实例下仍能获得更高准确率的原因。在主动学习循环中,有四个方面:训练、查询、标注和追加。在主动学习循环中,“训练”是指在带标签的数据集上训练模型。“查询”是使用某种获取函数从数据集中选择未标注的样本。“标注”是指由oracle(主题专家)对选中的样本进行标注。最后,“追加”是将新标注的样本添加到训练数据集中。

基于人工智能的主动学习(AL)架构通常会比较未标注数据集的预测置信度,并据此决定是否向专家(例如人类)咨询。根据预测置信度,未标注的数据集会被添加到标注数据集中,以便用于进一步训练。因此,“查询”是基于人工智能的主动学习架构中一个重要的任务。另一个重要任务是“标注”,这由专家完成。那么,谁应该是专家呢?专家应该是主题领域专家(SME)。因此,根据查询的不同,最好利用来自不同来源的多样化知识。

联邦学习(FL)是机器学习中的一种去中心化方法,由谷歌在文献中提出。它使人工智能模型能够从位于不同地点的不同数据集处获取多种经验。这些地点可能是本地数据中心或中央服务器。无需与主要中央服务器共享训练数据。它基于迭代模型平均。因此,它具有保护个体用户隐私的内在潜力。杨等人进一步将联邦学习分为水平联邦学习、垂直联邦学习和联邦迁移学习。他们根据特征和样本空间中各种参与者的数据划分对联邦学习进行了分类。李等人介绍了联邦学习的挑战、方法和未来方向。张等人对联邦学习的最新发展和研究进行了调查。在他们的调查中,他们考虑了五个方面:数据划分、隐私机制、机器学习模型、通信架构和系统异构性,以总结现有联邦学习的特点并分析其当前应用。

各种市场调查机构和专家都预测,这种增强技术的发展趋势未来将朝着人类增强的方向发展。Yole Développement 在图 11 中描绘了一条通往增强智能的道路。与人类一样,在机器中,智能增强的主要领域包括音频、视觉、嗅觉和运动感应。自 20 世纪 90 年代个人电脑(PC)问世以来,机器中的智能就已经被嵌入其中。图形卡和图形处理单元变得更加先进,将手机变成了智能手机。深度学习算法和高效的硬件帮助开发出了像 Siri、Alexa、Cortana 等智能助手。与此同时,监控互联网协议(IP)摄像头、虚拟个人助手、智能可穿戴设备(如智能手表)等也有了发展。在 2017 年基于系统级芯片的神经处理单元出现后,人工智能已经融入电子设备中,使它们变得更加智能。2020 年,我们见证了智能摄像头、功能更强大的增强型虚拟个人助手、具有吸引人特性的智能可穿戴设备以及更智能的消费者产品。电子设备、智能家居等等。很快,我们将目睹更多智能化的产品,比如陪伴机器人、智能家居、用于气味识别的电子嗅探器等等。预计到 2040 年,人类自身将实现智能化的提升,即不再是目前所展示的简单机器人,而是“增强型人类”。

图11 增强智能的路线图

如此巨大的发展体现在高效的AI算法与兼容的AI硬件的融合中。然而,对未来研究领域(AI算法和硬件)的持续扩展仍有需求。图12展示了在训练和推理中对人工智能算法和硬件的这种需求。

图12 AI算法和AI加速器在训练和推理中的需求

可扩展结构、存储层次、数据流架构和网络优化是人工智能近期的研究领域。神经计算、模拟计算和量子计算正在成为未来人工智能处理的研究方向。

参考:

1.Ashutosh Mishra ,Jaekwang Cha,Hyunbin Park ,Shiho Kim. Artificial Intelligence and Hardware Accelerators