NXAI 再次优化 xLSTM:7B 模型推理速度提升 50%,代码权重全开源

NXAI 团队再次优化 xLSTM,推出 7B 模型,推理速度超越 Mamba 50%,权重代码已开源。核心改进包括优化架构、提升训练稳定性等。

原文标题:原作者带队再次改造xLSTM,7B模型速度最快超Mamba 50%,权重代码全开源

原文作者:机器之心

冷月清谈:

本文介绍了 NXAI 团队对 xLSTM 架构的最新优化成果,该优化使得 xLSTM 模型可以扩展到 70 亿参数,并在推理速度上超越了 Mamba 模型 50%。核心改进包括:1. 在低维空间运行 mLSTM 并添加前馈 MLP 层,优化了模块架构,提高吞吐量;2. 解决了训练稳定性问题,特别是在 mLSTM 单元的门控机制上,有效缓解了梯度问题;3. 采用 RMSNorm 替代 LayerNorm,并对输入门和遗忘门实施软上限限制,对输入门偏置进行负初始化。实验结果表明,优化后的 xLSTM 7B 模型在各类任务评估中与同规模 Transformer 和 Mamba 模型表现相当,并在推理效率测试中实现了最高的预填充和生成吞吐量,同时保持了最低的 GPU 内存占用。

怜星夜思:

1、xLSTM 7B 在长文本处理上的优势和局限分别是什么?在实际应用中,你认为它更适合处理哪些类型的长文本任务?
2、文章提到 xLSTM 7B 在推理速度上超越了 Mamba。你认为未来 xLSTM 在哪些方面还有提升空间,可以进一步拉开与 Mamba 和 Transformer 的差距?
3、xLSTM 7B 在哪些实际应用场景中能够发挥其优势?例如,在移动设备或边缘计算等资源受限的环境中,它相比其他模型有哪些优势?

原文内容

机器之心报道
编辑:佳琳、杜伟

近年来,大型语言模型(LLM)通过大量计算资源在推理阶段取得了解决复杂问题的突破。推理速度已成为 LLM 架构的关键属性,市场对高效快速的 LLM 需求不断增长。

其中,采用 Transformer 架构的模型虽然占据了主流,但在输入序列长度增加时,计算量会呈二次方增长。因此,自上个世纪 90 年代兴起的 LSTM 卷土重来,它的提出者和奠基者 Sepp Hochreiter 在去年 5 月推出了 ,将 LSTM 扩展到数十亿参数,成为 Transformer 的有力替代品,提供了与序列长度线性相关的计算扩展和稳定的内存占用。


然而,xLSTM 在扩展至更大参数规模时存在限制,推理速度和效率具体如何也没做系统测评。

近日,Sepp Hochreiter 等来自 NXAI、JKU 的研究者再次对 xLSTM 进行了优化,现在可以扩展到 70 亿参数了。

具体来讲,xLSTM 7B 模型基于 DCLM 数据集,使用 128 块 H100 GPU,在 8192 上下文长度下训练了 2.3 万亿 token。研究者对原始 xLSTM 架构进行了改进,确保训练效率和稳定性,同时保持任务性能。新架构依靠 mLSTM 单元和并行训练模式,实现高性能的同时最大化速度。


  • 论文标题:xLSTM 7B: A Recurrent LLM for Fast and Efficient Inference
  • 论文地址:https://arxiv.org/pdf/2503.13427
  • 代码地址:https://github.com/NX-AI/xlstm
  • Hugging Face 地址:https://huggingface.co/NX-AI/xLSTM-7b

通过修改模块架构,研究者优化了吞吐量,在低维空间运行 mLSTM 并添加前馈 MLP 层,同时去除了不必要的组件以提高 GPU 利用率。优化后的架构在保持相似性能的同时,将 token 吞吐量提高了 2 到 4 倍。研究者还优化了训练稳定性,特别是 mLSTM 单元的门控机制,有效解决了梯度问题。

在各类任务评估中,xLSTM 7B 与同规模 Transformer 和 Mamba 模型表现相当。通过架构优化,该模型在推理效率测试中实现了最高的预填充和生成吞吐量,同时保持最低的 GPU 内存占用。

