【文献阅读09】:用于稳定DNN加速的混合RRAM/SRAM存内计算
标题:Hybrid RRAM/SRAM In-Memory Computing for Robust DNN Acceleration
时间/来源:2022Nov /TCAD Arizona State University
Transactions on computer-aided design of integrated circuits and systems
目录
- 标题:Hybrid RRAM/SRAM In-Memory Computing for Robust DNN Acceleration
- 时间/来源:2022Nov /TCAD Arizona State University
- 摘要
- 1. 引言
- 2. 相关研究
- 2.1 基于RRAM的存内计算架构
- 2.2 映射后精度损失的减轻
摘要
基于RRAM的存内计算有效地加速了DNN和其他机器学习算法。另一方面,RRAM器件存在器件偏移和低精度问题,DNN向基于RRAM地存内计算映射时面临严重的精度损失。在此工作中,我们提出了一种新型混合的存内计算架构,将基于RRAM的存内计算核和数字SRAM结合,使用可编程的移位器来补偿SRAM的偏差和精度损失。数字SRAM包含一个小的SRAM存储阵列和乘累加(MAC)单元。来自RRAM的非理想输出(非理想来源于器件偏差和电路的非理想性)被来自SRAM的的精确输出所补偿。 此外,可编程的移位器支持不同尺度的补偿,这通过使得SRAM的移位与RRAM的输出相关来获得。在算法层面,我们通过集成学习(ensemble learning)设计了一个存内计算框架。所提出的框架执行量化操作(权重和激活值)、剪枝、RRAM存内计算敏感的训练,并通过利用移位器进行不同尺度的补偿来进行集成学习。最终,我们在65nmSUNY工艺下设计了所提出混合架构的硅基原型来证明有效性。混合存内计算架构的试验评估表明,在多值RRAM中SRAM补偿支持更加现实的RRAM存内计算架构,尽管多值RRAM有更高的偏移。混合存内计算架构实现ResNet-20识别CIFAR-10,VGG-16识别CIFAR-10和ResNet-18识别ImageNet时,相对最先进的技术,在最小的开销时可实现最多21.9%,12.65%,6.52%的映射后精度提升。
关键词:存内计算,稳定深度神经网络加速, RRAM, SRAM
个人见解:创新点在于
- SRAM和RRAM的结合,SRAM补偿RRAM?
- 算法层面 RRAM偏差敏感的训练
- 基于65nm工艺的流片
以下部分仅翻译个人认为重要的部分。()中为段落号。
1. 引言
(1)此前基于RRAM交叉阵列结构的在能效方面相对CPU/GPU展示了1k倍的提升,这归因于全定制的设计、更高密度和更高的存储带宽。
(2)RRAM的非理想性:有限的阻值范围,器件与器件之间的写偏差,有限的Roff/Ron比率。使得设计基于RRAM的存内计算架构遭遇了挑战。权重的偏差使得映射后的精度损失很大。此外,阵列尺寸有限,使得卷积或者全连接操作由小粒度的操作进行(partial operations)。由于外围电路有限的精度,从而造成了进一步的错误。
(3)为了减轻DNN映射后的精度损失,此前的研究多进行了偏差敏感训练(VAT:variation-aware training)和特殊编码机制。VAT利用了本征DNN的冗余,将RRAM器件的偏差 σ\sigmaσ考虑进训练过程中,实现容忍偏差的模型。
- 执行在线训练,得到权重和激活值
- 从65nm工艺中的RRAM提取RRAM器件偏差来执行VAT
- 在64×6464\times 6464×64的小阵列中执行卷积和全连接的partial operations
尽管精度提升了,但相对于32-bit浮点运算模型的基准没有实现相同的精度。因此,解决精度损失是迫切的需要。
(4)为了解决以上问题,我们首先提出了SRAM/RRAM混合的架构。混合架构包含RRAM、SRAM和1个可编程移位器。RRAM模块包含RRAM阵列、解码器和相关的外围电路。SRAM包含SRAM存储阵列、缓存buffer和基于CMOS的MAC静态输出引擎。SRAN的输出被加到RRAM的输出上从而组成一个集成模型并实现bit级别的补偿。此补偿被1个移位寄存器控制。取决于DNN,不同尺度的补偿被实现。为了证明架构的有效性,我们设计了1个基于65nm工艺的测试芯片。RRAM阵列为64×6464 \times 6464×64,SRAM为32×6432 \times 6432×64 大小。最后,1个定制的计算控制逻辑用于同步RRAM和SRAM。可编程移位器在片外实现。
(5)算法层面上,设计框架支持混合架构的训练。所提出的框架支持在线训练权重和激活值,并结构剪枝。RRAM存内计算敏感的训练,并支持不同尺度的剪枝。SRAM并行的加法按层进行。结构剪枝实现最小的硬件开销。对于高效的硬件实现,RRAM和SRAM模块、激活值以及移位偏移在所有DNN中被保持为常量。为了精确地在框架中模拟RRAM设备,RRAM数据从300mm晶圆中地1T1R提取。我们计划在文章接收后全开源算法框架。
(6)在不同地精度上我们执行了大量地DNN识别CIFAR-10和ImageNet的实验。更高精度的RRAM和SRAM实现的精度更接近于32bit浮点计算。所提出的混合架构对利用多值RRAM单元构成的实际混合架构展示了机会。
(7)此外,我们分析了SRAM和可编程移位器的开销。训练时间上,所提出的方案相比于VAT有25%的训练时间增加。通过提取后仿真的面积和功耗开销,我们评估了SRAM的硬件开销。所提出的混合架构在运行各类DNN时在存储、面积和功耗上各有最多24%,20%,26%的增加。本文主要的贡献如下:
- 新型RRAM/SRAM混合架构加速。
- 发展了训练框架使得训练框架支持量化、结构剪枝、RRAM存内计算敏感的训练,以及通过可编程的移位器补偿的不同补偿尺度。
- 混合架构的实验结果表明,SRMA的补偿机制给基于RRAM的混合架构提供了展示了机会。
- 基于65nm工艺设计了测试芯片。
2. 相关研究
2.1 基于RRAM的存内计算架构
此前的研究多基于硬件性能,显少关注RRAM的非理想效应。为了解决这个问题,本文提出了RRAM/SRAM存内计算架构。在精度估算中融合了所提出的混合架构,同时保证最佳的硬件性能。
2.2 映射后精度损失的减轻
- 写-验证-写方案
- 已知器件偏差时执行VAT
- 组合VAT和动态精度量化
- 映射后训练,通过选取一组随机权重并将他们映射到片上存储中来恢复精度
- 知识蒸馏和在线适应
- 利用基于SRAM的存内计算作为并行网络
- 利用寄存器文件和随机电路
知识蒸馏的方案并未提到和利用寄存器文件和随机电路的方案并未考虑到激活值的量化,实际的RRAM映射以及实际的硬件实现。同时,有文献提出利用单值映射机制,将权重的MSB和LSB映射到RRAM中,基于单个器件的偏移和bit的重要性进行。
看完觉得说得不清楚,弃坑
【文献阅读09】:用于稳定DNN加速的混合RRAM/SRAM存内计算相关推荐
- 文献阅读09期:基于ADMM方法的柔性负载实时定价
[ 文献阅读·能源 ] Load shifting of a supplier-based demand response of multi-class subscribers in smart gr ...
- 【文献阅读】用于zero-shot识别的双曲视觉嵌入学习网络(S. Liu等人,CVPR,2020)
一.背景 文章题目:<Hyperbolic Visual Embedding Learning for Zero-Shot Recognition> 文章下载地址:https://open ...
- 经典文献阅读之--用于自动驾驶的高清地图生成技术
0. 简介 这篇文章我们介绍一下论文"High-Definition Map Generation Technologies For Autonomous Driving: A Review ...
- 【文献阅读13】针对基于RRAM神经网络的高精度高能效的Bit-Slicing
题目:Accurate and Energy-Efficient Bit-Slicingfor RRAM-Based Neural Networks 期刊:IEEE TRANSACTIONS ON E ...
- 文献阅读记录(忆阻器篇)
文献阅读(忆阻器篇) 忆阻器领域相关文献阅读 文章目录 文献阅读(忆阻器篇) 一.书籍 1.Memristor Based Logic Circuits 1.1 忆阻器简介 1.2 忆阻器模型 1.2 ...
- 【文献阅读04】基于ReRAM的高能效可重配置神经网络加速器
标题:An Energy-efficient Inference Engine for a Configurable ReRAM-Based Neural Network Accelerator 时间 ...
- 【文献阅读01】动态可重配置数据流的 74TMACS/W CMOS-RRAM 神经突触核以及概率图模型的在线转置权重
标题:A 74 TMACS/W CMOS-RRAM Neurosynaptic Core with Dynamically Reconfigurable Dataflow and In-situ Tr ...
- 【文献阅读05】40nm 64Kb 25.56TOPS/W 2.37Mb/mm2 的二值/存算RRAM宏,密度提升4.23倍,感知动态范围提升>75%
标题:A 40nm 64kb 26.56TOPS/W 2.37Mb/mm 2 RRAM Binary/Compute-in-Memory Macro with 4.23×Improvement in ...
- 【文献阅读02】基于模拟RRAM支持全并行乘累加运算的全集成78.4TOPS/W存算芯片
标题:A Fully Integrated Analog ReRAM Based 78.4TOPS/W Compute-In-Memory Chip with Fully Parallel MAC C ...
最新文章
- iOS微信支付集成 SDK1 7 5
- 皮一皮:年轻人真会玩...
- python多线程坑_python多线程的坑
- 数组|leetcode35.搜索插入位置
- 【代码笔记】iOS-点击城市中的tableView跳转到旅游景点的tableView,下面会有“显示”更多。...
- find VS not looking for VS2015
- 【Elasticsearch】es CPU热点线程 HotThreads 源码解析
- C#.Net工作笔记003---异步编程async await_在开发中的使用经验_随时更新
- 电脑远程服务_电脑远程维修专家在线服务
- [转载] Python 递归函数
- InnoDB存储引擎的数据存储方式(存储模式)
- php json对象转为字符串,JSON对象转化为字符串(附上代码详细解答)
- 创建数据透视表数据包含合并单元格
- 树莓派安装Homeassistant智能家居
- 字节跳动「突袭」美团,抖音竟然要做外卖
- spring事务的传播行为的讲解(笔记 侵删)
- 用python写注册登录界面web_用Python实现web端用户登录和注册功能
- 毕业设计-基于大数据的移动图书馆个性化推荐系统-python
- python语言的实验心得体会范文_实验心得体会-精选范文
- 微搭低代码入门教程01
热门文章
- XML document structures must start and end within the same entity
- DrawCall是什么?
- 软件工程课程设计问题总结——医院门诊系统(四):后台获取下拉列表的值并在页面中显示
- java迷宫设总结_java实现迷宫问题
- Word/Excel快速打勾打叉技巧
- linux输入法管理员权限,Linux 输入法设置
- 自营B2C无法取代淘宝
- (2020年8月MAC版)李叔叔的Flutter之路:环境搭建路上遇到的那些妖魔鬼怪
- 转:如何解决VC 应用程序无法启动,因为应用程序的并行配置不正确 sxstrace.exe问题...
- 2020国家公务员考试专业目录