OpenMythos打造循环深度Transformer,MLA与GQA模型对比展示推理深度扩展

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 取模的结果。数据生成规则如下:

  1. 随机长度 2‑5 的数字链(每位 0‑6)。
  2. 在序列首部加入 START 标记,末尾加入 EQ 标记,后续填充 PAD
  3. 目标 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长上下文缓存 结合,探索在大规模语言模型中的实际效益。

本文是对第三方新闻源的主观解读。消息可能出现过时、不准确、歧义或错误的地方,仅供参考使用。点击此处查看消息源。