论文作者之一 Günter Klambauer 表示,xLSTM 7B 成为了最快、最高效的 7B 语言模型!


优化的 xLSTM 7B 架构

xLSTM 7B 架构的核心是 mLSTM 单元,它的循环和并行模式可以实现高效的训练和推理。为了充分发挥该单元的潜力,研究者重新审视了相邻块结构的设计。

与 Mamba 等其他线性 RNN 类似,以前的 xLSTM 架构将与通道卷积相结合的 mLSTM 单元置于线性上投影和下投影之间,这被称为预上投影(pre up-projection )块。这些块将序列混合和通道混合结合在一个块中,因此均匀堆叠,而无需交错位于前馈 MLP 层。尽管预上投影块架构已展示出了对 1.4B 参数 xLSTM 的竞争性语言建模性能,但由于以下几方面的原因,它在计算效率方面付出了很大代价:

  • 在预上投影块中,mLSTM 在比模型嵌入维数高得多的维数上运行,这导致 mLSTM 操作的计算成本和 GPU 内存使用量大幅增加。
  • 省略位置前馈 MLP 层会导致模型中高效线性层 FLOP 的比例下降。 
  • 以前的 xLSTM 架构使用几个额外的组件,例如可学习的残差连接、通道卷积以及用于计算查询、键和值的小(块对角化)投影层。如果没有自定义内核融合,这些小操作会导致 GPU 上出现多个短内核调用,无法有效利用张量核心,从而大幅降低 GPU 利用率。 
  • 以前,输入和遗忘门预激活是通过连接的查询、键和值投影计算出来的。而在大规模张量并行训练设置中,这需要每个 mLSTM 块进行额外的全归约操作,从而增加总体通信成本。

因此,为了将 xLSTM 扩展到更大的模型大小,研究者通过解决以上四个限制来优化 mLSTM 块以实现最大效率。

对于优化 mLSTM 块,研究者首先在模型的嵌入维数而不是更高维数的空间中操作 mLSTM 单元,并在每个 mLSTM 层之后放置位置前馈 MLP 层。此修改增加了高度优化的线性层(即矩阵乘法)FLOP 的比例,并降低了 mLSTM 操作的计算成本。显著减少的 GPU 内存使用量使得在训练期间可以使用更大的批大小,从而提高了训练效率。

此外,研究者放弃了通道卷积和可学习的残差连接等操作,并用密集线性层替换块查询、键和值投影。这再次增加了线性层 FLOP,并确保有效使用 mLSTM 层内的张量核。最后,确保每个 head 的门预激活都是独立计算的。 

这些优化产生了下图 1 和下图 8 中改进后的 mLSTM 块和 xLSTM 架构,其中在 xLSTM 7B 架构中堆叠了 32 个 mLSTM 块。



下表 4 为 xLSTM 7B 的超参数,包括模型参数(近 70 亿)、词表大小(50257)、块数量(32)、模型维数(4096)以及 head 数(8)。


研究者观察到,本文优化在 1.4B 参数的模型训练中实现了 3.5 倍的加速,但在验证困惑度方面略有损失,可以通过增加几个训练步骤来缓解,详见下表 2。


优化稳定性

研究者发现,先前在 7B 参数规模下的 xLSTM 架构在训练初期阶段常出现不稳定现象。具体而言,他们观察到在较高学习率条件下训练会导致梯度幅度和损失值剧烈波动。本文通过以下方法解决了这些稳定性问题:

  • 使用 RMSNorm 替代 LayerNorm;
  • 对输入门和遗忘门实施软上限限制;
  • 对输入门偏置进行负初始化。

1. 使用 RMSNorm 的预归一化(Pre-Norm with RMSNorm)

下图 9 中的实验证实,预归一化技术同样适用于 xLSTM 架构的预归一化层。因此,研究者在 xLSTM 架构中将 LayerNorm 替换为 RMSNorm(全称为 Root Mean Square Normalization)。


2. 门控软上限限制(Gate Soft-Capping)

为了降低潜在的大幅异常特征和相关损失峰值,研究者对输入门和遗忘门的预激活值应用了软上限限制,使其值被限制在特定上限值 a 的 - a 与 a 之间。本文采用 a=15 对门控进行限制,所使用的函数为


