云计算百科
云计算领域专业知识百科平台

OpenASH v3.5 架构迭代报告:衰减最大值三通道混合架构

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */
#content_views .toc,
/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */
#content_views.markdown_views > p:empty:has(+ .toc),
#content_views.markdown_views > .toc + p:empty,
/* 富文本旧版目录标记 */
#content_views.htmledit_views #main-toc,
#content_views.htmledit_views #hr-toc,
#content_views.htmledit_views p[id*=\”-toc\”] {
display: none !important;
}
/* 目录去掉后,紧跟的首个标题不再多出一块上边距 */
#content_views.markdown_views > .toc + h1,
#content_views.markdown_views > .toc + h2,
#content_views.markdown_views > .toc + h3,
#content_views.markdown_views > .toc + h4,
#content_views.markdown_views > .toc + p:empty + h1,
#content_views.markdown_views > .toc + p:empty + h2,
#content_views.markdown_views > .toc + p:empty + h3,
#content_views.markdown_views > .toc + p:empty + h4 {
margin-top: 0 !important;
}

结论:同预算(15000 步 × 184M tokens、95-105M 参数)下,v3.5 在全部 7 个上下文长度上超过同预算现代 Transformer 基线(RoPE + RMSNorm + SwiGLU + FlashAttention),总体 PPL 领先 10.7%,2048 长度区领先 58.5%,同时保持 O(S) 训练复杂度与 O(1) 推理状态。


1. 架构概要

v3.5 的每层注意力由三条 O(1) 状态通道混合构成,全部基于每层专属的低秩状态嵌入 state_em(23004×64) @ state_proj(64→768)(c 流,一次查表三处复用):

通道递推检索类型记忆尺度(实测)作用
快 max-scan e_j = max(γ_j·e_{j-1}, c_j),γ = exp(−softplus(c·v+b)) query 无关(新鲜峰值跟踪) 半衰期 ~4 tok 局部信号、整体质量
慢 max-scan 同上,γ ∈ [0.995, 0.9995](层 6-11) query 无关(长时保持) 半衰期 ~245 tok 远程信息保持、长度外推
KV 检索 S_j = a_j·S_{j-1} + β·k̂_j⊗c_j,读出 r_j = q_j·S_j query 相关(k̂ L2 归一化) a≈0.98 可学习 归纳头/精确键值召回

三通道输出在 gen_model 多项式融合(Triton kernel):head(cat[a,b,c,d,e])·e + a·b + α₁·b + α₂·d + a·(α₃·e+d) + b·(c+e) + c·e + kv_gate·r。

配套现代化:pre-norm RMSNorm ×2、SiLU-GLU FFN、final RMSNorm、max_seq_len=2048、分层多尺度 γ 初始化(v3.3)。

2. 演进链与消融数据(全部同预算 A/B,seed/数据顺序对齐)

版本关键改动val PPL相对上一版
v3.0 pure cummax 无衰减 84.53 —
v3.1 decay-max 衰减扫描 + Triton 训练/推理 kernel 59.07 −30.1%
v3.2 现代化 pre-norm RMSNorm + SiLU + γ 慢尾 + 输入相关衰减 + pos 2048 46.90 −20.6%
v3.3 分层慢通道 层 6-11 慢 γ(245 tok 半衰期存活) 46.80 持平(长程 +)
v3.4 +KV 通道 query 相关检索(sum 写入) 41.17 −12.0%
v3.5 归一化键 k̂ L2 归一化 + per-head 写入门 40.27 −2.2%

3. 主实验一:2500 步小数据(11.5M tokens)对决

v3.5 37.05 vs tf 37.03 —— 总体追平(±0.05%)。长度扩展上 v3.5 从 512 起反超(512: 37.01 vs 39.32)。

4. 主实验二:15000 步大数据(488M tokens 数据集、184M 训练 tokens)——最终裁决

上下文 Lv3.5 PPLtf PPLv3.5 领先
64 18.56 19.47 +4.7%
128 17.03 18.05 +5.7%
256 16.36 17.69 +7.5%
384 16.01 17.93 +10.7%
512 15.92 19.01 +16.3%
1024 15.71 25.55 +38.5%
2048 15.64 37.68 +58.5%
  • 七个长度全部领先;v3.5 曲线随长度持续下降(42.2→15.6),tf 从 512 起崩溃(无位置外推适配)
  • 训练轨迹呈教科书式交叉:早期 tf 略领先,step ~8000 起交叉,之后 v3.5 持续拉开且终点未饱和
  • 远程复制(重复 span 探针):绝对 CE 全程更低(3.13~4.12 vs 3.32~5.11);gain 口径 gap=128 反超(+0.74 vs +0.58),gap=32 tf 保留优势(+1.28 vs +0.89)
  • 上下文利用曲线:全桶领先,tf 尾桶恶化(3.01)而 v3.5 保持(2.79)

