Meta Muse Spark Open 816B 多模态 MoE 模型发布

TL;DR

Meta 发布了 Muse Spark Open,一个开放权重的 816B 参数多模态混合专家(MoE)模型,可处理文本、图像、音频和视频,支持高达 1M token 的上下文,并针对智能体编码和工具调用进行了优化。


整体架构与规模

关键要点: Muse Spark Open 结合了庞大的 816B 总参数量,但每个 token 仅激活约 42B 参数,这得益于 256 专家的 MoE 层,每个 token 会选择 8 个专家。

  • 模型大小: 约 816B 总参数;每个 token 约 42B 激活参数。
  • MoE 配置: 每个 MoE 层有 256 个专家,每个 token 路由到 8 个专家。
  • 层数: 62 个 Transformer 层,隐藏维度 8192,分组查询注意力(128 个查询头,16 个键值头,每个头 64 维)。
  • 上下文窗口: 高达 1,048,576 个 token,涵盖文本、图像、音频和视频 token。
  • 检查点格式: BF16(约 1.5TB safetensors)和 NVFP4(适用于 NVIDIA Blackwell GPU 的 4 位量化)。
  • 参数分布: 专家持有约 97% 的参数;每个 token 仅激活一小部分,从而在保持 816B 模型容量的同时,实现与 42B 密集模型相当的推理速度。

多模态感知编码器

关键要点: 独立的编码器将视觉和音频输入转换为与语言模型兼容的 token 流。

图像与视频编码器

  • 参数: 总共 1.8B,50 层,隐藏大小 1536,16 个注意力头。
  • 补丁处理: 图像被分割为 14×14 的补丁,每个补丁产生 4096 维特征。
  • 位置编码: 学习到的绝对嵌入加上 2-D RoPE。
  • 注意力模式: 每第四层和最后一层使用全注意力;其他层使用稀疏注意力。
  • 视频处理: 同一编码器处理视频帧;帧被下采样(默认 2 FPS,最多 96 帧),并与时间戳 token 交错。

音频编码器

  • 分词速率: 每 80 毫秒一个音频 token(12.5 token/秒)。
  • 架构: 卷积金字塔,补丁嵌入器阶段大小为 [16, 6, 5, 4];每个阶段包含两个 1-D 卷积块(核大小 7,步长 1)。
  • 最终投影: RMSNorm → 线性层 → RMSNorm。
  • 输入要求: 24 kHz 的单声道波形,填充到 1,920 个样本的倍数。

长上下文机制

关键要点: 分组查询注意力使 KV 缓存保持可管理,在 BF16 下每个 token 需要约 250KB(完整的 1M token 上下文约为 266GB)。

  • 每个 token 的 KV 缓存大小: 2 × 16 头 × 64 维 × 62 层 = 126,976 个值。
  • 影响: 支持极长的提示,可包含大型代码库、多模态文档或浏览历史。

推理接口

关键要点: 该模型通过多个流行的服务堆栈暴露,每个堆栈都支持完整的的多模态分词管道。

Transformers(HF AutoModelForMultimodalLM)

  • 使用 MuseSparkProcessor 组合分词器、图像/视频处理器和音频特征提取器。
  • 通过 DistributedConfig 配置并行性(tp_size 用于张量并行,ep_size 用于专家并行)。
  • 示例代码片段展示了加载、准备聊天模板以及生成最多 2000 个新 token。

纯文本、图像-文本、视频和音频推理

  • 纯文本: 推理努力级别(low/medium/high/xhigh)映射到内部整数;推理无法禁用。
  • 图像-文本: 处理器将图像标记扩展为补丁 token,保持与周围文本的对齐。
  • 视频: 帧被下采样,插入时间戳,并可选择提取音频(load_audio_from_video=True)。
  • 音频: 处理器自动处理重采样、填充和 token 插入。

工具调用

  • 支持纯文本和多模态工具调用。
  • 使用基于通道的聊天模板(Harmony),具有不同的接收者(self 用于推理,commentary 用于工具调用评论,user 用于最终答案)。
  • 示例演示了在查看图像后调用天气 API。

服务堆栈集成

关键要点: Muse Spark Open 可以使用 llama.cpp、SGLang、vLLM 和 MLX 部署,每种都针对不同硬件提供量化变体。

  • llama.cpp: 2 位 GGUF 量化(Q2_K)在 Mac M3 Ultra(512GB)上以约 18 token/秒的速度运行,并具有充足的 KV 缓存空间。
  • SGLang: NVFP4 检查点在四块 GB300 GPU 上运行;API 将 reasoning_content 与最终 content 分开。
  • vLLM: 带有专家并行的 NVFP4 检查点;支持 128K token 上下文长度。
  • MLX / oMLX: 3 位和 4 位量化(oQ3e、oQ4e)在 Apple Silicon 上运行;3 位模型消耗约 344GB 内存,实现 225 token/秒的预填充和 21 token/秒的生成(1024 提示,128 token 生成)。

使用 TRL 进行微调

关键要点: 可以在保持所有专家冻结的情况下,通过 LoRA 适配器对全尺寸检查点进行微调,从而实现高效的适配。

  • 并行性: DistributedConfig(fsdp_size=64, ep_size=8) 将模型分片到 64 块 H100 GPU 上,并将专家分布到 8 个组中。
  • LoRA 目标: 注意力投影矩阵(q_proj、k_proj、v_proj、o_proj)。
  • 训练运行: 在 8×8 H100 节点(总共 64 块 GPU)上进行 500 步,约 8,000 token/秒,token 准确率从 72% 提高到 84%,损失从 1.26 降至 0.57。
  • 脚本要点: packing=True 将示例合并为 2048 token 的序列;save_only_model=True 仅存储 LoRA 适配器。

在 Hugging Face 推理端点上部署

关键要点: 一条 CLI 命令即可将 NVFP4 变体部署到与 OpenAI 兼容的端点,并支持可选的 1M token 上下文。

hf endpoints catalog deploy --repo meta-models/Muse-Spark-Open-816B-A42B-NVFP4 --name muse-spark
  • 支持 /v1/chat/completions 和 /v1/responses API。
  • 可在 8×RTX Pro 6000(98GB)上运行 131,072-token 上下文,或在 8×H200(141GB)上运行完整的 1M-token 窗口。

智能体多模态演示

关键要点: 该模型在结合视觉、音频和交互式工具使用的编码密集型任务中表现出色。

  • 3D 资产生成器: 量化模型(2 位)驱动 Pi 编码智能体生成并迭代优化 Three.js 资产,利用视觉反馈循环。
  • 浏览器智能体(OpenEnv + HF Sandbox): Muse Spark Open 接收截图和音频提示,决定操作,并在没有任何 DOM 信息的情况下与无头 Chromium 浏览器交互。
  • Call-Your-Browser Space: 在 Amazon 上进行语音驱动的产品搜索,展示多模态推理、工具调用和音频输入处理。

总结

Muse Spark Open 是迄今为止发布的最大的开放权重多模态 MoE 模型,为文本、图像、音频和视频输入提供了统一接口,具有 1M-token 上下文窗口,以及内置的智能体推理和工具调用能力。该模型提供 BF16 和 NVFP4 检查点,并针对各种硬件提供了多种量化变体,可以在保持专家冻结的同时通过 LoRA 进行微调。研究人员和开发人员可以通过 Hugging Face Transformers、llama.cpp、SGLang、vLLM、MLX 或托管的推理端点立即开始实验。

Sources