3. 负输入门偏置初始化(Negative Input Gate Bias Initialization)

研究者发现,在训练初期,xLSTM 模型会出现较大的梯度范数峰值,这对模型的最终性能产生不利影响(详见下图 11)。将输入门初始化为较大的负值(如 - 10)能有效缓解这些梯度范数峰值,从而提升模型性能。


综上所述,这些优化措施使 xLSTM 7B 的预训练过程变得极为稳定,如下图 2 所示。


语言建模性能评估

Huggingface 排行榜

研究者首先在 7B 参数规模上,将 xLSTM 7B 与最先进的 Transformer 和循环神经网络(RNN)大语言模型进行了基准测试。

结果总结在下表 1 中,显示 xLSTM 7B 在 7B 规模模型中排名居中,其中一些表现更好的模型受益于更大规模的训练数据集。研究者认为,如果使用更大且更精心策划的训练数据集,尤其是在早期训练阶段更加注重数学和代码数据,xLSTM 7B 可能会达到最强 7B 模型的性能水平。


长文本评估与微调

研究者将 xLSTM 与几种基线模型进行了比较:作为 Transformer 基线的 Llama 2 7B(未进行长文本微调)和 Llama 3.1 8B(已进行长达 131K 词元的长文本微调),作为状态空间模型(State Space Model,SSM)基线的 CodestralMamba 和 FalconMamba,以及作为额外循环神经网络(Recurrent Neural Network,RNN)基线的 RWKV-5/6。

下表 3 展示了 RULER 评估结果。对于 xLSTM 7B,预训练中的长文本降温(cooling)阶段极大地提升了其长文本处理能力,使其性能与状态空间模型相当,并且优于 RWKV-5/6。


值得注意的是,长文本 xLSTM 7B 在 131K 上下文长度时实现了 20% 的平均准确率,尽管在降温阶段训练时仅使用了最多 32K 的上下文长度。这一点尤为显著,因为与具有不断增长的 KV 缓存(Key-Value cache)的 Transformer 不同,xLSTM 7B 必须在有限容量的固定大小内存中存储整个序列的信息(见表 3)。

速度基准测试

本研究主要关注本地单用户推理场景,这在模型部署到边缘设备时较为常见。除非另有说明,研究在单个英伟达 H100 GPU 上对批大小为 1 的 xLSTM 7B 模型进行生成式推理基准测试,并将其与 Llama 2 和 Llama 3 模型进行了比较。

生成吞吐量

如下图 4 所示,由于注意力机制随输入上下文长度呈二次方增长,Transformer 模型在较长预填充长度下的文本生成速度显著降低。

研究表明,xLSTM 7B 的文本生成速度比 Mamba 快约 50%,这主要得益于其优化的块设计。即使在预填充长度为 0 的情况下,xLSTM 7B 也比采用类似块设计的基于 Llama 的 Transformer 模型更快。


生成效率与内存消耗分析

研究者测量了不同生成长度下的 token 生成时间和 GPU 内存使用情况(不包括预填充)。图 5(左)展示了循环模型在计算时间上呈线性增长,与 Transformer 呈二次方增长的对比;图 5(右)则显示了循环模型内存占用保持恒定,而 Transformer 的 KV 缓存随生成长度线性增长的对比。

得益于优化的模块设计,mLSTM 在低维空间中运行,使得 xLSTM 7B 模型与 Mamba 模型相比具有显著更低的内存占用(如下图 5 右侧所示)和更短的生成时间(如图 5 左侧所示)。


TTFT(Time To First Token)

在语言模型作为用户界面(可能在边缘设备上)的应用场景中,较短的响应时间至关重要。下图 6 展示了不同模型在处理各种长度的预填充(prefill)内容后,生成 1 个或 100 个 token 所需的响应时间或延迟。在所有预填充长度条件下,xLSTM 7B 模型均表现出最快的响应速度。


更多实验结果请参阅原论文。

© THE END 
转载请联系本公众号获得授权
投稿或寻求报道:liyazhou@jiqizhixin.com

问题:文章提到 xLSTM 7B 在推理速度上超越了 Mamba。你认为未来 xLSTM 在哪些方面还有提升空间,可以进一步拉开与 Mamba 和 Transformer 的差距?

