中文 英语

内存计算挑战成为焦点

研究人员在von neumann瓶颈周围挖掘道路。

人气

在过去的几十年里,计算性能的提高来自于更快地处理更大容量的数据和更高的精度。

内存和存储空间现在用千兆字节和兆兆字节来衡量,而不是千字节和兆字节。处理器在64位而不是8位的数据块上运行。然而,半导体行业创造和收集高质量数据的能力增长速度快于分析数据的能力。

一方面,互联网和物联网正在驾驶数据爆炸。在Leti设备的演示文稿中(将侧面活动到12月IEEE电子设备会议),Hewlett Packard Labs的研究科学家指出,Facebook用户单独共同生成4个PEGABYTES(1 PETABYTE = 1015字节)每天的数据。

现实的数字捕获 - 通过传感器,相机和所有其余的 - 产生更多。单个自主车辆每天可能会收集4 TB数据,未来一个大城市可能有数百万。仅仅捕获和上传到中央数据中心所需的能量和带宽是惊人的。

神经网络和冯·诺依曼瓶颈
与此同时,对如此庞大的数据集的很多分析都落到了神经网络的肩上。

神经网络通过计算矩阵乘积和和工作。将数据矩阵加载到一个数组中,每个元素乘以预先确定的权重。在大多数情况下,结果被传递到网络的下一层,并乘以一组新的权值。经过几个这样的步骤,结果是一个关于数据是什么的结论。这可能是一只猫的图像,一种可疑的行为模式,或一种特殊的电活动。

在培训阶段,将网络的结论与先前已知的“正确”答案进行比较。然后,称为反向传播的过程使用预测和正确值之间的差异来调整向上或向下的每层网络中的每倍重量。

从概念上讲,这种方法非常简单。但实际上,数据集非常庞大,而且计算步数是巨大的。ImageNet图像分类基准测试的最佳表现者使用具有6000万个参数的8层神经网络。通过算法的一个图像需要20亿个操作。

对于网络的每层,现有权重和每个训练示例的元素都被加载到处理器的寄存器中,乘以向内存写入的结果。性能瓶颈不是计算,而是处理器和存储器阵列之间的带宽。存储器和处理器之间的这种分离是Von Neumann架构的定义特征之一,并且存在于几乎所有现代计算系统中。

大数据集的组合,带宽约束的机器学习工作负载以及丹尼德缩放的结束是将工业基准从原始计算性能转移到计算效率。对于特定的任务,硅房地产,功耗和计算精度的最佳平衡是什么?

低精度,模拟内存,精度高
在一个IEDM推介会IBM Research Almaden副总裁兼实验室主任Jeff Welser指出,神经网络计算通常不需要高计算精度。16位计算块使用等效的32位块所需的四分之一的电路房地产,并将所需的数据量切成两半。即使使用传统架构,降低的精度算术都可以显着提高计算效率。

克服内存瓶颈的需要也正在推动更多的基础计算内存架构。在这种架构的最简单视图中,预定的权重存储在非易失性存储器元件阵列中。输入数据已加载在内存字线上,并求出来自各个单元格的电流。

究竟如何在硬件中实现这样的方案是持续研究的主题。已经提出了数字和模拟解决方案。例如,数字阵列可以从闪存元件组装。明尼苏达大学的研究人员展示了CMOS兼容的EFLASH存储器单元,在控制门和通道之间的浮栅上存储电荷。在这样的阵列中,可以通过良好的集成电路设计精确地控制特定权重值和它们改变的速率(学习率)。这种方法是吸引人的,因为它取决于成熟,良好的组件技术。

然而,机器学习应用中的许多数据本质上是模拟的。斯坦福大学和加州大学伯克利分校的研究员郑鑫(音译)及其同事观察到的通过使用像RRAM这样的存储元件,可以避免模数和数模和模拟转换 - 以及它们的相关能耗和硅足迹,该元素是固有的存储模拟值。但是当前可用的模拟存储元素介绍了一系列新挑战。

当数字元件处于开或关状态时,模拟元件可以具有一定的数值范围。由给定信号存储的值这取决于设备的属性。在丝状RRAM中,电阻在装置的端子之间形成导电细丝。一系列弱的编程脉冲可能会产生虚弱的长丝,而强烈的脉冲将产生更强大的脉冲。因此,存储给定值所需的脉冲的强度和数量取决于长丝形成的动力学。学习率取决于阻力状态与从一个状态移动所需的脉冲数之间的分离。

对于推理任务,可以使用传统CMOS逻辑计算权重,然后存储在RRAM数组中。使用给定数量的编程脉冲实现的精确值可能因设备而异,但仿真表明,面对此类变化,总体精度是稳健的。然而,对于学习任务,当修正通过网络向后传播时,个体的权重需要向上和向下调整。不幸的是,当前的RRAM设备通常对SET和RESET脉冲有不对称的响应。简单地改变编程脉冲的符号不会产生相反方向的相等调整。这种不对称性是学习任务在记忆中执行的一个主要问题。

