0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

模拟内存计算迎来挑战 解决边缘AI推理迫在眉睫

lyj159 来源:EEWORLD 作者:EEWORLD 2020-03-06 14:39 次阅读

机器学习深度学习已经成为我们生活中不可或缺的一部分。通过自然语言处理(NLP)、图像分类和对象检测人工智能AI)应用已经深入到我们许多设备中。大多数人工智能应用程序都是通过基于云的引擎提供服务,这些引擎可以很好地为它们的用途提供基础支持,比如在Gmail中输入电子邮件回复时获得单词预测。

尽管我们很享受这些人工智能应用所带来的好处,但这种方法也带来了隐私、功耗、延迟和成本方面的挑战。如果在数据起源处有一个本地处理引擎能够执行部分或全部计算(推理),则可以解决这些挑战。这在传统的数字神经网络实现中是很难做到的,在这种情况下,内存成为了耗电的瓶颈。这个问题可以通过多层内存和使用模拟内存计算方法来解决,这些计算方法可让处理引擎能够满足在网络边缘执行人工智能推断所需的更低的毫瓦到微瓦的功率要求。

云计算的挑战

当人工智能应用程序通过基于云的引擎提供服务时,用户必须上传一些数据到云中,由计算引擎处理数据,提供预测,并将预测发送到下游,供用户使用。

在这一进程中也有一些困难:

1.隐私和安全问题:对于始终在线的、感知的设备,人们担心个人数据在上传期间或在数据中心的存储期间被滥用。

2.不必要的功耗:如果每个数据位都被云计算占用,那么它就会消耗来自硬件、无线电、传输和云计算的能量。

3.小批量推理的延迟:如果数据来自边缘,则从基于云的系统获得响应可能需要一秒或更长的时间。对于人类的感官来说,任何超过100毫秒的延迟都是显而易见的。

4.数据经济:传感器无处不在,而且它们非常便宜;然而,他们产生了大量的数据。将所有数据上传到云端并进行处理似乎毫无经济可言。

通过使用本地处理引擎来解决这些挑战,执行推理操作的神经网络模型,首先要针对所需用例使用给定的数据集进行培训。通常,这需要高计算资源和浮点算术运算。因此,机器学习解决方案的训练部分仍然需要在公共或私有云(或本地GPUCPUFPGA场)上使用数据集完成,以生成最优的神经网络模型。一旦神经网络模型准备就绪,神经网络模型就不需要反向传播进行推理操作,因此该模型可以进一步针对具有小型计算引擎的本地硬件进行优化。一个推理引擎通常需要大量的多重累加(MAC)单元,然后是一个激活层,如整流线性单元(ReLU)、sigmoid或tanh,这取决于神经网络模型的复杂性和层之间的池化层。

大多数神经网络模型需要大量的MAC操作。例如,即使一个相对较小的“1.0 MobileNet-224”模型也有420万个参数(权重),需要5.69亿个MAC操作来执行推断。由于大多数模型由MAC操作主导,这里的重点将放在机器学习计算的这一部分,并探索创建更好的解决方案的机会。图2显示了简单的、完全连通的两层网络。

输入神经元(数据)使用第一层权值进行处理。第一层的输出神经元然后与第二层的权重进行处理,并提供预测(比如,该模型是否能够在给定的图像中找到一张猫脸)。这些神经网络模型使用“点积”来计算每一层的每一个神经元,如下式所示(为了简化,在方程中省略“偏差”项):

数字计算的内存瓶颈

在数字神经网络实现中,权值和输入的数据存储在DRAM/SRAM中。权重和输入数据需要移动到MAC引擎进行推理。如下图所示,这种方法在获取模型参数和将数据输入到实际MAC操作发生的算术逻辑单元(ALU)时消耗了大部分能量。

从能量的角度来看——一个典型的MAC操作使用数字逻辑门消耗大约250飞托焦耳(fJ,或10 - 15焦耳)的能量,但在数据传输过程中消耗的能量比计算本身要多两个数量级,大概在50皮焦耳(pJ,或10 - 12焦耳)到100pJ之间。

公平地说,有许多设计技术从内存到ALU的数据传输可以最小化;然而,整个数字方案仍然受到冯·诺依曼架构的限制——因此这为减少能源浪费提供了巨大的机会。如果执行MAC操作的能量可以从~100pJ降低到pJ的一个分数会是什么结果?

使用内存中的模拟计算消除内存瓶颈

当内存本身可以用来减少计算所需的功耗时,在边缘执行推理操作就变得非常省电。使用内存中的计算方法可以将必须移动的数据量最小化。这反过来又消除了数据传输过程中所浪费的能量。采用超低有功功率耗散、待机状态下几乎无能量耗散的闪速电池,也会进一步降低了系统的能量耗散。