感觉可以在以下几个方面努力:

1. 进一步优化架构,使其更适应并行计算。现在的优势主要体现在循环结构上,但并行性可能不如 Transformer。如果能在这方面有所突破,速度应该还能提升。

2. 探索更高效的门控机制。门控机制是 LSTM 的核心,但也是计算瓶颈之一。如果能找到更高效的门控方式,或者干脆用新的机制替代,可能会有质的飞跃。

3. 结合 Transformer 的优点。比如,可以尝试将 xLSTM 和 Transformer 的某些模块结合起来,取长补短。

问题:xLSTM 7B 在哪些实际应用场景中能够发挥其优势?例如,在移动设备或边缘计算等资源受限的环境中,它相比其他模型有哪些优势?

想象一下,你带着一个只能运行小型模型的树莓派去参加一个黑客马拉松。这时候,xLSTM 7B 就能派上大用场了!

* 低功耗场景: 在太阳能供电或者电池供电的设备上,省电就是王道。xLSTM 7B 可以在保证一定性能的前提下,最大限度地降低功耗。
* 实时性要求高的机器人: 比如一个需要快速识别物体并做出反应的机器人。xLSTM 7B 的低延迟可以帮助机器人更快地做出决策。
* 隐私保护的场景: 在本地运行模型,可以避免将数据上传到云端,从而保护用户的隐私。

总之,哪里资源少,哪里需要快,哪里注重隐私,哪里就有 xLSTM 7B 发光发热的空间。

问题:xLSTM 7B 在长文本处理上的优势和局限分别是什么?在实际应用中,你认为它更适合处理哪些类型的长文本任务?

优势:根据论文的评估结果,xLSTM 7B 在长文本处理上与 SSM 模型相当,优于 RWKV-5/6。它在 131K 上下文长度时实现了 20% 的平均准确率,表明其具有一定的长文本处理能力。此外,由于其循环结构,内存占用保持恒定,不像 Transformer 的 KV 缓存那样随生成长度线性增长。

局限:xLSTM 7B 需要在有限容量的固定大小内存中存储整个序列的信息,与具有不断增长的 KV 缓存的 Transformer 不同,这可能限制了其处理超长文本的能力。

适用任务:

1. 需要长距离依赖的任务:由于其循环结构,xLSTM 7B 可能擅长处理需要理解长距离依赖关系的任务,例如语言建模、文本摘要等。

2. 内存受限的应用场景:由于其内存占用恒定,xLSTM 7B 可能更适合在内存受限的设备上部署,例如移动设备、嵌入式系统等。

3. 对延迟敏感的应用场景:xLSTM 7B 在处理各种长度的预填充内容后,能够快速生成 token,因此适合对延迟敏感的应用场景,例如在线对话、实时翻译等。

问题:文章提到 xLSTM 7B 在推理速度上超越了 Mamba。你认为未来 xLSTM 在哪些方面还有提升空间,可以进一步拉开与 Mamba 和 Transformer 的差距?

个人认为,xLSTM 的提升空间主要在以下几个方面:

1. 更大的数据集和更长的训练时间: 文章也提到,xLSTM 7B 的性能受到训练数据集的限制。使用更大、更精心策划的数据集,尤其是在早期训练阶段注重数学和代码数据,可以有效提升其性能。

2. 进一步优化硬件加速: 针对 xLSTM 的循环结构,设计更高效的硬件加速方案,例如定制化的 ASIC 或 FPGA,可以显著提升推理速度和效率。

3. 探索新的循环机制: 虽然 mLSTM 已经做了优化,但仍然可以探索新的循环机制,例如注意力机制与循环机制的结合,或者更高效的状态更新方式,以进一步提升性能。

4. 模型压缩与量化: 通过模型压缩和量化技术,减小模型的大小,降低计算复杂度,从而在保持性能的同时提升推理速度。

5. 自适应计算: 根据输入序列的特点,动态调整计算量,例如对简单序列使用更少的计算资源,对复杂序列使用更多的计算资源,从而提高整体效率。

问题:xLSTM 7B 在长文本处理上的优势和局限分别是什么?在实际应用中,你认为它更适合处理哪些类型的长文本任务?