耐力,稳定性和可重复性
如上所述,学习任务也是需要大量数据权重更新的数量非常高,大约在10的数量级5.10.7.根据清华大学的研究生据梅兰赵的说法。为传统存储应用而设计的RRAM阵列的测试将设备寿命放在同一范围内。但是,数据存储应用程序需要数字值 - 设备在打开或关闭 - 并且通常使用足够强大的集合和复位脉冲来创建或移除强大的导电灯丝。如果使用弱脉冲,则赵的小组表明,在10多个以上,模拟切换不会失败11更新脉冲,虽然学习精度下降到10以上9.更新脉冲。

还需要大量的训练周期威胁到稳定存储权重值。在RRAM设备中,灯丝的电导率由浓度氧气空位灯丝内部体积。这种浓度反过来由施加的电压脉冲控制。然而,不可能精确地控制个别空缺的位置。当它们在器件内迁移时,无论是在电压梯度的影响下还是在热激发后,确切的电阻都会发生变化。

替代的非易失性记忆,电化学ram.,寻求解决丝状RRAM的局限性。虽然RRAM是双终端设备,但ECRAM是三端设备。施加到第三终端的电压控制离子的插入来自脂质电解质层到WO中3.导体。电阻取决于氧化还原反应,其可以在on和截止方向上精确且可重复地控制。

除了神经网络
虽然卷积神经网络是最常见的机器学习技术,但它不一定是最好的。新出现的存储器设备的非线性,概率行为对于某些算法来说是一个挑战,但这可能是其他算法的优势。

生成的对抗网络例如,使用一个神经网络为另一个神经网络生成测试示例。当它可以区分真实数据和由“生成器”网络生成的示例时,“鉴别器”网络是成功的。因此,例如,鉴别器网络可能会学会通过示出由发电机网络创建的一组非小狗图像来识别小狗的照片。生成的对抗网络算法的一个挑战是生成测试示例,该测试示例涵盖了全部兴趣的世界局势。“模式丢弃”其中,其中RRAM网络中固有的随机性可能会减少有限数量的类别的生成示例集群。与难以存储的精确权重的相同非线性行为可能导致更多样化的测试示例。

RRAM行为是历史依赖性的。随着先前的设置脉冲的数量增加,给定复位脉冲实际将重置设备的概率下降。IMEC的一个团体使用这种行为作为在时间t处有效的时间序列的学习规则的基础,用于预测在时间t +δ处于激活的设备。将该预测与实际数据进行比较,然后通过设定脉冲加强具有正确预测的设备,而预测预测的设备被复位脉冲削弱。在训练之后,将得到的网络拓扑用作生成新数据序列的模型。

最后,密歇根大学的研究人员使用了RRAM CrossBar阵列结合随机电导桥式记忆装置,通过模拟退火解决“旋转玻璃”优化问题。自旋玻璃问题源于物理学,但也适用于许多其他领域,它寻求找到随机二维相互作用自旋阵列的最低能态。模拟退火随机翻转一定的单独旋转,保留减少系统整体能量的翻转,然后降低系统的温度并重复该过程。密歇根群组使用CBRAM的随机切换概率来降低找到局部最小状态而不是真正的最低能量状态的风险。

内存计算向未来看
从历史上看,电子设备的研究是第一位的,然后电气工程师和软件开发人员学会了如何利用这些新功能。在过去的几年里,新兴的存储设备已经从实验室里的奇珍异宝,变成了令人失望的闪存替代品,变成了新的机器学习方法的使能器。未来几年,半导体行业能否利用这些设备来帮助管理它正在帮助创造的数据爆炸,将拭目以待。

有关的故事

内存与vs.近记忆计算

使用不同的内存

在内存中处理

嵌入式相变记忆应运而生



6评论

大卫查普曼 说:

出色的工作。

贝贝尔 说:

好文章!

吉尔·罗素 说:

很好地说。

vojislav. 说:

这是我读过的最聪明的文章!

计算存储老兄 说:

伟大的凯瑟琳,条

令人惊讶的是,你没有提到“近存储计算”,比如通过PCIe ssd和NVMe & NVMe-over Fabric实现的“计算存储”。

计算存储的设计目的是将CPU设置为“无负载”,并观察到NVMe-oF ssd的吞吐量超过100 GB/s。

只是一个抬头。

凯文卡梅伦 说:

我在30多年前在英国Inos初中遇到了内存计算。他们的处理器(“Transputer”)没有抓住,因为没有人知道如何编程它(酒吧几个剑桥博士)。之后,我通过VCS并行模拟 - 这恰好看起来很像神经网络问题,但在标准的SMP硬件上很糟糕。所以合并那些经历我解决了编程问题和SMP建筑问题 -

http://parallel.cc.

创新不一定是破坏性的。

留下一个回复


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