Falcon Mamba 7B 发布说明

Falcon Mamba 7B 是技术创新研究所(TII)推出的全新开放获取模型,展示了状态空间语言模型(SSLM)在不伴随注意力机制线性增长的计算和内存成本的情况下,能够实现与最先进(SoTA)Transformer 竞争的性能。

纯 Mamba 架构与序列扩展

Falcon Mamba 基于原始的 Mamba 架构,利用选择性状态空间克服 Transformer 的序列扩展限制。为确保大规模训练的稳定性,TII 在基础 Mamba 设计中添加了额外的 RMS 归一化层。

该架构相较于基于注意力的模型提供了两个主要技术优势:

  • 任意序列长度: 该模型能够处理任意长度的序列,而不会导致内存存储相应增加,使其能够在单个 A10 24GB GPU 上运行。
  • 恒定生成时间: 生成新 token 所需的时间保持不变,无论上下文大小如何。

模型训练与数据

Falcon Mamba 使用约 5,500GT 的数据进行训练。数据集主要由 RefinedWeb 数据构成,辅以来自公共来源的高质量技术数据和代码。训练过程在大部分时间采用恒定学习率,随后进行短暂的学习率衰减阶段,加入少量高质量精选数据以提升最终性能。

性能基准

通过 lm-evaluation-harness(使用 Hugging Face 分数归一化)和 lighteval 进行的评估表明,Falcon Mamba-7B 是迄今为止最强的纯 SSM 模型,常常能够与混合 SSM-注意力模型以及多种基于 Transformer 的模型竞争或超越它们的性能。

新排行榜版本结果

模型名称 IFEval BBH MATH LvL5 GPQA MUSR MMLU-PRO 平均
Falcon Mamba-7B 33.36 19.88 3.63 8.05 10.86 14.47 15.04
recurrentgemma-9b 30.76 14.80 4.83 4.70 6.60 17.88 13.20
Falcon2-11B 32.61 21.94 2.34 2.80 7.53 15.44 13.78
Meta-Llama-3.1-8B 12.70 25.29 4.61 6.15 8.98 24.95 13.78
gemma-7B 26.59 21.12 6.42 4.92 10.98 21.64 15.28

LLM 排行榜(第一版)结果

模型名称 ARC HellaSwag MMLU Winogrande TruthfulQA GSM8K 平均
Falcon Mamba-7B 62.03 80.82 62.11 73.64 53.42 52.54 64.09
recurrentgemma-9b 52.00 80.40 60.50 73.60 38.60 42.60 57.95
Falcon2-11B 59.73 82.91 58.37 78.30 52.56 53.83 64.28
Meta-Llama-3-8B 60.24 82.23 66.70 78.45 42.93 45.19 62.62

内存与吞吐量分析

Falcon Mamba 在序列处理的预填充(prefill)和解码阶段相较于 Transformer 模型表现出显著的效率提升。

预填充效率

处理提示(预填充)主要有两种方法:

  1. 并行预填充: 将整个提示并行处理,以最大化 GPU 利用率。在此模式下,内存需求随提示长度而增长,因为需要存储隐藏状态。即便如此,Falcon Mamba 仍能容纳比 Transformer 更长的序列。
  2. 顺序预填充: 逐 token 或分块处理提示。该方法使 SSM 能够处理任意长度的提示,而不会出现 Transformer 中的内存扩展问题。

生成吞吐量

在使用 H100 GPU、提示长度为 1、生成最多 130k token 的测试中,Falcon Mamba 保持了恒定的吞吐量和稳定的 CUDA 峰值内存。相比之下,Transformer 模型的峰值内存随序列长度增加而上升,生成速度下降。

实现与可用性

Falcon Mamba 已集成到 Hugging Face transformers 库(版本 >4.45.0)中,并兼容 AutoModelForCausalLMpipeline API。

模型变体

  • 基础模型: 标准的预训练模型。
  • 指令模型: 通过 50 亿 token 的监督微调(SFT)数据进行微调,以提升指令任务性能的版本。
  • 量化版本: 基础模型和指令模型的 4 位转换版本,供使用 bitsandbytes 兼容 GPU 的用户使用。

优化

用户在加载模型后使用 torch.compile(model) 可实现更快的推理。

Sources