优势在于其循环神经网络的特性,处理长文本时计算量不会像Transformer那样呈现平方级增长,消耗内存也相对恒定。局限在于需要将整个序列的信息存储在固定大小的内存中,这限制了其能处理的文本长度。

个人觉得比较适合处理对上下文依赖比较强,但又不需要无限追溯历史信息的任务,比如长篇的小说续写、剧本创作,或者是一些需要理解长文档才能做出决策的场景。

问题:xLSTM 7B 在长文本处理上的优势和局限分别是什么?在实际应用中,你认为它更适合处理哪些类型的长文本任务?

优势:理论上,循环神经网络在处理长序列上有优势,因为它不会像 Transformer 那样因为序列长度增加而导致计算复杂度呈平方级增长。而且,xLSTM 7B 通过优化,降低了内存占用,这在处理长文本时非常重要。

局限:固定大小的内存是把双刃剑。虽然内存占用恒定,但也意味着模型能够记住的信息量是有限的。对于需要记住超长历史信息的任务,可能会力不从心。

适合场景:长程对话、代码生成(特别是需要理解上下文依赖关系的代码)、文档总结等。但不适合需要无限记忆的任务,比如需要记住一本书所有内容的问答系统。

问题:文章提到 xLSTM 7B 在推理速度上超越了 Mamba。你认为未来 xLSTM 在哪些方面还有提升空间,可以进一步拉开与 Mamba 和 Transformer 的差距?

我觉得吧,xLSTM 要想甩开膀子跑,还得在以下几个方面下功夫:

* 混合精度训练和推理: 现在大家都在搞这个,xLSTM 肯定也不能落下。用半精度甚至更低的精度来训练和推理,速度嗖嗖地就上去了,而且还能省显存。
* 内核优化: 这个是底层优化,得靠大佬们写更快的 CUDA Kernel。针对 mLSTM 这种特殊的结构,定制一套优化过的 Kernel,肯定能榨干 GPU 的性能。
* 分布式推理: 单卡跑得快还不够,得能多卡一起跑。把模型拆开,放到多张卡上并行推理,那速度想想都刺激。

当然,最关键的还是得有更多人来研究和改进 xLSTM,人多力量大嘛!

问题:xLSTM 7B 在哪些实际应用场景中能够发挥其优势?例如,在移动设备或边缘计算等资源受限的环境中,它相比其他模型有哪些优势?
在资源受限的环境中,xLSTM 7B 的优势还是很明显的:

1. 内存占用低:循环神经网络天生对内存友好,加上 xLSTM 的优化,在内存敏感的场景下优势很大。

2. 速度快:推理速度快意味着更低的延迟,这对实时性要求高的应用很重要。

具体来说,可以应用在:

1. 移动端的实时翻译、语音识别:在手机上跑大模型,内存和速度是关键。

2. 智能家居的语音助手:边缘计算设备通常计算资源有限,xLSTM 7B 可以让语音助手更流畅。

3. 可穿戴设备:比如智能手表,可以用 xLSTM 7B 做一些简单的自然语言处理任务。

问题:xLSTM 7B 在哪些实际应用场景中能够发挥其优势?例如,在移动设备或边缘计算等资源受限的环境中,它相比其他模型有哪些优势?

xLSTM 7B 的优势在于速度快、内存占用低,所以非常适合在资源受限的环境中使用。以下是一些具体的应用场景:

1. 移动设备上的 AI 应用: 比如手机上的智能输入法、AI 相机、离线翻译等。这些应用需要在有限的计算资源和内存下运行,对速度和效率要求很高。

2. 边缘计算设备: 智能摄像头、无人机、机器人等。这些设备需要在本地进行实时数据处理,对延迟要求很高。xLSTM 7B 可以帮助它们更快地做出决策。

3. 物联网设备: 智能家居设备、可穿戴设备等。这些设备通常计算能力较弱,但需要完成一些简单的 AI 任务,比如语音控制、健康监测等。

4. 离线应用: 在没有网络连接的情况下,xLSTM 7B 也能正常工作,这使得它非常适合在一些特殊的场景中使用,比如野外探险、军事作战等。