Reflection发布501B参数开源模型Beam

Reflection发布501B参数开源模型Beam,采用MoE架构且每token仅激活23B参数。该模型支持1M上下文窗口及Apache 2.0许可证,主要面向编码与代理场景,并提供多种推理强度选项。

美国新实验室 Reflection 于 2026 年 10 月 16 日在 Hugging Face 发布了其首款开放权重模型 Beam。该模型采用混合专家(MoE)架构,总参数量为 501B,每个 token 激活参数为 23B。Beam 仅支持文本输入与输出,拥有 1M token 的上下文窗口,并以 Apache 2.0 许可证发布。

KV缓存降至36GB每token

Beam 主要面向编码和代理应用场景,旨在让团队能够在自有硬件、基础设施或云环境中部署前沿规模模型,并根据具体用例进行定制。官方提供了基于 Rust 的专用开源后端以优化性能,同时也支持 Transformers、vLLM 和 SGLang 等主流推理库。

核心规格摘要:

  • 501B 参数 MoE LLM,每 token 激活 23B 参数。
  • 共 52 层 MoE 结构,每层包含 256 个专家,路由器选择前 8 个专家。
  • 文本输入/输出,1M token 上下文窗口。
  • 检查点格式包括 BF16、FP8 和 NVFP4。
  • 支持在推理过程中保持上下文(preserve_thinking),具备专门语法的工具调用能力。
  • 支持五种推理强度值:"low", "medium", "high", "xhigh", "max"。
  • Tokenizer 内置响应模板。
  • Day-0 支持 Transformers, SGLang, vLLM。
  • 支持全参数强化学习(RL)及监督微调(SFT)配方。

社区构建计划

Reflection 宣布将向使用 Beam 构建最佳项目的开发者发放总计 10,000 美元的 Hub 积分。参与者需在 Hugging Face Hub 上分享作品,形式包括但不限于:

  • 基于 Beam 模型的 Spaces 演示应用。
  • 针对特定硬件的量化方案。
  • 利用 Beam 生成的合成数据集。
  • 为 Beam 构建的 RL 环境或对比测试结果。

项目提交后,Reflection 团队将评选出最佳项目并向获胜者的 Hub 账户发放积分。

技术架构解析

Beam 是一个纯文本模型,专为长文本推理和代理任务设计。作为稀疏 MoE 模型,它通过仅计算网络的一小部分来处理每个 token,从而在保持大模型能力的同时实现接近小模型的运行速度。

注意力机制

解码器由 52 层组成,隐藏层维度为 5,120。大多数层对前 512 个 token 采用滑动窗口注意力机制;每第六层以及最后一层则关注完整上下文。因此,模型包含 43 个滑动窗口层和 9 个全局层。

两种层类型在处理位置信息时有所不同。滑窗层使用 RoPE(旋转位置编码),因为相对位置在短窗口内至关重要。全局层不使用传统位置编码,而是对每个查询乘以一个随可见 token 数量缓慢增长的扩展因子:(1 + (pos + 1) / 2048) ** 0.1。这一机制充当温度调节器,确保随着上下文变长,Softmax 仍能保持精度而非变得平坦。这种实现被称为可扩展 Softmax 查询缩放。

注意力模块采用分组查询注意力(GQA),包含 48 个查询头和 8 个键值头,并在查询和键上使用 RMSNorm。在输出投影之前,一个从输入层计算的 Sigmoid 门会对每个头的每个通道进行缩放。

混合专家系统

前 3 层使用稠密 SwiGLU MLP。其余 49 层替换为包含 256 个专家的 Mixture-of-Experts 模块。每个专家均为中间层大小 2,560 的 SwiGLU MLP,参数量约 39M。这些专家占据了模型总参数量的 98.4%。

路由器遵循 DeepSeek-V3 的组限制方案:将 256 位专家分为 8 组(每组 32 人),根据每组前两个分数的总和排名保留最佳的 4 个组,然后从中选出前 8 位专家。Beam 使用了与 DeepSeek-V3 相同的组大小,但没有共享专家。专家输出与规范路由器权重相结合,并缩小为 2.5。

由于每个 token 仅激活 8 名专家,模型计算量约为 23B 参数。所有 256 位专家需常驻内存,因此部署需要容纳 501B 参数的显存空间,但运行效率相当于 23B 模型。BF16 检查点约占 1 TB 存储空间。对于 NVIDIA Blackwell GPU,NVFP4 检查点以 4 位精度存储大部分参数,部分关键参数保留 BF16 精度。此外还提供 FP8 检查点,适用于 Hopper 和 Ampere 系列芯片。

残差流设计

