blob: 183ccba120061bdf4d5eeaf964af1be355cf0dbc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
# 元件表征方案:实测 imperfection 表 → 器件锚定的 Python 模拟
*2026-08-05 · 取代 MVP 学习板成为硬件线主交付物(用户决定,Samuel Dillavou 建议)*
## 目标
把容忍度叙事从"我们扫了这些幅度(假设值)"升级为"我们按实测器件分布注入(测量值)"。
每种元件买 N 个:**单元间散布 = 持久性制造缺陷的实测分布**(共适应交叉实验的关键输入),
噪声谱 = 每步刷新噪声的实测幅度。两类缺陷分开喂给模拟器,对应两个不同的理论预期
(持久缺陷 → EP 应有优势;刷新噪声 → 应打平)。
## 元件清单(角色 ← 对应模拟器参数)
| 元件 | 型号(候选) | 数量 | 单价约 | 扮演角色 | 喂哪个模拟参数 |
|---|---|---|---|---|---|
| 乘法 DAC | AD7528(双通道) | 6 | $12 | 权重单元(crossbar 类比) | 每权重固定增益误差分布;INL/DNL → 权重量化+确定性非线性 |
| OTA | LM13700(双通道) | 6 | $3 | nudge 电流注入、积分器 | 误差通道的持久偏置分布(offset)+ 跨导线性范围 |
| 比较器 | LM393/TLV3702 | 8 | $1 | sign 通道、bsign 极性 | 阈值失配分布 → sign 更新的不对称性 |
| 模拟乘法器 | AD633 | 4 | $10 | 精确差方对比通道、SwiGLU 门 | 刻度误差/馈通/非线性 → 门增益失配(替换现在拍的 10%) |
| 运放 | TL074(四通道) | 6 | $1 | KCL 求和总线、缓冲 | 求和节点 offset/噪声 → 残差流加性项 |
| 晶体管阵列 | CA3046/THAT300 | 4 | $5 | 差分对、亚阈值 exp(softmax 类比) | 指数律失配 → softmax 温度/偏置失配 |
| 采样保持 | LF398 | 4 | $6 | 状态保持 | 下垂速率 → 状态泄漏项 |
| ADC | AD7606 板或 24-bit 音频 ADC | 1 | $30-60 | 读出边界 | **对比读出的物理 epsilon**(直接接入我们的地板律 err≈eps/r 做预测) |
| 精密电容 | 薄膜 1uF/100nF | 20 | <$1 | 权重电容 | **泄漏速率 → 物理版 weight decay 时间常数** |
| 电阻/开关/杂件 | 0.1% 电阻、DG408 等 | — | $30 | 测试夹具 | 夹具误差预算 |
**预算合计 ≈ $250-350**(仪器另计:示波器 + 6.5 位 DMM + 函数发生器 + 台式电源,UIUC ECE 台架应全有)。
## 每元件测什么(统一协议)
1. **DC 传递曲线**:offset、增益误差、非线性(DAC 加 INL/DNL)——每单元 3 次重复定测量地板;
2. **单元间 + 同片通道间散布**(买双/四通道芯片的原因:片内失配免费拿)→ 持久缺陷分布的 σ 和形状(正态性检验);
3. **噪声谱**:输入折合噪声 PSD、1/f 拐点(音频 ADC 采样 + Welch 法)→ 刷新噪声幅度;
4. **漂移**:上电后 30 分钟漂移曲线 + 粗温度系数(吹风机/冰袋两点即可)→ 慢时变项;
5. **电容单测泄漏**:充电后开路电压衰减 → 权重保持时间常数;
6. **写入路径(08-05 补,用户指出的缺口)**:权重不只被"读",每步还要被"更新"——更新通路
自己的缺陷是优化器行为的物理来源,必须单列:
- DAC 码写入:单步增量的实际大小 vs 标称、上调/下调不对称性、增量对当前存值的依赖(非线性);
- 电容增量写:单脉冲电荷注入量及其散布、连续小增量的累积误差、写-读串扰;
- 更新粒度地板:能可靠写进去的最小增量(低于它的更新丢失 = 硬件版的舍入地板,
与 fp32 读出地板同构,同一条 err≈eps/r 律应适用——预注册预测点)。
纪律:每单元编号留档、原始波形全存、温度记录、CSV + 拟合脚本一并入库 → **这张表本身就是
可发表的公共品**("physical-learning 模拟的器件级 imperfection 数据集",正合 Eder 的口味)。
## 接入模拟器(已有机械,只换参数来源)
- 现有 flag:前向噪声 / 误差通道噪声 / 门增益失配 / qcomp_bits ——幅度从"拍的"换成"从表里采样";
- 新增一类:**per-unit 持久缺陷**(训练开始时按实测分布采样一次、全程固定)——这是共适应
交叉实验(EP 双相看得见缺陷 vs BP 反向用理想模型)的输入;
- ADC 有效位数直接给对比读出的物理 epsilon,用已验证的地板律 err≈eps/r 先做**预测**再仿真验证
(预注册式:律先出数,仿真只判对错)。
## 优化器的行为级设计与验证(08-05 补:模拟路线不豁免这一层,只豁免造它)
被模拟的系统必须带一个**基底做得出的优化器**;Muon 只能留在"GPU 参照臂"。三个候选,全部
从上面的元件表取参数:
| 候选 | 物理实现 | 缺陷来源(均在清单内) | 现状 |
|---|---|---|---|
| SGDM | 动量 = 电容+泄漏的积分器(天然 EMA) | 电容泄漏速率、写入路径 #6 | 旧判决"发散"来自修复前的旧架构,**须复测** |
| Lion/sign | 动量积分器 + 比较器取号 + 定幅脉冲写 | 比较器阈值失配、写入不对称性 | 同上须复测 |
| factored-Adam | 行/列统计 AGC(平方器+RC+除法器) | 晶体管阵列失配、乘法器刻度误差 | 从未在级联 LM 上验证过质量 |
**由此"优化器价目表"实验从可选升级为必做**:级联 11M/18M 全程跑 EP×{SGDM, Lion, AdamW,
Adafactor(≈factored-Adam 的行为级)}对照 Muon 基线——先理想数学版定质量折价,再叠加实测缺陷
(泄漏=动量时间常数、写入粒度=更新舍入)定物理版折价。两级分开报。
模拟里同时保留一个**混合信号对照臂**(数字优化器+按 ADC 位数量化的梯度读出),把"全模拟 vs
混合信号"的质量-能量取舍变成可测量的轴而不是立场。
- 不搭学习环路、不做闭环收敛调试(原 MVP rung 1-2 的主要风险项全部删除);
- 元件间连线只到"单元测试夹具"级,不追求系统级板。
## 开放问题(用户/Sam)
1. UIUC 台架访问与仪器清单确认(本科生身份借用 ECE 教学实验室即可?)
2. 单元数 N 要不要加大(N=6 给 σ 的估计误差约 ±30%;N=10 → ±24%;预算差 $50)
3. 测量协议要不要发给 Sam 过目一轮(他的 2505.22887 正是这门手艺;一次 review 换协议可信度,值得)
|