ParaRNN:基于Triton Newton扫描实现非线性RNN(sLSTM、RWKV-7、CfC、Titans)的并行训练 [P]
摘要
本文介绍了ParaRNN,这是一个开源的PyTorch/Triton库,通过并行化的牛顿-拉夫森扫描技术,显著提升非线性RNN的训练效率。
我开发了ParaRNN这一开源库,它属于PyTorch/Triton系列,能够利用映射到关联前缀扫描的牛顿-拉夫森迭代机制,实现非线性循环架构的并行训练。虽然非线性RNN在推理时无需额外的KV缓存即可实现O(1)时间复杂度,但其传统训练方式却因缓慢的顺序展开过程而成为瓶颈。ParaRNN通过定制化的Triton求解器解决了这一问题:相比传统顺序BPTT算法,其在处理长序列时的速度提升了约200倍(例如,在RTX 3060上,CfC模型在序列长度为2048时的训练时间从643毫秒缩短至2.79毫秒)。该算法在131,072个token的上下文长度内仍能保持稳定收敛,实验证明其牛顿迭代过程中的$K\$值始终控制在3以内,而顺序展开方式的$\tau \le 10{-4}$的约束也得以满足。目前该库支持的RNN单元包括:sLSTM(采用4x4块雅可比矩阵及Beck式头部混合机制)、RWKV-7(Goose矩阵状态单体结构)、CfC(液态连续时间模型)、Titans(关联式惊喜梯度下降算法)、Modern Hopfield模型以及M²RNN模型。在生产环境中,用户可通过torch.compile(fullgraph=True)实现无图结构断开的优化,同时获得确定性的封闭形式VJPs计算结果(无需使用原子操作),此外还支持树外vLLM插件。更多信息请访问GitHub地址:https://github.com/bugkira/pararnn-torch,快速安装命令为pip install pararnn-torch。非常期待收到您的反馈、针对自定义数据结构的错误报告,以及在不同硬件环境下的性能测试数据!
相似文章
SNLP: 基于结构化牛顿校正的层并行推理
本文介绍了SNLP,这是一个通过用结构化近似替代精确牛顿校正来实现Transformer层并行推理的框架,在0.5B模型上实现了高达2.3倍的加速,同时降低了困惑度。
RWKV是一种RNN,具有出色的LLM性能,并且像Transformer一样可并行化。
RWKV是一种新颖的语言模型架构,结合了RNN的高效性和Transformer的可并行化特性,以线性时间复杂度和恒定内存占用实现了强大的LLM性能。
通过自适应张量并行加速同步RLHF训练中的长尾生成
本文提出PAT,一种自适应张量并行方法,在同步RLHF训练的生成长阶段动态重构TP配置,以缓解长尾生成瓶颈。在LLaMA3.1-8B和Qwen3-14B上的评估显示,生成延迟最多降低34.6%,端到端迭代延迟最多降低27.2%。
DynaTrain: 面向弹性大语言模型训练的快速在线并行度切换
DynaTrain 是一个分布式训练系统,能够在大语言模型上实现亚秒级在线并行度重配置,通过虚拟参数空间抽象,使转换速度比现有方法快多达三个数量级。
并行化Transformer训练(39分钟阅读)
一个交互式、可探索的解释,介绍各种用于训练Transformer的并行化方案,改编自关于模型扩展的学术内容。