中文 英语

内存计算加速器面临的挑战

关键是要用真正的设备来构建这些应用程序,因为应用程序必须正常工作。

受欢迎程度

内存计算(CIM)加速器不能简单地取代传统的逻辑。实际情况要复杂得多。

无论采用何种内存技术,加速器都重新定义了整个系统的延迟和能量消耗特征。当加速器是由有噪声的、低精度的计算元素构建时,情况变得更加复杂。

台湾国立清华大学的徐子祥和他的同事们提出了一个计算技术层次结构最大化边缘设备的能源效率。例如,一个安全摄像头可能有三种模式——移动检测、物体识别和人脸识别。

运动检测是一项低功耗任务,只需要极少的计算量。当需要更复杂的分析时,可以使用它来“唤醒”系统。一旦收到警报,系统可能会使用低分辨率的物体识别来判断移动是由于宠物、微风中吹起的窗帘还是人类。尽管如此,这种第一级的分析可能在相机内置的神经网络的能力范围内,但精度权重较低。

只有在检测到人的情况下,才需要高分辨率面部识别来识别此人是否获得授权。面部识别可能需要一台功能更强大的计算机,无论是在本地还是在远程数据中心。但在图像驱动应用中,研究人员发现,从相机到后端处理器的数据传输占了能源消耗的大部分。

在本地进行初始目标识别可以大大降低整体能源成本。对象识别任务可以使用静态权重,这些权重可以使用训练数据库开发,并在设备初始化时写入。持久性和编程精度是重要的问题ReRAM基于加速器,和静态权重减少这两个问题。密歇根大学的王启文及其同事特别指出write-verify方案如果权重很少变化,则确认编程ReRAM值的准确性更容易实现。另一方面,面部识别权重可能需要更新,例如增加或删除员工,或者允许每个家庭定义自己的授权访客。虽然动态权重可以与CIM设计一起使用,但它们与某些设备技术比其他技术更兼容。更成熟的内存元素,如DRAM和闪存,通常具有更好的续航能力和更准确的存储值。

加速器和精度
使用较低的精度权重会带来效率优势,但IBM研究院的Tayfun Gokmen和同事们观察到,任何加速器都必须使用降低精度计算。模拟/数字转换器,甚至存储阵列本身,都使用有限数量的比特。通过超级计算机上的训练算法计算到全浮点精度的权重,对于局部推理任务,可以减少到只有4或5位,有时更少。甚至单位二进制权重能完成简单的任务。

然而,训练过程必须考虑目标设计实际可用的比特数。IBM团队发现,当用浮点算法训练模型时,即使是9位adc也会出现错误。当使用低精度训练时,7位ADC的结果与浮点模型相当。

类似地,基于非理想设备(如ReRAMs)的加速器必须考虑噪声和编程错误。麻省理工学院的Tien-Ju Yang和Vivienne Sze将非理想记忆行为建模为噪声,并比较了13种不同网络设计的反应。虽然大多数设计可以容忍一定数量的噪音,但它们没有发现明显的联系吗模型在理想条件下的精度和它的噪声容忍度之间。“最佳”和“最差”网络随应用噪声的标准偏差而变化。在网络设计中,设计者必须考虑目标硬件的真实的、非理想的行为。

非理想设备引入了许多潜在的问题,首先是计算的权重和实际写入内存元素的权重可能不相同。ReRAM设备往往具有可变开关特性.给定的电压脉冲(或多个脉冲)不一定会在每个设备中存储相同的值。一旦知道了实际设备的特性,重新计算预先确定的权重是昂贵的。在某些情况下,原始训练数据可能是专有的或无法访问的,并且调整权重以适应关于网络特征的新信息可能是不可能的。验证实际存储的权重值的机制可以弥补写入步骤中的不准确性。

其他变化的来源是ReRAM设备的物理特性所固有的。例如,密歇根大学的研究小组指出,通常情况下,ReRAM内存元素的“零”值被分配到高电阻状态。该元素仍将传递电流。它有很高的电阻,但不是真正的开路。假设真零值的设计将累积潜在的大错误,但支持reram的设计可以完全避免这个问题。他们使用了一对设备,并将权重映射到它们之间的差异,以获得比相对于某个“零”点定义权重更好的结果。

针对现有硬件进行设计
降低精度通常被认为是提高传统系统和CIM系统计算效率的一种方法。不过,重要的是要记住,最终由应用程序定义所需的精度。最重要的是,应用程序必须正常工作。为了确保这一点,实际系统的设计人员需要针对真实的硬件进行设计,而不是理想化的模型。

有关的故事
内存内计算加速器的上端网络设计权衡
随着更多的数据需要更快地处理,计算范式发生了变化。
扩展内存计算加速器
新的研究指出了后冯·诺伊曼时代的进步和问题。
内存计算知识中心
头条新闻,特别报道,视频和更多关于内存计算
内存计算
为什么这种方法在今天如此有趣,以及它真正需要什么。
内存处理工作吗?
绕过冯·诺依曼架构的改变可能是低功耗ML硬件的关键。
提高内存
是否可以关闭处理器/内存瓶颈,或者是否需要重新架构应用程序以避免它?



1评论

弗雷德里克·陈 说:

ECC与Flash一起使用以防止错误,DRAM也不需要容错。因此,它有望用于ReRAM, MRAM等。也许在某种程度上,即使是CIM也需要这样做,例如,https://projet.liris.cnrs.fr/imagine/pub/proceedings/ICPR-2010/data/4109e291.pdf

留下回复


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

Baidu