使用OpenMythos构建循环深度Transformer:MLA、GQA、稀疏MoE与循环缩放推理
本教程介绍如何利用OpenMythos库在Google Colab中构建端到端的循环深度Transformer工作流。我们创建了MLA和GQA两种注意力变体,比较参数量,并通过谱半径检查循环注入矩阵的稳定性。在合成组合推理任务(预测数字链模固定值的和)上训练模型,研究循环循环如何使单一模型重用参数进行更深层次的计算。最终展示在推理时增加循环次数如何在不改变参数的情况下提升推理深度。
文章情报
要点
- 使用OpenMythos构建支持MLA和GQA的循环深度Transformer,并比较参数量。
- 通过谱半径验证循环注入矩阵的稳定性。
- 在数字链模求和任务上训练模型,研究循环次数对推理深度的影响。
- 推理时增加循环次数可提升模型推理能力,而不改变参数。
为什么重要
这条新闻值得关注,因为使用OpenMythos构建支持MLA和GQA的循环深度Transformer,并比较参数量。
技术影响
可能影响模型选型、推理成本、产品能力和评测基准。
在本教程中,我们探索了OpenMythos库,构建了一个先进的循环深度Transformer工作流,该工作流可在Google Colab中端到端运行。我们创建了MLA(多潜在注意力)和GQA(分组查询注意力)两种模型变体,比较了它们的参数量,并通过对循环注入矩阵的谱半径的检查,验证了矩阵的稳定性。
我们首先安装了OpenMythos库,并配置了相关依赖。在构建模型时,我们设定了基本配置,包括词表大小、维度、注意力头数、最大序列长度、循环迭代次数、专家数量等。对于MLP变体,我们使用了DeepSeek-V2风格的压缩KV缓存;对于GQA,我们减少了KV头的数量。通过计算参数量和谱半径,我们确认了模型设计的正确性。
接下来,我们进行了前向传播和生成测试,然后转向一个合成的组合推理任务:模型需要学习预测数字链模固定值的和。我们创建了一个数据集,其中数字为0到9,链长随机,目标值为数字总和模一个固定值(如11)。模型接受以特殊标记分隔的序列,输出为预测的数字。
在训练过程中,我们记录了损失曲线,并在验证集上评估了准确率。我们还测试了模型在更长链上的外推能力。实验结果显示,随着循环次数的增加,模型的推理准确率显著提升,尤其是在处理未见过的长链时。这表明,循环深度Transformer能够通过增加推理时的循环次数,在不改变参数的前提下,实现更深的推理。
最后,我们通过一个定性示例展示了模型在给定数字链后正确预测模值的能力。教程的结论强调了OpenMythos如何将循环深度设计、注意力变体、稀疏MoE组件和推理时循环缩放结合成一个紧凑的实验流程。我们训练了模型,评估了其分布内和分布外的性能,并可视化了准确性随循环次数变化的情况。这帮助我们看到循环深度如何用额外的推理计算换取更强的推理行为,而无需改变模型学习到的参数。
我们提供了完整的代码和笔记本,并鼓励读者关注我们的Twitter、加入ML SubReddit和订阅Newsletter。