残差连接是 Beam 架构的特色之一。标准 Transformer 将每个子层输出以权重 1 添加到残差流中,导致流的大小随深度增加而增长。Beam 则将输入嵌入作为第一步,在第 k 步中,添加权重为 1/sqrt(k) 的子层输出,并保留权重为 sqrt((k-1)/k) 的现有流。这两个权重的平方和为 1,使得从第一层到最后一层的累积隐藏状态尺度保持不变。经过 104 次加法操作后,每个子层输出和输入嵌入在最终隐藏状态中具有相同的权重。

每个子层前后均进行归一化,最后的逻辑通过在 ±30 范围内的 Tanh 软盖处理,并在 FP32 精度下计算。路由器、SwiGLU 乘积、归一化、RoPE、查询缩放和软帽均在 FP32 中执行以确保数值稳定性。

长上下文管理

混合注意力机制有效降低了长上下文的缓存需求。若所有 52 层均为全局注意力,KV 缓存每 token 将增长 208 GB。而在 Beam 中,只有 9 个全局层保留整个序列,43 个滑动窗口层固定 512 token 窗口且不再增长。这使得每 token 的缓存增长降至 36 GB,约为原始方案的六分之一。

Context 如果所有的 52 个层都是全球性的 Beam
32K 代币 6.5 GiB 1.2 GiB
128K 代币 26 GiB 4.6 GiB
全文 (1M) 208 GiB 36.08 GB

注:以上数据基于单序列、BF16 精度及 Transformers 动态缓存计算。

基准测试表现

以下是 Reflection 团队提供的不同精度水平下的基准测试结果:

梁 (BF16) 梁 (FP8) 梁 (NVFP4)
代理编码/终端
在 DeepSWE v1.1 中 43.3% 43.0% 42.7%
在 SWE Bench Pro v2-Hard 中使用 76.5% 78.4% 78.6%
在 SWE Bench Pro v1 中 66.1% 65.9% 65.6%
终端板 v2.1 80.1% 78.9% 78.2%
SWE Atlas 代码库 QnA 31.8% 32.2% 31.4%
多语言的 SWEBench 78.3% 78.1% 77.5%
经过 SWEBench 的验证 81.6% 80.2% 80.7%
推理
AIME 2026 年 97.7% 98.0% 97.5%
HLE (没有工具) 36.0% 36.0% 34.8%
HLE (使用工具) 51.1% 51.1% 51.1%
SciCode 49.2% 48.3% 46.9%
美国 CriPT 16.3% 17.4% 15.4%
GPQA 钻石 90.6% 90.3% 89.3%
在 LiveCodeBench 88.3% 88.1% 87.4%
工具调用 / 搜索
自动化板 - 只有公开分割 39.3 38.2 39.8%
马克思图谱 80.8% 81.5% 80.5%
银行业 36.1% 36.8% 35.4%
BrowseComp w/ context management 76.8% 76.7% 75.6%
DeepSearchQA w/ context management 80.5% 79.6% 81.1%
General Capabilities
AA-LCR 78.2% 79.4% 78.7%
LongBench v2 67.5% 67.6% 67.2%
IFBench 79.6% 80.7% 79.2%
AA Omniscience (index) - public split only 10.8 8.8 9.8

硬件要求

最实用的服务方式是部署 NVFP4 检查点,它在大幅降低存储需求的同时保留了 BF16 的大部分质量。NVFP4 将部分权重存储为 4 位,使 501B 参数的 BF16 模型从 1 TB 缩减至约 280 GB。Blackwell GPU 原生支持 NVFP4,而较旧的 GPU(如 H200)不支持,此时建议使用 FP8 检查点。

单个 B200 GPU 拥有 180 GB HBM3e 显存。两张 B200(共 360 GB)可容纳 Beam 权重,但留给激活值和 KV 缓存的空间较少。建议规划四张 B200(720 GB),以便充分支持长上下文和并发请求。也可在全 8xB200 节点、两张 288 GB 的 B300 或 8xRTX Pro 6000 上部署。若无 Blackwell 硬件,可通过 Inference Providers(无服务器)进行测试。

推理支持

Beam 在 Transformers、SGLang 和 vLLM 中提供 Day-0 支持。

Transformers

安装最新版本的 transformers:

pip install -U "transformers>=5.20.1"

最简单的运行方式是使用 text-generation pipeline:

from transformers import pipeline

pipe = pipeline(
    "text-generation", model="reflection/Beam-1.0-501B-A23B", device_map="auto"
)

messages = [
    {"role": "user", "content": "Write a limerick about Python exceptions."}
]
output = pipe(messages, max_new_tokens=2000)
output[0]["generated_text"][-1]

Pipeline 返回完整的对话内容,最后一条消息即为 Beam 的回复,已由响应模板解析。

底层调用可使用 AutoModelForCausalLM 和 AutoTokenizer:

from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "reflection/Beam-1.0-501B-A23B"
tokenizer = AutoTokenizer

评论 0

0/500

评论需审核后展示,请文明发言

💬
还没有评论,来说两句

相关阅读