diff options
Diffstat (limited to 'docs/hardware')
| -rw-r--r-- | docs/hardware/EQOLION_DESIGN.md | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/docs/hardware/EQOLION_DESIGN.md b/docs/hardware/EQOLION_DESIGN.md new file mode 100644 index 0000000..5fc7127 --- /dev/null +++ b/docs/hardware/EQOLION_DESIGN.md @@ -0,0 +1,69 @@ +# EqOLion(工作名):把线性代数交给基底物理的谱优化器 +*2026-08-05 · 用户提案("根据我们的场景改造优化器,引入对我们便宜的平衡态计算或牺牲部分步骤精度")的第一份具体设计* + +## 设计原则 +不问"哪个现成优化器硬件受害最小",改问"我们有哪些廉价原语,优化器的每个功能块各由哪个原语承担"。 + +| 优化器功能 | 常规实现(贵) | 我们的廉价原语 | +|---|---|---| +| 动量 | 显存缓冲 | 漏电容积分器(天然 EMA;不同漏率=免费多时间尺度) | +| 谱均衡(Muon 的核心) | 每步 Newton-Schulz 矩阵-矩阵 | **正交化=平衡态**:连续流 Ẋ = X − X(XᵀX) 以极因子为吸引子(σ 的动力学 σ̇=σ(1−σ²)→1),物理弛豫自己算 | +| 该流的矩阵乘 | 显式矩阵-矩阵 | **随机探针估计**:ΔX ∝ (p₁−p₃)rᵀ,其中 p₁=Xr, p₂=Xᵀp₁, p₃=Xp₂ —— 每探针 3 次向量通过 + 1 次外积写,全是现有原语(正反读+脉冲符合写) | +| 每步重算 vs 跟踪 | 从头 NS | **跟踪摊销**:动量时间尺度 ~20 步,极因子漂移慢,常驻旁路每步只纠 O(lr) 漂移 | +| 写入精度 | 逐元素模拟精度 | **sign 读出(OLion 的礼物)**:更新=sign(X),正交化器精度要求塌到 1 bit,比较器+定幅脉冲写 | +| 范数/衰减控制 | weight decay | **Hyperball 式 AGC**:每矩阵一个 Frobenius 传感器+增益旋钮;顺带解决流的收敛域要求(NS 流需 σ∈(0,√3),AGC 预定标正好提供) | +| 噪声 | 需要抑制 | 是原料:探针本身可以就是噪声;探针噪声被漏积分平均掉 | + +## 合成配方 +每个权重矩阵旁挂一个跟踪态 X(C×C 级 fabric 或数字缓冲,视实现层): +1. 动量 M 由漏积分器维护(β₂ 档慢漏 + β₁ 档 Nesterov 混合,同 OLion); +2. X 由两项驱动:探针化的 NS 流(n_p 个探针/步,每个 3 通过+1 外积写)+ 向 M/s 的弱重锚(s 来自 AGC); +3. 参数更新 = −η·γ·sign(X),γ 取 OLion 的 RMS 定标(≈0.2); +4. (可选)Hyperball 层:步后把 ‖W‖_F 归回常数。 + +**成本**:n_p=8 探针 → 每矩阵每步 24 次向量通过 + 8 次外积写,对照训练步自身 ~1500 次通过 ≈ **1-2% 开销**(Muon 从头 NS 是 10-15·C ≈ 5-8k 次)。 + +## 两个探针变体(都排臂) +- **专用各向同性探针**(E[rrᵀ]=I):理论干净,成本如上; +- **搭训练流量的便车**:直接用 nudged 相位本来就在过阵列的活动向量当探针——**零额外通过**,代价是 Gram 估计带上数据协方差 → 白化变成数据度量下的(K-FAC 味道)。可能是 bug 也可能是 feature,实验裁决。 + +## 要证的(论文贡献面) +1. 跟踪误差界:漂移速率 O(lr(1−β₂)) vs 旁路收缩速率 → X 与真极因子的稳态距离; +2. sign 对旁路噪声的鲁棒性(误差只在过零点计价)——OLion 的对角各向同性假设框架(其 Thm 4.4)可扩展; +3. 实证:EP 训练的 LM 上与 Muon/OLion 的质量对照 + 模拟成本模型 + imperfection 表参数化后的物理版。 + +## 验证阶梯(并入价目表实验) +1. **数学理想版 = 正好是 OLion**(NS+sign)——已在扩臂清单里,它就是 EqOLion 的上界对照; +2. **探针跟踪版**(本设计的本体):同一网格,扫 n_p ∈ {2, 8, 32} 与重锚强度; +3. **物理版**:叠加元件表实测参数(比较器 offset → 过零判决噪声;写入粒度 → 更新舍入)。 + +## 诚实的风险清单 +- 收敛域:NS 流要求初始 σ∈(0,√3),AGC 预定标必须先行(顺序依赖); +- 跟踪滞后在 LR 峰值区可能放大(早期动量漂移快); +- **Occam 臂必须在场**:行/列 AGC(Adafactor 式)可能白拿大部分谱均衡收益——若它追平 EqOLion,结论就是"不需要极因子",同样是有价值的负结果; +- 便车探针的数据度量白化没有现成理论; +- 全部建立在 OLion 的"sign 后正交化不掉点"上,该论文本身待复现。 + +## 定位 +项目主论点是"梯度来自物理"(EP);EqOLion 把它延伸到"**预条件也来自物理**"——同一个基底、同一类弛豫、同一套读写原语,把优化器里唯一剩下的全局线性代数也吃进平衡态计算。名字最后定,不绑定 OLion。 + +--- +## 证伪记录(2026-08-05,设计当天,三轮) +**R1(同步锚+8 秩一探针/步,玩具随机游走 d=256)**:sign 一致率 0.76-0.82,未清零成本基线 +sign(M)=0.824。死因:锚项把 X 拉向 M,而 M 谱非单位——**锚在毒化正交化**。 +**R2(串行"注入→纯流抛光")**:抛光 0.802 vs 不抛光 0.803——**每步 O(1) 个秩一探针对 d×d 矩阵 +的修复量可忽略**(8×400=3200 个秩一修正 vs 256² 自由度+持续漂移)。"1-2% 开销"的算术作废: +追踪需要 O(d) 探针/漂移时标,成本回到 ~C 次通过/步(≈20-30% 开销)——仍比从头 NS 便宜 20-50×, +但不是童话。 +**R3(判决性:真实动量矩阵,fw135m_rlin_s2_s80000 的 60 块 Muon 动量)**: +sign(M) vs sign(polar(M)) 一致率**中位 0.700(0.647-0.816)**,谱偏斜 σmax/σmed 中位 55(最大 156)。 +⟹ 玩具(0.824/偏斜3)严重低估载荷:**真实训练里正交化改写 ~30% 的符号**。设计目标明确 = 用 +廉价平衡态计算收回这 30%,且 R3 的 0.70 就是论文的动机图。 +**存活分支(按优先序)**: +1. **搭车探针(主分支)**:nudged 相位每步本来就有 T×B×K ≈ 数千个活动向量流过每块阵列 = 免费 + 探针,数量足以追踪(需求 ~d 个/漂移时标)。代价 = 探针协方差非各向同性(数据度量白化, + K-FAC 味)——无现成理论,实验裁决。 +2. **块探针**:k~d/4 的批量探针,~C 次通过/步,理论干净。 +3. 已死:O(1) 秩一探针;同步锚。 +**下一轮证伪**:真实动量的逐步轨迹(11M 短跑 dump 每步动量),在其上跑搭车/块探针追踪, +判据 = 追踪态的 sign 一致率显著超过 0.70 基线且开销入账。 |
