summaryrefslogtreecommitdiff
path: root/docs/hardware/CALL_CHEATSHEET_DILLAVOU_CN.md
blob: f839f18e0973b6d1f36fb5d9cd70e59fcf934c1c (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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
# Dillavou 通话 cheat sheet v2(内部,自包含版——所有黑话展开)
明早 11:00 ET = 你 10:00 CT。30 分钟:3 分钟更新 → 15 分钟四项测量 → 7 分钟合作形态 → 5 分钟下一步。
他的背景速览在另一份 DILLAVOU_CRASH_BRIEF_CN.md;本文件管**我们自己这边**的每一个名词和数字。

---

## 第零部分:我们项目的一句话
用 Equilibrium Propagation(EP)从零训练**标准 transformer 语言模型**:推理就是普通前向,EP 只存在于训练环节;所有设计选择都刻意保持模拟电路可实现。已训到 72M(定案)和 135M(跑通,有新现象)。

## 第一部分:我们的名词表(每条 = 是什么 + 数字 + 对 Sam 怎么说)

### 训练算法本体(cascade-EP)
- **free phase**:普通前向传播,逐层算出每层输出 o_l,状态 z_l = o_l。就是推理。
- **nudged phase**:在**输出端**注入一个正比于损失导数的"力" d(幅度由 β 控制),这个力经反向通路逐层传下去,然后各层前向重建 z = o + d,共 K=3 轮。
- **θ-读出(权重更新)**:每层本地对比 nudged 状态和自己的输出,⟨d, ∂o/∂θ⟩ 型的局部乘积——**没有任何一层的参数用反向传播更新**。
- 对 Sam 的话术:**"two relaxations and a local contrast read per weight——和你的 CLLN 同一族,只是我们的'网络'是 transformer,'弛豫'是逐层重建。"**

### β / nudge 幅度 / 走廊(corridor)
- **β** = nudge 幅度,名义值 3e-3。
- **走廊** = 合法 β 区间。**上界**:β 太大 → 弛豫回路增益超 1 → 状态发散(我们的判据:弛豫残差 res > 0.02 就算越界)。**下界**:曾假设有信噪比软下界(β 越大越好),控制变量实验证明**域内 CE 平坦**——下界假设已废。
- **上界随训练下沉**:输出矩阵最大奇异值 σ 从 ~242 涨到 ~473,上界大致 ∝1/σ²——训练把模型"磨尖",能承受的 nudge 变小。
- 对 Sam:**"nudge 的可用窗口不是常数,随训练下沉——这就是 call sheet 测量 2 要在物理上复现的'窗口漂移'。"**

### bsign(随机符号 nudge)⭐我们的稳定性王牌
- 每个 batch 掷硬币决定这次 nudge 用 +β 还是 −β。
- 为什么有用:单侧 nudge 有 O(β) 系统偏差(测得约为梯度范数的 0.3–1%);符号翻转时偏差跟着翻号 → 期望中抵消。成本不变(仍只有一次 nudged phase)。
- 战绩:72M 两颗 seed、135M 全程,**零失稳事件完赛**。
- 硬件翻译:一个极性开关 + 每 batch 一个无偏随机位(噪声比较器即可)。
- ⚠️ **别和 Dillavou 的 sign-only 混淆**:bsign 是"nudge 的符号随机";他 2022 板的 sign-only 是"更新量只取符号(±固定步长)"。两码事。同板对比里 bsign 可以是 sign 家族的第三臂。

### centered(对称 nudge)
- ±β 各做一次 nudged phase 取平均,偏差消得更干净,但成本 1.67×。我们主线不用它(bsign 以 1× 成本拿到大部分好处)。

### 72M 定案数字("封卷" = 多 seed 双臂对照的最终结论)
- EP(bsign,2 seeds 平均)final CE **3.3637** vs BP twin(3 seeds)**3.2882 ± 0.006**。
- **诚实 gap = +0.076 nats ≈ 8% perplexity**。
- 用 centered 估计器(1 seed)gap = **+0.044 ≈ 4.5% ppl**(成本 1.67×)。
- ⚠️ 口径纪律:**+0.076↔8%,+0.044↔4.5%,别把 0.076 说成 4-5%**(call sheet 已修正)。
- twin 纪律:同架构、同 tokenizer、同数据顺序、同优化器(Muon 混合)、同步数、同评测。
- 若他提我们七月邮件里"0.05 nats 后来证明是噪声":那是 42M、4k 步、3 seed 下统计不可分;到 72M 全程的定案就是上面这组诚实数字——我们主动报,不回避。

### ⚠️ 破案更新(07-30 深夜,覆盖下面两节的机制解释)
下面"泄漏"和"dgain"两节记录的机制(顶层非线性硬开关、需要大位移)**已被推翻**。真因 = **模拟器读出的
单精度舍入**:宽度变大 → 激活 RMS 变大 → 推动量 d 相对于激活小于单精度机器精度(1.2e-7)→ 在
z = o + d 里被舍入抹掉,而读出又靠 (z−o) 把它减回来 → 亚精度分量永久丢失。
- 三重证伪全中:双精度下泄漏完全消失;β/8 按预测更多层转病;β×8 按预测痊愈。
- 修复 `--read_lin` 一行、零成本:读出改用内存里满精度的 d 张量本身(−⟨d,o⟩,代数恒等),不做大数相减。
  单精度下逐块读数 == 双精度;CE 级仪器上泄漏 0.0462 **关闭 100%**(尾窗 3.5206 = all-BP 杆,预测精确命中)。
- 连锁:dgain/×128/逐层几何 profile 全套退役(那是绕 bug 的补丁);小尺寸阶梯上 EP 本来就赢 BP
  (C192 两 seed 皆胜,C320 打平),"越宽越差"正是这个 bug 的指纹。
- **对 Sam 的讲法**(他会喜欢):这就是差分读出(differential readout / correlated double sampling)
  的软件版——要测小差值必须直接测差值本身,不能拿两个大数相减。板上对应问题 = 你的更新单元怎么读对比
  量、物理上的最小可分辨对比量(physical epsilon)由什么决定(= 修订版 call sheet 的 Q2)。
- 保留下面两节只为背景("我们曾经以为是物理"),**别在通话里当现行结论讲**。

### 135M / C768 泄漏(the leak)⭐已破案,见上方更新
- 现象:把 72M 的配方**原封不动**(冻结配方)搬到 135M(宽度 512→768),EP 出现**恒定速率**的相对落后:每 6k 步落后 ~0.046 CE。
- 定位(BP 替换实验):把**上半 6 层**的 EP 梯度换成真 BP 梯度 → 落后 100% 消失;换**下半 6 层** → 0% 消失。attn 贡献约 2/3。
- 免疫谱:换 centered、K=3→8、fp32、bsign、动 head 学习率——全都治不了;泄漏大小 ∝ 1/β。
- 机制白话:上层的非线性随训练变成"硬开关",小 nudge 推不动它们 → EP 的测量**系统性遗漏**这部分响应;这是一致性偏差(每步都朝同一个方向错),会累积。
- 对 Sam 的桥:**"这就是你 2505.22887 里'不受控学习偏差持续改写表征'的 transformer 版——同一类病,我们在 LM 尺度上做了定位和剂量学。"**

### dgain(位移放大 = 泄漏的治疗)
- 做法:只在**状态形成**时放大力的效果(z = o + G·d,上半层 G 最高到 128),但读出用的对比参考仍是真 d → 对线性响应一阶无操作,只把"硬开关"推过阈值。
- 剂量曲线(6k 步筛查仪器上):×4→收回34%,×8→50%,×16→63%,×32→75%,×64→92%,**×128→97%**(对数律)。
- 全程验证(190k 步):尾窗口径只收回 **63%**(两个候选解释在裁:治疗从中途才开始 vs 剂量需求随训练漂移);但 **×128 位移全程零失稳**。
- 硬件翻译(= call sheet Q2 的来历):**上层的 nudge 注入增益可能要比下层大 1–2 个数量级**——OTA 注入是否吃得下两个 decade 的可编程增益,是要他判断的板级问题。
- 正在跑的"谱仪":逐层测"泄漏 vs nudge 增益"曲线(和真 BP 梯度配对差分),直接产出**每层需要多大 nudge**的规格表;跨 5 个模型宽度重复以拟合标度律。他问最新进展就说这个。

### 筛查仪器(leak instrument)
- "仪器"= 从同一个训练快照出发,跑成对的 6k 步短训练段、比较尾段验证损失。90 分钟测一个候选配方。上面的剂量曲线全是它出的。

### 梯度保真遥测(cos 0.99 / 0.97 的出处)
- 训练中每 1000 步,把 EP 更新和真 BP 梯度算余弦相似度:健康配方全程 ~**0.99**。
- 故障注入实验:1% 前向噪声、10% 误差通道噪声、器件失配下 ~**0.97**,且追踪的是**带故障网络本身**的梯度,不是理想网络的 → "the rule co-adapts to the device"(规则与器件共适应)的实测含义。
- ⚠️ 内部注意:dgain 高增益下逐步余弦会掉到 0.25–0.3 而结果反而更好(一致偏差换成了随机误差,随步数平均掉)——所以我们已把"逐步方向指标"退役,以结局(CE,配对对照)为准。他若深问保真度就这么答。

### 容忍度账本(fault ledger,七月 brief 里的表)
| 故障 | 免费 | 边缘 | 死 |
|---|---|---|---|
| 权重精度 | 8-bit(ΔCE +0.004) | 6-bit(+0.05) | 4-bit |
| 前向状态噪声 | 1% | — | — |
| 误差通道(nudge)噪声 | 10% 相对 | 30% | — |
| 除法器失配 / 门增益 / 相位 | 3% / 10% / 0.03 rad | 10% / — / 0.1 rad | — |
- 唯一硬规格:**约 7-bit 有效权重**。8-bit 量化下 EP 相对同样量化的 BP **无额外损失**(quantization parity)。

### 振幅扫描(r-sweep)⭐"大 nudge 免费"论点(call sheet 测量 2 的锚点)
- 把 nudge 幅度扫 20×(r = 0.02→0.4),梯度余弦**平坦不变** → 误差通道是**乘性**的(信号和误差一起缩放)。
- 推论:真正定下限的是**加性**读出噪声(放大 nudge 可以碾过它)→ 模拟硬件可以用大 nudge 换读出精度。
- 要问他的(Q3):bench 上分离加性/乘性的正确协议是什么。

### 成本口径(三个数字,别混)
- 对外统一:**~2× BP 墙钟**(保守口径,项目页同款)。
- 若被问细:7 月 brief 的 3.2× 是旧配方 FLOPs 口径;现配方实测墙钟 1.4–2×。
- 结构优势口径:我们 1 个 nudged phase × K=3 弛豫;视觉 EP 最大先例(KHS,VGG10 63M,ImageNet)是 2 phase × 10 迭代,付 6.7×(单侧)到 12×(对称)墙钟。

### 硬件线名词
- **$300 MVP / 硬件梯子**:rung 1 = 单边计量瓦片($70–130):一条 MOSFET 边、共享权重电容、精确差方对比通道 + sign-only 更新单元、OTA 电流 nudge,学习环路里无处理器/转换器/时钟。rung 2 = 8 边孪生网络($170–300):非线性回归 + EP-vs-CL 同板 + exact-vs-sign + bias-vs-nudge 曲线。rung 3 = 32 边($450–900)。
- **OTA 电流 nudge**:跨导放大器把损失导数作为**电流**注入输出节点 = EP 的"力";他的板子用**电压钳**(CL 的"约束")。McGinnis-Li-Mori 刚证明:小 nudge 极限下 EP 是精确梯度流,CL 多一个三次修正项 → 同板对比是在**验一条定理**。
- **MDAC(乘法 DAC,AD7528)**:SPICE 单列模型用的分立乘法器件——"能真买到零件"级别的设计。
- **能量投影**:SPICE 实测模拟核 + 数据手册外围 = **0.21–0.63 pJ/MAC**,对照数字 INT8 系统包络 0.3–1 pJ/MAC。

---

## 第二部分:通话流程

### 开场 3 分钟(四句话,07-31 更新版)
1. 72M 定案(旧口径):EP 3.364 vs BP 3.288,gap +0.076 nats(≈8% ppl);两 seed 零失稳。**注**:这是
   带着下面那个数值 bug 训出来的,修复版重训在跑,真数字预计更好——主动这么说,别把旧数字讲成终局。
2. 前天晚上破案:所谓"宽度依赖的估计器损耗"是**模拟器读出的单精度舍入伪影**,不是 EP 的性质。修复一行、
   零成本,标准测试上关闭 100%(双精度对照 + 预注册的幅度平移测试双重验证)。
3. 修复后的小尺寸阶梯:EP 打平或**赢过**同配置 BP(每臂 2 seed)。"越宽越差"是 bug 的指纹。
4. 因为算法层仍在演化,硬件问题重构为四项**配方无关**的原语测量(call sheet 的表);今天要你对清单的
   判断,板子不在今天 commit。

### 四项测量(call sheet 正文,逐条要他判断)
1. 对比更新保真度(exact 差方通道)——sim 锚点 cos 0.97 co-adaptation;物理上同律吗?
2. nudge 窗口 + 加性地板——sim 锚点:窗口随训练下沉 ~1/σ²;乘性主导(20× 平坦);物理地板怎么测?
3. sign-only vs exact vs 随机符号(bsign)三臂——他 2022 的 sign 谱系 + 我们的 bsign 战绩。
4. EP 电流 nudge vs CL 电压钳同板——McGinnis-Li-Mori 定理的实验验证。

### 五个点名问题(call sheet 尾部)
Q1 清单增删? Q2 上层 nudge 增益 2 个 decade,OTA 吃得下吗? Q3 加性/乘性分离的 bench 协议? Q4 他的板子上"弛豫没 settle"的观测量是什么、gate 过更新吗(我们 sim 里 res 残差预测了每一次爆炸)? Q5 孪生副本 vs 时分复用单网络,8–32 边规模下怎么选?

## 第三部分:他可能问的 → 答案
- **"gap 到底多大,会不会又缩水"** → 主动给全口径:72M 上 bsign +0.076/8%,centered +0.044/4.5%(1.67× 成本);135M 冻结配方下 gap 变大、已定位已有治疗。我们的纪律是 best/final/尾窗三口径都报。
- **"成本多少"** → ~2× 墙钟(保守);结构上 1 phase×3 弛豫 vs KHS 的 2×10。
- **"为什么信 sign 类方法"** → 他自己 2022 年就证明 sign-only 能学;我们 bsign 在 72M/135M 的零失稳是 LM 尺度的续证;exact 通道做参考臂。
- **"你们的 transformer 弛豫和我的电阻网络弛豫是一回事吗"** → 家族相同(两次弛豫+本地对比),拓扑不同:我们是层级级联(前馈重建),他是无向电阻网络到能量最低点。诚实说这是"同一学习规则、不同物理",正是为什么原语测量比配方测量有价值。
- **"ARIA 项目/你们和工业界"** → 先问他的 scope;我们这边:在和工业界谈算力(不点名 Rain 细节),学术测量线开放发表。
- **"131 团队里谁做硬件"** → 现状诚实:SPICE/设计我们自己做到了单列水平,缺 bench 经验——正是来找他的原因;他现在独立身份,若有兴趣可以是伙伴而不只是顾问。

## 第四部分:不承诺清单
板子不当场 commit;不排他;不给日期承诺(七月 brief 的 "six-week plan" 若被引用 → "等测量清单定稿后排期");**不做任何 IP 承诺**(他是 pre-spinout 个人,IP 敏感度高);不替 Alexi/教授们答应署名。

## 第五部分:他的现状(ARIA)
- 2025-05 离开 Penn,英国 ARIA(DARPA 仿制品)"R&D Creator":**国家直接资助个人**做 "Learning Metamaterials"(CLLN 线延续),self-employed,IP 归个人,创业是默认出口。相关 programme(Scaling Compute ~£50M)论题 = AI 算力降 1000×。
- 含义:①模拟学习硬件是他的全职使命,ARIA 叙事缺算法侧证据,我们是那块拼图;②七月 brief 的 ask(bench access/学生)作废——他没实验室了,新 ask = 设计判断 + 他本人作硬件侧伙伴的可能性;③IP 敏感度上调,开放发表立场讲清楚即可。
- 背景彩蛋:物理 PhD 前在 Deloitte 做过两年咨询——商业话术无障碍。

## 第六部分:后勤
- 确认信带 Zoom 链接(你发,用他 Gmail: sam.dillavou@gmail.com)。
- 开会前 ~1h 发修正版 call sheet PDF,一句话:"Attached a one page update so the call is aimed."
- 谱仪/ladder 若在通话前出数,我会把"逐层 nudge 需求曲线"的第一版发你——现场可以口头提。