这种方法的一个案例是来自Microchip公司的Silicon Storage Technology (SST) ——memBrain™技术。基于SST的SuperFlash®内存技术,解决方案包括一个内存计算架构,可以在存储推理模型的权重的地方进行计算。这消除了MAC计算中的内存瓶颈,因为权重没有数据移动——只有输入数据需要从输入传感器(如摄像头或麦克风)移动到内存阵列。

这个内存的概念基于两个因素:(a)模拟电流响应从一个晶体管是基于其阈值电压(Vt)和输入数据,和(b)基尔霍夫电流定律,即导体网络中在一点相接的电流的代数和为零。

理解基本的非易失性内存(NVM)位元组(bitcell)同等很重要,它被用在这种多层内存架构中。下图(图4)是两个ESF3(嵌入式SuperFlash第三代)位元的横截面,它们具有共享擦除门(EG)和源线(SL)。每个位元有五个终端:控制门(CG)、工作线(WL)、擦除门(EG)、源线(SL)和位线(BL)。擦除操作是通过在EG上施加高压来完成的。对WL、CG、BL、SL施加高/低电压偏置信号进行编程操作,对WL、CG、BL、SL施加低电压偏置信号进行读操作。

使用这种内存架构,用户可以通过细粒度的编程操作在不同的Vt级别上对内存位单元进行编程。该存储技术利用一种智能算法来调整存储单元的浮动门(FG) Vt,以实现输入电压的一定电流响应。根据最终应用的需要,我们可以在线性或阈下工作区域对单元进行编程。

下图演示了在内存单元上存储和读取多个级别的功能。假设我们试图在内存单元中存储一个2位整数值。对于这个场景,我们需要用2位整数值(00、01、10、11)的四个可能值中的一个对内存数组中的每个单元进行编程。下面的四条曲线是四种可能状态的IV曲线,电池的电流响应取决于施加在CG上的电压。

模拟内存计算迎来挑战 解决边缘AI推理迫在眉睫

使用内存计算的乘法累加操作

每个ESF3单元都可以建模为可变电导(gm)。电导的ESF3细胞取决于浮动栅Vt的编程细胞。将训练模型的权值编程为记忆单元的浮动门Vt,因此,单元的gm表示训练模型的权值。当输入电压(Vin)作用于ESF3电池时,输出电流(Iout)由公式Iout = gm * Vin给出,它是输入电压与储存在ESF3电池上的重量之间的乘法运算。

图6演示了一个小数组配置(2×2数组)中的乘法累加概念,其中累加操作是通过添加连接到同一列(例如I1 = I11 + I21)的输出电流来执行的。激活功能可以在ADC块内执行,也可以在内存块外的数字实现中执行,具体取决于应用程序。

模拟内存计算迎来挑战 解决边缘AI推理迫在眉睫

我们在更高的层次上进一步阐明这一概念——来自训练模型的单个权值被编程为内存单元的浮动门Vt,因此来自训练模型的每一层(假设是一个全连接层)的所有权值都可以在一个物理上看起来像权值矩阵的内存阵列上编程。

模拟内存计算迎来挑战 解决边缘AI推理迫在眉睫

对于推理操作,我们首先使用数模转换器DAC)将数字输入(比如图像像素)转换为模拟信号,并应用于内存阵列。然后,该阵列对给定的输入向量并行执行数千次MAC操作,并产生可进入相应神经元激活阶段的输出,然后使用模数转换器ADC)将其转换回数字信号。数字信号在进入下一层之前被处理成池。

这种类型的内存架构非常模块化和灵活。许多memBrain块可以被拼接在一起,用混合权重矩阵和神经元构建各种大型模型,如下图所示。在本例中,一个3×4的拼接配置是与各个拼接之间的模拟和数字结构缝合在一起的,数据可以通过共享总线从一个tile移动到另一个tile。

到目前为止,我们主要讨论了该体系结构的硅实现过程。软件开发工具包(SDK)的可用性(图9)有助于解决方案的部署。除了硅之外,SDK还促进了推理引擎的部署。

SDK与培训框架无关。用户可以在任何可用的框架(如TensorFlow、PyTorch或其他框架)中使用浮点计算创建神经网络模型。一旦创建,SDK帮助量化训练过的神经网络模型,并将其映射到内存数组中,在内存数组中,向量-矩阵乘法可以用来自传感器或计算机的输入向量进行。

结论

这种具有内存计算能力的多级内存方法的优点:

1.超低功耗:该技术专为低功耗应用而设计。

