OpenMythos打造循环深度Transformer,MLA与GQA模型对比展示推理深度扩展
•67 阅读•4分钟•开源
MoEGQAOpenMythosMLA
•67 阅读•4分钟•开源
背景介绍
OpenMythos 是一套基于 PyTorch 的开源库,旨在实现 循环深度(Recurrent‑Depth)Transformer。该架构在保持模型参数不变的前提下,通过在前向传播中多次循环同一层网络,实现计算深度的可调节增长,适用于需要更强推理能力的任务。
模型构建与注意力变体
教程中提供了 build_model 工厂函数,支持两种注意力机制:
- MLA(Multi‑Latent Attention):采用压缩 KV 缓存的设计,类似 DeepSeek‑V2,适合长序列处理。
- GQA(Grouped‑Query Attention):查询头数量多于 KV 头,显著降低 KV 计算开销。
model_mla, cfg_mla = build_model("mla")
model_gqa, cfg_gqa = build_model("gqa")
两者在 参数规模 上相差不大,分别为约 1.2M 与 1.15M 参数。
稳定性分析:谱半径
循环注入矩阵的谱半径 ρ(A) 必须小于 1 才能保证数值稳定。实验输出:
- MLA ρ(A) ≈ 0.8423
- GQA ρ(A) ≈ 0.7956
均满足稳定性要求,证明该循环机制在训练与推理阶段均可安全使用。
训练任务与评估设置
使用自定义的 数字链求和 合成任务:模型需预测一串随机数字之和对 7 取模的结果。数据生成规则如下:
- 随机长度 2‑5 的数字链(每位 0‑6)。
- 在序列首部加入
START标记,末尾加入EQ标记,后续填充PAD。 - 目标 token 为
DIGIT_BASE + (sum % 7)。
训练采用 AdamW、余弦学习率调度,循环次数固定为 4,训练 6 轮后得到的 交叉熵损失 稳定在 0.35 左右。
推理时循环深度扩展实验
在相同权重下,分别以 1、2、4、6、8 次循环进行推理,记录 在分布内(链长 2‑5)和 分布外(链长 6‑8)两类数据的准确率:
- 循环次数 1:分布内 0.62,分布外 0.31
- 循环次数 4:分布内 0.88,分布外 0.71
- 循环次数 8:分布内 0.94,分布外 0.82
结果表明,增加循环次数可以在不改变模型参数的情况下显著提升推理深度,尤其对超出训练分布的长链任务效果更为明显。
关键结论与展望
- 循环深度 为大模型在推理阶段提供了灵活的计算扩展手段,可在资源受限的环境中按需提升性能。
- MLA 与 GQA 两种注意力变体在参数量与稳定性上相当,用户可依据实际硬件与序列长度需求自行选择。
- OpenMythos 的实现已经在 PyPI 与 GitHub 完全开源,社区可直接在 Colab 上复现全部实验,进一步探索循环深度在实际生成、推理任务中的应用前景。
“在固定参数下,通过循环提供可调计算深度,是提升模型推理能力的另一条重要路径。”
未来工作可聚焦于将循环深度与 稀疏 MoE、长上下文缓存 结合,探索在大规模语言模型中的实际效益。
本文是对第三方新闻源的主观解读。消息可能出现过时、不准确、歧义或错误的地方,仅供参考使用。点击此处查看消息源。