存算一体
Compute-in-Memory也称 CIM、IMC、内存计算
把部分运算放入存储阵列,用电导与电流求和执行乘加,并同时核对精度、外围开销和器件稳定性。
速览
约 1 分钟用阵列里的存储状态参与运算,可减少特定任务的数据搬移;电路的乘加结果仍要经过读出、编码和外围处理。
系统理解
约 2 分钟模拟存算一体把输入映射成电压、权重映射成电导,再通过欧姆定律与电流求和得到点积。正负权重、多比特精度、编程误差与时间漂移决定这种物理结果怎样对应算法结果;ADC、复用和分块决定整个系统的速度与能效。
在电阻式存储阵列和模数转换基础上,连接器件物理、混合信号电路与计算架构。
关键参数
| 参数 | 单位 | 含义 |
|---|---|---|
| 电导范围与读电压 | — | 决定乘积电流及对存储状态的扰动边界 |
| 转换精度与复用比例 | — | 决定读出范围、误差和有效周期数 |
| 编程误差与漂移 | — | 决定初始及随时间变化的权重偏差 |
常见误区
- 存算一体一定不需要数字外围。
- 单元能存多级电导就保证同样多位的有效计算精度。
- 只看TOPS/W就能公平比较不同加速器。
工程深入
12 条结论 · 1 道例题用于比较存储阵列加速器和传统数字运算的适用条件,避免把单个宏电路的峰值指标直接外推到任意应用。
对象与计算机制
列电流求和实现带单位的向量矩阵乘法
在线性读出范围内,每个单元产生输入电压与电导的乘积电流,同一列按基尔霍夫电流定律求和。要把这个电流解释成算法数值,还需要输入、电导和输出的比例映射,不能把安培直接当无量纲神经网络输出。12
- 第j列的输出电流单位 A
- 第i行相对于列虚地的输入电压单位 V
- 第i行第j列单元在读工作点的电导单位 S
成立条件 列端近似虚地,线阻压降和器件非线性可忽略,读电压不改变已存电导。
例题:动手算一次教学假设,可复算
教学用两行两列线性阵列,输入分别为0.10V、0.20V;两行电导分别为(10,20)μS、(30,40)μS。求两列电流。
已知
- 采用理想虚地列端,无线阻、噪声或电导扰动。
- 1V×1μS=1μA;所给数值是教学假设。
步骤
- I1=0.10×10+0.20×30=7.0μA第一列分别收集1.0μA和6.0μA。
- I2=0.10×20+0.20×40=10.0μA第二列分别收集2.0μA和8.0μA。
两个输出都是同一输入向量与不同电导列的点积。
适用边界 这只证明理想电路的乘加关系,未给ADC量程和映射比例,不能据此判断有效计算位数。
精度与编码
多比特拆分要按位权重建结果
单元能稳定区分的电导级数不足以承载整个权重时,可以把权重分散到多个单元,并把各列或各周期结果按位权移位相加。输入也可按多个脉冲周期编码;单次阵列读出不必等于完整多比特乘法。1
成立条件 采用位切片或逐位输入时才需要对应的重建过程;不得把额外周期从吞吐量计算中省去。
外围与实现
编程与稳定性
指标与证据
比较TOPS/W要同时对齐精度与统计边界
不同输入位数、权重位数、输出准确率和MAC计数方式会改变标称吞吐量;只测阵列核心的能效不能直接代替包含转换、控制和数据搬移的整机能效。比较时应说明计入哪些电路以及一次MAC算几个操作。1
成立条件 教材图中采用8bit×8bit MAC计为两个操作;此为比较口径,不是所有报告的默认定义。
出处
2 份资料 · 22 处引用- 1
半导体存储器件与电路
- 第 5 章§5.6.1,图5.52,第 175–176 页 支持:存算一体把运算的一部分放到存储阵列内;列电流求和实现带单位的向量矩阵乘法;ADC与列复用限制可同时读出的规模
- 第 5 章§5.6.1,图5.52后正负权重段,第 176 页 支持:有符号权重需要差分或参考编码
- 第 5 章§5.6.1,图5.52后多比特段,第 176 页 支持:多比特拆分要按位权重建结果
- 第 5 章§5.6.3,低Ron与列电流段,第 182 页 支持:较高单元电阻降低列电流但存在读出折中
- 第 5 章§5.6.1、5.6.3,图5.52、5.56,第 175–176、181–182 页 支持:分块缩小阵列也会增加外围成本
- 第 5 章§5.6.1–5.6.2,第 177–178 页 支持:编程校验把目标权重转换成受控电导
- 第 5 章§5.6.2,第 177、179 页 支持:推理与训练对写入通路的要求不同
- 第 5 章§5.6.2,图5.55,第 179–180 页 支持:电导更新的非线性与不对称会改变训练步长
- 第 5 章§5.6.2,图5.54,第 178 页 支持:漂移与涨落会让已校准权重偏离目标
- 第 5 章§5.6.3,图5.56–5.57,第 181–182 页 支持:比较TOPS/W要同时对齐精度与统计边界
- 2
Device and Circuit Architectures for In-Memory Computing
- §1、3,电子版第 1–2、5 页,式1,Adv. Intell. Syst. 2020, 2000040(文内页码与PDF页码相同) 支持:存算一体把运算的一部分放到存储阵列内
- §3,电子版第 5 页,式1,6.1,电子版第 12 页,Adv. Intell. Syst. 2020, 2000040(文内页码与PDF页码相同) 支持:列电流求和实现带单位的向量矩阵乘法
- §4.2,电子版第 8 页,图5b,Adv. Intell. Syst. 2020, 2000040(文内页码与PDF页码相同) 支持:有符号权重需要差分或参考编码
- §5–6.1,电子版第 12 页,图10–11,Adv. Intell. Syst. 2020, 2000040(文内页码与PDF页码相同) 支持:ADC与列复用限制可同时读出的规模
- §4、5,电子版第 6、11–12 页,Adv. Intell. Syst. 2020, 2000040(文内页码与PDF页码相同) 支持:较高单元电阻降低列电流但存在读出折中
- §5–6.1,电子版第 11–13 页,Adv. Intell. Syst. 2020, 2000040(文内页码与PDF页码相同) 支持:分块缩小阵列也会增加外围成本
- §4.1,电子版第 7–8 页,图4,Adv. Intell. Syst. 2020, 2000040(文内页码与PDF页码相同) 支持:编程校验把目标权重转换成受控电导
- §4–4.2,电子版第 6–9 页,Adv. Intell. Syst. 2020, 2000040(文内页码与PDF页码相同) 支持:推理与训练对写入通路的要求不同
- §4.2,电子版第 9 页,图6,Adv. Intell. Syst. 2020, 2000040(文内页码与PDF页码相同) 支持:电导更新的非线性与不对称会改变训练步长
- §4.1,电子版第 7–8 页,图4e–f,Adv. Intell. Syst. 2020, 2000040(文内页码与PDF页码相同) 支持:漂移与涨落会让已校准权重偏离目标
本页结论均已对照来源核对,其中 2 条目前只有一个来源,尚未经过同行专家审阅。发现不准确的地方,请告诉我们。
报告这一页的问题