From 15abb3ee664955bf9bb93c46825a4ad8947998fd Mon Sep 17 00:00:00 2001 From: Yuren Hao Date: Fri, 31 Jul 2026 04:40:51 -0500 Subject: =?UTF-8?q?Dillavou=E9=80=9A=E8=AF=9D=E6=9D=90=E6=96=99v3:=20?= =?UTF-8?q?=E6=9C=BA=E5=88=B6=E6=AE=B5=E6=8C=89RESULT=2077-79=E6=94=B9?= =?UTF-8?q?=E5=88=A4(=E8=AF=BB=E5=87=BA=E5=9C=B0=E6=9D=BF+=E9=9B=B6?= =?UTF-8?q?=E6=88=90=E6=9C=AC=E4=BF=AE=E5=A4=8D+=E5=B0=8F=E5=B0=BA?= =?UTF-8?q?=E5=AF=B8EP=E8=83=9CBP),=20Q2=E6=94=B9=E4=B8=BA=E6=9D=BF?= =?UTF-8?q?=E4=B8=8A=E5=AF=B9=E6=AF=94=E8=AF=BB=E5=87=BA/physical=20epsilo?= =?UTF-8?q?n,=20cheat=20sheet=E5=8A=A0=E7=A0=B4=E6=A1=88=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E8=8A=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_014FAPDWQ49M5Ye3NpTndTpn --- docs/hardware/CALL_CHEATSHEET_DILLAVOU_CN.md | 144 +++++++++++++++++++++++++++ 1 file changed, 144 insertions(+) create mode 100644 docs/hardware/CALL_CHEATSHEET_DILLAVOU_CN.md (limited to 'docs/hardware/CALL_CHEATSHEET_DILLAVOU_CN.md') diff --git a/docs/hardware/CALL_CHEATSHEET_DILLAVOU_CN.md b/docs/hardware/CALL_CHEATSHEET_DILLAVOU_CN.md new file mode 100644 index 0000000..f839f18 --- /dev/null +++ b/docs/hardware/CALL_CHEATSHEET_DILLAVOU_CN.md @@ -0,0 +1,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 需求曲线"的第一版发你——现场可以口头提。 -- cgit v1.2.3