概述
xLSTM缩放定律研究深入分析了xLSTM架构相比Transformer的缩放行为,揭示了xLSTM在计算最优模型、推理效率和长上下文处理方面的独特优势。1
核心发现:
- 计算最优模型:xLSTM的最优规模比Transformer更大
- 幂律缩放:在5个数量级的计算范围内保持良好缩放
- 推理优势:长序列下TTFT和单步时间显著更优
- FLOPs效率:相比Transformer有更好的loss-to-FLOP比
1. 缩放实验设置
1.1 模型规模范围
实验覆盖了广泛的模型规模:
| 参数规模 | 隐藏维度 | 层数 | 训练Tokens |
|---|---|---|---|
| 80M | 1024 | 12 | 2B |
| 200M | 1536 | 24 | 5B |
| 500M | 2048 | 36 | 10B |
| 1B | 2560 | 48 | 20B |
| 3B | 3072 | 60 | 50B |
| 7B | 4096 | 48 | 200B |
1.2 训练数据集
训练语料:
- Pile:300B tokens
- SlimPajama:额外100B tokens
- 总计:最多200B tokens/模型
1.3 评估指标
主要评估指标:
- 困惑度(PPL):语言建模质量
- FLOPs:计算成本
- TTFT:Time To First Token(首Token时间)
- Step Time:每步推理时间
2. 训练损失缩放
2.1 统一缩放定律
xLSTM和Transformer都遵循统一缩放定律:
其中:
- :模型参数量
- :训练数据量
- :测试损失
- :拟合参数
2.2 拟合结果
| 参数 | Transformer | xLSTM | 差异 |
|---|---|---|---|
| 0.076 | 0.072 | 接近 | |
| 0.103 | 0.098 | 接近 | |
| 2.14 | 2.12 | 接近 |
结论:xLSTM和Transformer具有相似的幂律指数,但xLSTM的常数项略低。
2.3 Loss-COMPUTE曲线
Log(计算量) vs Log(损失)
│
2.5 ┤ ● Transformer
│ ╱
2.6 ┤ ╱ ● xLSTM
│ ╱ /
2.7 ┤ ╱ ╱
│ ╱ ╱
2.8 ┤ ╱ ╱
│╱╱
2.9 ┤
└─────────────────────
17 19 21 23
Log(C)
观察:xLSTM在相同计算量下达到更低的损失。
3. 计算最优模型分析
3.1 理论分析
计算最优模型满足:
即增加模型参数和增加训练数据的边际收益相等。
3.2 最优N-D关系
对于Transformer:
对于xLSTM:
3.3 实验结果
| 计算预算(C) | Transformer最优N | xLSTM最优N | 比率 |
|---|---|---|---|
| 85M | 120M | 1.41x | |
| 300M | 480M | 1.60x | |
| 1.1B | 2.0B | 1.82x | |
| 4.2B | 8.5B | 2.02x | |
| 15B | 35B | 2.33x |
关键发现:xLSTM的最优模型规模是Transformer的1.4-2.3倍。
3.4 解释
为什么xLSTM的最优模型更大?
- 更低的推理成本:xLSTM的线性复杂度使大模型更”便宜”
- 更好的参数效率:指数门控增强了表达能力
- 更快的收敛:需要更少的数据即可达到相同性能
4. 推理时间特性
4.1 推理时间分解
LLM推理分为两部分:
| 阶段 | 描述 | Transformer时间 | xLSTM时间 |
|---|---|---|---|
| Prefill | 处理输入prompt | ||
| Decode | 自回归生成 |
4.2 Time to First Token (TTFT)
TTFT包括:
- Prefill时间:处理输入
- 调度时间:GPU分配
- 内存加载:权重加载
| 序列长度 | Transformer TTFT | xLSTM TTFT | 加速 |
|---|---|---|---|
| 1K | 50ms | 35ms | 1.43x |
| 4K | 200ms | 45ms | 4.4x |
| 8K | 800ms | 55ms | 14.5x |
| 16K | 3200ms | 70ms | 45.7x |
4.3 单步推理时间
| 序列长度 | Transformer | xLSTM | 加速 |
|---|---|---|---|
| 1K | 10ms | 9ms | 1.1x |
| 4K | 10ms | 9ms | 1.1x |
| 8K | 10ms | 9ms | 1.1x |
| 16K | 10ms | 9ms | 1.1x |
观察:Decode阶段两者相近,但xLSTM的常数更小。
4.4 内存与带宽
| 指标 | Transformer | xLSTM |
|---|---|---|
| 参数内存 | ||
| KV Cache | ||
| 16K序列KV Cache | ~16GB | ~0.5GB |
| 内存带宽利用率 | 较高 | 更高 |
5. 上下文长度缩放
5.1 实验设置
测试不同上下文长度下的性能:
| 上下文长度 | 评估方式 |
|---|---|
| 2K | 标准 |
| 4K | 标准 |
| 8K | RoPE插值 |
| 16K | RoPE插值 |
| 32K | YaRN + RoPE |
5.2 困惑度随上下文变化
| 模型 | 2K | 4K | 8K | 16K | 32K |
|---|---|---|---|---|---|
| Transformer | 12.5 | 11.8 | 11.2 | 10.8 | 10.5 |
| xLSTM | 12.3 | 11.5 | 10.8 | 10.2 | 9.8 |
观察:xLSTM随上下文增长的性能衰减更小。
5.3 解释
xLSTM的长上下文优势来源:
- 线性注意力:避免二次复杂度
- 矩阵记忆:增强长程依赖建模
- 门控机制:选择性遗忘无关信息
6. 训练效率分析
6.1 FLOPs效率
Loss-to-FLOPs比率定义:
| 模型规模 | Transformer | xLSTM | 改善 |
|---|---|---|---|
| 100M | 1.00 | 1.08 | +8% |
| 500M | 1.00 | 1.12 | +12% |
| 1B | 1.00 | 1.15 | +15% |
| 7B | 1.00 | 1.22 | +22% |
6.2 内存效率
| 指标 | Transformer | xLSTM | 差异 |
|---|---|---|---|
| 激活内存 | 显著节省 | ||
| 梯度内存 | 相近 | ||
| 优化器状态 | 相近 |
6.3 分布式训练
xLSTM在分布式训练中的特点:
# xLSTM的并行化策略
parallel_config = {
"tensor_parallel": {
"embedding": "row_parallel",
"output": "col_parallel",
},
"pipeline_parallel": {
"attention": "standard",
"ssm": "interleaved", # SSM更适合流水线
},
"sequence_parallel": {
"enabled": True,
"attention_mask": "local",
}
}7. 与其他架构的对比
7.1 缩放指数对比
| 架构 | 最优N∝ | ||
|---|---|---|---|
| Transformer | 0.076 | 0.103 | |
| Mamba | 0.074 | 0.100 | |
| RWKV-4 | 0.075 | 0.102 | |
| GLA | 0.073 | 0.099 | |
| xLSTM | 0.072 | 0.098 |
7.2 推理特性对比
| 特性 | Transformer | Mamba | xLSTM |
|---|---|---|---|
| Prefill复杂度 | |||
| Decode复杂度 | |||
| KV Cache | |||
| 最优模型比例 | 1.0x | 1.1x | 1.4-2.3x |
8. 实践建议
8.1 模型选择指南
| 场景 | 推荐架构 |
|---|---|
| 短序列(<2K) | Transformer |
| 长序列(>4K) | xLSTM/Mamba |
| 状态追踪任务 | xLSTM |
| 代码生成 | Transformer |
| 对话系统 | xLSTM |
8.2 计算预算分配
基于xLSTM缩放定律的建议:
def compute_budget_allocation(total_compute, architecture='xlstm'):
"""
计算最优模型规模
Args:
total_compute: 总计算量 (FLOPs)
architecture: 'xlstm' 或 'transformer'
"""
if architecture == 'xlstm':
gamma = 0.54 # xLSTM的指数
else:
gamma = 0.50 # Transformer的指数
# 最优参数量
N_opt = total_compute ** gamma
# 最优训练数据量
D_opt = total_compute / (N_opt * C_forward)
return N_opt, D_opt8.3 超参数建议
| 参数 | Transformer建议 | xLSTM建议 |
|---|---|---|
| 学习率 | ||
| Batch Size | 4M tokens | 4M tokens |
| Warmup | 2% | 2% |
| 权重衰减 | 0.1 | 0.1 |
| 梯度裁剪 | 1.0 | 1.0 |
9. 总结
xLSTM的缩放定律研究揭示了以下关键洞察:
-
相似但更优的幂律:xLSTM遵循与Transformer相似的缩放规律,但常数项更低
-
更大的计算最优模型:xLSTM的最优模型规模是Transformer的1.4-2.3倍
-
显著的长上下文优势:16K序列下TTFT加速45x
-
更好的FLOPs效率:7B规模下**22%**的训练效率提升
这些发现为未来LLM架构选择和训练策略提供了重要参考。
参考资料
相关文档:[[xlstm-7b-advanced-architecture]、[scaling-laws-redundancy-theory]、[transformer-scaling-laws]]
第10章:xLSTM Scaling Laws 完结版 (ICLR 2026)
论文背景
Maximilian Beck, Kajetan Schweighofer, Sebastian Böck, Sebastian Lehner 和 Sepp Hochreiter 在 ICLR 2026 上发表完整版 xLSTM 缩放定律研究论文:
“xLSTM Scaling Laws: Competitive Performance with Linear Time-Complexity”
OpenReview: https://openreview.net/forum?id=bpbU549sSg
这是 xLSTM 系列研究的核心定量结论,给出了在 80M 到 7B 参数范围内完整拟合的 scaling law,并首次系统比较了 xLSTM 与 Transformer 在训练计算量维度上的差异。2
完整 scaling law 推导
论文给出的最终公式:
其中:
- :模型参数量
- :训练token数
- :拟合常数
- :测试集损失(nats/token)
与 Transformer 形式对比:
| 项 | Transformer (Chinchilla) | xLSTM (2026) |
|---|---|---|
| 0.076 | 0.072 | |
| 0.103 | 0.098 | |
| 1.0 (线性内) | 1.02 (轻微凸) | |
| 2.14 | 2.09 |
xLSTM 的 略小(说明更平缓),但 更低(说明渐近损失更优)。3
与 Transformer scaling law 对比
Compute-Loss 曲线:
log(L)
↑
2.5 | ●━━━━━ Transformer
| ╲
2.6 | ╲ ●━━━━ xLSTM
| ╲
2.7 | ╲
| ╲
2.8 | ╲
| ╲
2.9 | ╲
└──────────────────→ log(C)
17 18 19 20 21
关键观察:在相同的训练计算量下,xLSTM 始终达到更低的损失。差距随模型规模扩大而增大,7B 规模约 0.05 nats 的优势。
线性复杂度的训练 FLOPs 优势
xLSTM 的核心架构优势在于 sLSTM 和 mLSTM 的线性时间复杂度。4
单token训练 FLOPs:
| 组件 | Transformer | xLSTM |
|---|---|---|
| Attention | ||
| SSM/记忆 | — | |
| FFN | ||
| 总计 |
注: 为训练序列长度。
当 时,Transformer 的 attention FLOPs 超过 FFN,成为瓶颈;xLSTM 始终保持稳定。
Compute-Optimal 分配
论文给出 compute-optimal 的精确公式(设总计算 ):
Transformer (Chinchilla):
xLSTM(本文拟合):
| 计算预算 (FLOPs) | 比率 | ||
|---|---|---|---|
| 205M | 295M | 1.44× | |
| 650M | 1.0B | 1.54× | |
| 2.05B | 3.5B | 1.71× | |
| 6.5B | 12.3B | 1.89× |
xLSTM 的 compute-optimal 模型显著更大,但因为训练 FLOPs 总量固定,更大模型意味训练数据更少。5
1B-7B 规模验证
论文在 1B、3B、7B 三个规模上验证了 scaling law 的预测精度:
| 模型规模 | 实际训练损失 | Scaling law 预测 | 误差 |
|---|---|---|---|
| 1B xLSTM | 2.456 | 2.461 | +0.20% |
| 3B xLSTM | 2.298 | 2.303 | +0.22% |
| 7B xLSTM | 2.187 | 2.194 | +0.32% |
结论:scaling law 在 80M 到 7B 的4个数量级范围内精确预测训练损失(误差 < 0.5%)。
实际意义
对于同样的训练 FLOPs 预算:
- 若按 Transformer 配比训练 xLSTM:xLSTM 损失更低(最优模型略欠训练)
- 若按 xLSTM 配比训练 Transformer:Transformer 损失显著高于最优
- 最优策略:使用 xLSTM 的 compute-optimal 配比训练 xLSTM
PyTorch 训练示例
import torch
import torch.nn as nn
from xlstm import xLSTMBlock, xLSTMLMConfig
def compute_optimal_xlstm(total_compute_flops, tokenizer_vocab_size):
"""
根据xLSTM scaling law计算最优模型规模和训练token数
total_compute_flops: 总训练FLOPs预算
"""
# xLSTM拟合参数(ICLR 2026完结版)
gamma_N = 0.54
gamma_D = 0.46
# 最优参数量
N_opt = 0.58 * (total_compute_flops ** gamma_N)
# 最优token数
D_opt = total_compute_flops / (6 * N_opt)
# 模型配置
config = xLSTMLMConfig(
vocab_size=tokenizer_vocab_size,
embedding_dim=int(64 * (N_opt / 1e9) ** 0.5),
num_layers=int(16 * (N_opt / 1e9) ** 0.3),
mlstm_hidden=int(N_opt ** 0.5),
slstm_hidden=int(N_opt ** 0.4),
)
return N_opt, D_opt, config
# 示例:训练预算1e21 FLOPs (~50B参数训练量)
N_opt, D_opt, config = compute_optimal_xlstm(
total_compute_flops=1e21,
tokenizer_vocab_size=50257
)
print(f"最优模型规模: {N_opt/1e9:.2f}B")
print(f"最优训练token: {D_opt/1e9:.0f}B")
# 训练循环(简化)
model = xLSTMBlock(config)
optimizer = torch.optim.AdamW(model.parameters(), lr=1.2e-4, weight_decay=0.1)
scheduler = torch.optim.lr_scheduler.CosineAnnealingLR(
optimizer, T_max=int(D_opt / config.batch_size)
)
for step in range(int(D_opt / config.batch_size)):
batch = next(train_loader) # (B, T)
logits = model(batch)
loss = nn.functional.cross_entropy(
logits.view(-1, config.vocab_size),
batch.view(-1)
)
optimizer.zero_grad()
loss.backward()
torch.nn.utils.clip_grad_norm_(model.parameters(), 1.0)
optimizer.step()
scheduler.step()第11章:xLSTM 7B 工业级实现 (ICML 2025)
论文背景
Beck 等人在 ICML 2025 发表 “xLSTM 7B: A Recurrent LLM for Fast and Efficient Inference”,给出了 xLSTM 7B 模型的完整实现细节。6
链接:
7B 模型架构
xLSTM-7B 混合使用 sLSTM 和 mLSTM 块:
| 参数 | 值 |
|---|---|
| 总参数 | 6.85B |
| 嵌入维度 | 4096 |
| 层数 | 48 |
| sLSTM:mLSTM 比例 | 1:3 |
| 注意力头数(mLSTM) | 8 |
| FFN 隐藏维度 | 16384 |
| 词汇表大小 | 50257 |
| 上下文长度 | 8192 |
| 训练 token 数 | 250B |
与 Transformer 7B 推理速度对比
Prefill 阶段(处理 长度的 prompt):
| Llama-2 7B | xLSTM-7B | 加速 | |
|---|---|---|---|
| 512 | 38ms | 28ms | 1.36× |
| 1024 | 75ms | 31ms | 2.42× |
| 2048 | 188ms | 36ms | 5.22× |
| 4096 | 612ms | 48ms | 12.75× |
| 8192 | 2300ms | 72ms | 31.9× |
Decode 阶段(单 token 生成):
| 上下文长度 | Llama-2 7B | xLSTM-7B | 加速 |
|---|---|---|---|
| 512 | 9.2ms | 8.1ms | 1.14× |
| 4096 | 9.4ms | 8.2ms | 1.15× |
| 8192 | 9.6ms | 8.3ms | 1.16× |
总生成时间(512 prompt + 256 生成):
- Llama-2 7B:38 + 256×9.2 ≈ 2393ms
- xLSTM-7B:28 + 256×8.1 ≈ 2102ms
- 加速比:1.14×(短 prompt),14×(长 prompt)
内存占用对比
| 资源 | Llama-2 7B | xLSTM-7B | 节省 |
|---|---|---|---|
| 参数内存 (fp16) | 13.5 GB | 13.5 GB | 0% |
| KV Cache (8K ctx, batch=1) | 16.0 GB | 0.4 GB | 97.5% |
| 激活内存 (batch=8) | 24.5 GB | 12.2 GB | 50.2% |
| 总峰值 (8K ctx, batch=8) | 54.0 GB | 26.1 GB | 51.7% |
核心优势:xLSTM 几乎不需要 KV Cache(仅 mLSTM 块需要极少缓存),这使长上下文推理的内存占用大幅降低。7
训练细节
xLSTM-7B 的训练配置:
training_config = {
# 优化器
"optimizer": "AdamW",
"learning_rate": 1.2e-4,
"min_lr_ratio": 0.1,
"weight_decay": 0.1,
"beta1": 0.9,
"beta2": 0.95,
# 调度
"scheduler": "cosine",
"warmup_steps": 2000,
# 批处理
"batch_size_tokens": 4_000_000,
"sequence_length": 8192,
# 训练量
"total_tokens": 250_000_000_000,
# 硬件
"hardware": "256 × H100",
"training_time": "21 days",
"precision": "bf16 + fp32 master weights",
# 稳定性技巧
"gradient_clip": 1.0,
"z_loss_weight": 1e-4,
"slstm_stabilization": "exponential gating",
}评估结果
xLSTM-7B 在标准基准上的表现:
| 任务 | Llama-2 7B | xLSTM-7B | 差异 |
|---|---|---|---|
| WikiText PPL | 5.47 | 5.41 | +0.06 |
| LAMBADA | 73.9% | 74.2% | +0.3% |
| HellaSwag | 76.1% | 75.8% | -0.3% |
| ARC-c | 48.5% | 47.9% | -0.6% |
| MMLU | 45.3% | 44.7% | -0.6% |
| HumanEval | 14.6% | 15.2% | +0.6% |
| GSM8K | 14.8% | 16.3% | +1.5% |
总体结论:xLSTM-7B 在代码生成(HumanEval)和数学推理(GSM8K)上有明显优势,传统 NLP 基准持平。8
部署建议
场景1:长上下文检索增强生成(RAG)
# 推荐:xLSTM-7B在32K+上下文下优势显著
from xlstm import xLSTM7B
model = xLSTM7B.from_pretrained("xlstm-7b-base")
model.to("cuda:0")
# 长上下文推理无需KV Cache管理
context = open("long_document.txt").read() # 32K tokens
prompt = f"根据以下文档回答问题:\n{context}\n\n问题:..."
with torch.no_grad():
response = model.generate(
prompt,
max_new_tokens=512,
# 无需past_key_values参数
)场景2:高吞吐批处理
xLSTM 的 sLSTM 块完全 sequential,但 mLSTM 块支持并行。在 batch size ≥ 16 时,xLSTM-7B 的吞吐量优于 Llama-2 7B 约 40%(相同硬件)。
场景3:边缘部署
xLSTM 的内存优势使其在 24GB 显存的消费级 GPU(如 RTX 4090)上可运行 7B 模型的 8K 上下文推理,而 Llama-2 7B 需要开启 offloading。
与其他 7B 模型的推理对比
| 模型 | Prefill (4K) | Decode (单步) | 总吞吐 (tokens/s) | KV Cache (8K) |
|---|---|---|---|---|
| Llama-2 7B | 612ms | 9.4ms | 105 | 16.0 GB |
| Mistral 7B | 580ms | 9.1ms | 110 | 8.0 GB |
| Mamba-7B | 48ms | 8.5ms | 117 | 0.4 GB |
| xLSTM-7B | 48ms | 8.2ms | 121 | 0.4 GB |
| RWKV-6 7B | 52ms | 8.7ms | 114 | 0.3 GB |
xLSTM-7B 在各项指标上均处于领先地位。9
参考(扩展部分)
更多相关词条:注意力与SSM统一理论,SSM瓶颈理论,SSM表达力状态大小理论,缩放定律冗余理论*
Footnotes
-
Beck, M. et al. (2026). xLSTM Scaling Laws: Competitive Performance with Linear Time-Complexity. ICLR 2026. ↩
-
Beck, M. et al. (2026). xLSTM Scaling Laws: Competitive Performance with Linear Time-Complexity. ICLR 2026. OpenReview: https://openreview.net/forum?id=bpbU549sSg. ↩
-
Beck, M. et al. (2026). xLSTM Scaling Laws. Section 5 (Parameter Fitting Results). ↩
-
Beck, M. et al. (2024). xLSTM: Extended Long Short-Term Memory. NeurIPS 2024. arXiv:2405.04517. ↩
-
Beck, M. et al. (2026). xLSTM Scaling Laws. Section 6 (Compute-Optimal Allocation). ↩
-
Beck, M. et al. (2025). xLSTM 7B: A Recurrent LLM for Fast and Efficient Inference. ICML 2025. PMLR v267. arXiv:2503.13427. ↩
-
Beck, M. et al. (2025). xLSTM 7B. Section 4.2 (Memory Footprint Analysis). ↩
-
Beck, M. et al. (2025). xLSTM 7B. Table 5 (Benchmark Results). ↩
-
Beck, M. et al. (2025). xLSTM 7B. Section 5 (Inference Speed Comparison). ↩