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 模型表现出显著的效率提升。
预填充效率
处理提示(预填充)主要有两种方法:
- 并行预填充: 将整个提示并行处理,以最大化 GPU 利用率。在此模式下,内存需求随提示长度而增长,因为需要存储隐藏状态。即便如此,Falcon Mamba 仍能容纳比 Transformer 更长的序列。
- 顺序预填充: 逐 token 或分块处理提示。该方法使 SSM 能够处理任意长度的提示,而不会出现 Transformer 中的内存扩展问题。
生成吞吐量
在使用 H100 GPU、提示长度为 1、生成最多 130k token 的测试中,Falcon Mamba 保持了恒定的吞吐量和稳定的 CUDA 峰值内存。相比之下,Transformer 模型的峰值内存随序列长度增加而上升,生成速度下降。
实现与可用性
Falcon Mamba 已集成到 Hugging Face transformers 库(版本 >4.45.0)中,并兼容 AutoModelForCausalLM 和 pipeline API。
模型变体
- 基础模型: 标准的预训练模型。
- 指令模型: 通过 50 亿 token 的监督微调(SFT)数据进行微调,以提升指令任务性能的版本。
- 量化版本: 基础模型和指令模型的 4 位转换版本,供使用
bitsandbytes兼容 GPU 的用户使用。
优化
用户在加载模型后使用 torch.compile(model) 可实现更快的推理。