第一级的功耗优势来自于内存计算,因此在计算期间不会在数据和从SRAM/DRAM传输的权值中浪费能量。

第二个能量优势来自于闪存单元在亚阈值模式下运行,电流值非常低,所以有源功耗非常低。

第三个优点,由于非易失性存储单元不需要任何能量来保存数据,所以在待机模式下几乎没有能量消耗。该方法也非常适合于利用权值和输入数据的稀疏性。如果输入数据或权值为零,则不会激活内存位单元。

2.更低的封装引脚

该技术使用分裂门(1.5T)单元架构,而数字实现中的SRAM单元基于6T架构。此外,与6T SRAM单元相比,该单元要小得多。另外,一个电池可以存储4位整数值,而SRAM电池需要4*6 = 24个晶体管才能存储整数值。这提供了更小的芯片占用空间。

3.更低的开发成本

由于内存性能瓶颈和冯诺依曼架构的限制,许多专用设备(如Nvidia的Jetsen或谷歌的TPU)倾向于使用更小的几何图形来获得每瓦的性能,这是解决边缘AI计算挑战的一种昂贵方式。随着多级存储器方法使用模拟存储器上的计算方法,计算在闪存芯片上完成,因此可以使用更大的几何图形,并减少掩模成本和前置时间。

由此可看,边缘计算应用程序显示了巨大的潜力。然而,在边缘计算能够腾飞之前,还有一些功率和成本方面的挑战需要解决。通过使用在闪存单元中执行芯片上计算的内存方法,可以消除其中的主要障碍。这种方法利用了经过生产验证的、事实上标准类型的多级内存技术解决方案,该解决方案针对机器学习应用程序进行了优化。

Vipin Tiwari

延伸阅读——Microchip-SST神经形态存储解决方案memBrain

Microchip公司通过其硅存储技术(SST)子公司,通过其模拟存储器技术memBrain神经形态存储器解决方案降低功耗,从而应对这一挑战。

该公司的模拟闪存解决方案基于其Superflash技术并针对神经网络进行了优化以执行矢量矩阵乘法(VMM),通过模拟内存计算方法改善了VMM的系统架构实现,增强了边缘的AI推理。

由于当前的神经网络模型可能需要50M或更多的突触(权重)进行处理,因此为片外DRAM提供足够的带宽变得具有挑战性,从而造成神经网络计算的瓶颈和整体计算能力的提高。相比之下,memBrain解决方案将突触权重存储在片上浮动门中,从而显着改善系统延迟。与传统的基于数字DSP和SRAM / DRAM的方法相比,它可以降低10到20倍的功耗并降低整体BOM。

“ 随着汽车,工业和消费者市场的技术提供商继续为神经网络实施VMM,我们的架构可帮助这些前向解决方案实现功耗,成本和延迟优势, ”SST许可部门副总裁Mark Reiten表示。“ Microchip将继续为AI应用提供高度可靠和多功能的Superflash内存解决方案。“

今天的公司正在采用memBrain解决方案来提高边缘设备的ML容量。由于具有降低功耗的能力,这种模拟内存计算解决方案非常适合任何AI应用。

“ Microchip的memBrain解决方案为我们即将推出的模拟神经网络处理器提供超低功耗的内存计算, ” Syntiant公司首席执行官Kurt Busch 说道。 “ 我们与Microchip的合作继续为Syntiant提供许多关键优势,因为我们支持普遍的ML边缘设备中语音,图像和其他传感器模式的永远在线应用。“

SST展示了这种模拟存储器解决方案,并在FMS上展示了Microchip的基于memBrain产品区块阵列的架构。

池化层理解

池化层夹在连续的卷积层中间, 用于压缩数据和参数的量,减小过拟合。简而言之,如果输入是图像的话,那么池化层的最主要作用就是压缩图像。

池化层的作用:

1. invariance(不变性),这种不变性包括translation(平移),rotation(旋转),scale(尺度)

2. 保留主要的特征同时减少参数(降维,效果类似PCA)和计算量,防止过拟合,提高模型泛化能力

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 内存
    +关注

    关注

    8

    文章

    2759

    浏览量

    72682
  • AI
    AI
    +关注

    关注

    87

    文章

    26338

    浏览量

    263943
  • 机器学习
    +关注

    关注

    66

    文章

    8094

    浏览量

    130513