5. 长程能力探针套件(bench_longrange.py)

  • 长度扩展 PPL:64→2048 七档,>512 为位置外推区(可学习位置编码 clamp 饱和,专测 scan 状态保持)
  • 远程复制召回:[prefix][span A][gap G][span A] 重复段 CE 下降量,gap 即受控记忆距离
  • 分位置 loss 曲线:8 桶上下文利用曲线
  • γ 有效记忆长度:真实语料上 γ 分布统计(v3.5 实测:快层 4.1 tok / 慢层 245 tok,快慢分工被训练保留)
  • 6. 工程实现要点

    • 训练 297 ms/step(bf16 autocast,bs=32×S=384;KV Triton 前向 0.42 ms/层 + torch 重算反向 4.3 ms/层)
    • O(1) 双状态增量推理:state 元组携带 (max-scan e 向量, KV 矩阵 S);fp32 下逐 token 解码 vs 全序列前向 diff = 3.7e-06
    • 显存:训练峰值 12.4 GiB(bs=32),DecayScanFn 系数反向重算省 1.8 GB
    • 稳定性发现(重要):本环境 Triton 对"循环携带累加寄存器 + 循环出口 store"存在 codegen 非确定性(miscompilation 嫌疑);循环内逐步 store 模式完全稳定——所有 kernel 遵循该模式设计,多形状 × 多次发射零漂移验证
    • 数值安全:max-scan 无除法;KV 分块权重 C[j,i] = exp(l_j − l_i) 因果掩码后 ≤ 1,无除法无下溢

    7. 复现指南

    # 同预算 A/B(架构可选 v30/v31/v32/v33/v34/v35/v35d/tf)
    python train_ab.py –arch v35 –steps 3000 –out ab_v35_3k
    # 大数据缩放
    python train_ab.py –arch v35 –steps 15000 –warmup 500 \\
    –data minimind_data/pretrain_cached_1270238_384.pt –out big_v35
    # 长程四探针(编辑 MODEL_KEYS 选择对比模型)
    python bench_longrange.py
    # 正确性回归(58 项:max-scan 前向/反向、gen_model、fusedCE、KV scan)
    python bench_v3_triton.py
    # 增量推理等价性
    python <见 test_incremental.py 模式> # fp32 全序列 vs 逐 token:3.7e-06

    产物:longrange_results.json(四探针原始数据)、各 ab_*/big_*/train_log.json(训练曲线)。

    8. 边界与后续方向

  • 验证尺度为 488M tokens / 96-105M 参数——相对真实 LLM 预训练仍小;更大规模需扩展算力
  • delta-rule 分块(UT/WY 变换)与 KV scan 手工 Triton 反向是明确的下一级优化(当前 delta 逐步版不可训练、重算反向 ~4.3 ms/层)
  • gap=128 中距检索仍落后 tf(+0.25 vs +0.62 @3000 步版;大数据版 gap=128 已反超)——delta 写入预期进一步扩大优势
  • tf 基线未做位置外推适配(YaRN/插值);v3.5 的长度无关性为架构自带
  • 速度上 KV 通道为 max-scan 的 ~15× 单 token 成本,Triton 前向已回收大头;进一步可做 KV 瘦身(dh 减半)消融
  • 9. 后续任务执行结果(2026-11-05 更新)

    任务结果
    tf 位置插值公平性(PI ×4) tf@2048 恢复 37.68→35.20,v3.5 仍领先 22.8%(15.64);优势对公平性补强稳健
    增量 O(1) 推理兑现 state 元组携带 (e, S);fp32 逐 token vs 全序列 diff 3.7e-06;demo_o1_decode.py 端到端演示(常数状态 894k 数值/12 层,生成质量连贯)
    KV 瘦身消融(kv_dh 96→48) v35s PPL 40.87 vs 完整版 41.34(3000 步)——参数 -3.5M、KV 状态/计算减半且质量略优;48 维键空间检索更锐利。v35s 成为新推荐配置
    delta-rule 写入 naive 版性质验证 PASS(重复键精确覆盖);分块 GPU 版存在双向状态依赖(反向 gq_j = Σ_v λ_j·S_j 需 λ 反向递推与 S 正向重算同场)——精确形式需 Gated DeltaNet(arXiv 2412.06464)论文级 UT/WY 实现;已交付 naive 参考实现(性质验证 PASS)与 TBPTT 诚实评估(384 步 Python 循环 18s/step 不可训练)。大数据版 gap=128 检索已反超 tf,紧迫性下降
    KV scan 手工 Triton 反向 降级:重算反向(4.3 ms/层)已够快,手工推导收益 ~2 ms/层、风险高

    v35s 增量发现

    KV 通道 48 维键空间相对 96 维是质量-效率双优(更少参数、更锐检索、更小状态 36,864→18,432 数值/层)。架构叙述更新为:快/慢 max-scan + 48 维归一化 KV 检索。

    https://github.com/dfytensor/OpenAshAnyWhere/tree/master

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » OpenASH v3.5 架构迭代报告:衰减最大值三通道混合架构
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!