收藏 人收藏

    评论

    相关推荐

    英特尔发布全新边缘计算平台,解决AI边缘落地难题

    ,到2030年,至少一半的边缘计算部署将纳入AI。   英特尔全新商用边缘计算平台   英特尔认为,我们已经进入了
    的头像 发表于 03-12 09:06 2628次阅读

    什么是AI边缘计算AI边缘计算的特点和优势介绍

    随着人工智能的迅猛发展,AI边缘计算成为了热门话题。那么什么是AI边缘计算呢?简单来说,它是将人
    的头像 发表于 02-01 11:42 305次阅读

    边缘AI它到底是什么?能做什么?

    边缘,减少了数据的传输延迟和依赖云端的通信需求。边缘AI能够在接近数据源的设备上进行实时决策和推理,这为许多应用领域带来了革命性的改变。 边缘
    的头像 发表于 01-11 14:44 602次阅读

    算力强劲的AI边缘计算盒子# 边缘计算

    AI边缘计算
    成都华江信息
    发布于 :2023年11月24日 16:31:06

    什么是边缘计算盒子(AI算法盒子)?

    边缘计算盒子是一种基于边缘计算和人工智能技术的智能设备,它内置了灵活可配的多样化AI算法库,所以也被称为
    的头像 发表于 10-31 14:29 1199次阅读
    什么是<b class='flag-5'>边缘</b><b class='flag-5'>计算</b>盒子(<b class='flag-5'>AI</b>算法盒子)?

    华邦推出为边缘AI带来超高带宽内存的CUBE架构

    全球半导体存储解决方案领导厂商华邦电子今日宣布推出一项强大的内存赋能技术,可助力客户在主流应用场景中实现经济实惠的边缘 AI 计算
    的头像 发表于 09-27 10:49 1537次阅读

    华邦推出创新CUBE架构 为边缘AI带来超高带宽内存

    2023 年 9 月 27 日,中国,苏州 —— 全球半导体存储解决方案领导厂商华邦电子今日宣布推出一项强大的内存赋能技术,可助力客户在主流应用场景中实现经济实惠的边缘 AI 计算。华
    发表于 09-27 10:44 147次阅读
    华邦推出创新CUBE架构 为<b class='flag-5'>边缘</b><b class='flag-5'>AI</b>带来超高带宽<b class='flag-5'>内存</b>

    边缘计算ai技术是什么?

    边缘计算ai技术是什么? 边缘计算AI技术是指将人工智能技术应用于
    的头像 发表于 08-24 15:49 723次阅读

    AI边缘计算是什么意思?边缘ai是什么?AI边缘计算应用

    AI边缘计算是什么意思?边缘ai是什么?AI边缘
    的头像 发表于 08-24 15:18 1470次阅读

    YS-E3588|亿晟科技边缘计算主板介绍

    随着“中国制造2025”战略的提出,促进国家制造业转型升级的任务迫在眉睫,而制造业转型升级的本质是物联网、云计算边缘计算、大数据、人工智能等新一代信息技术与制造业的深度融合和产业落地
    的头像 发表于 06-09 10:48 516次阅读
    YS-E3588|亿晟科技<b class='flag-5'>边缘</b><b class='flag-5'>计算</b>主板介绍

    AI边缘计算盒子是如何推动边缘AI应用落地的

    AI边缘计算盒子(AI Edge Computing Box)是一种集成了边缘计算
    的头像 发表于 05-26 14:08 682次阅读

    AI系列边缘计算盒子

    边缘盒子产品是一款基于Arm+NPU架构的AI深度学习视频分析识别边缘计算终端设备,具有算法多、精度高、多算法同步 运行、业务适配能力强、算法扩展性好、支持liunx操作系统
    发表于 05-18 16:11 1次下载
    <b class='flag-5'>AI</b>系列<b class='flag-5'>边缘</b><b class='flag-5'>计算</b>盒子

    边缘计算AI入门

    ,他们的组 织将在未来 5 年内实施边缘计算。 Edge AI边缘计算AI 的结合,
    发表于 05-18 15:40 0次下载
    <b class='flag-5'>边缘</b><b class='flag-5'>计算</b><b class='flag-5'>AI</b>入门

    什么是边缘计算 边缘计算的优势

    您的应用程序是否会从边缘技术中受益。边缘计算可以为 IoT网络增加极大的灵活性、速 度和智能性,但重要的是要了解边缘 AI 设备并不是应对
    发表于 05-18 14:39 4次下载
    什么是<b class='flag-5'>边缘</b><b class='flag-5'>计算</b> <b class='flag-5'>边缘</b><b class='flag-5'>计算</b>的优势

    芯片制造的高互连线间距问题

    IBM 和三星开发了一种钌和气隙集成方案,解决了一个迫在眉睫的高互连线间距问题。
    发表于 04-25 11:15 1315次阅读
    芯片制造的高互连线间距问题