🥯

BAGEL: BAGEL: 统一多模态 AI 的新范式

体验 BAGEL (70 亿激活参数),一个由字节跳动 Seed 团队开源的基础模型。在多模态理解、文本到图像生成和高级图像编辑方面表现出色,引领 AI 发展方向。

什么是 BAGEL?

BAGEL 是一个由字节跳动 Seed 团队开发的尖端开源多模态基础模型,具有 70 亿激活参数 (总计 140 亿)。它经过精心训练,使用了包括语言、图像、视频和网络内容在内的大规模交错多模态数据。

其核心是 专家混合变换器 (Mixture-of-Experts Transformer, MoT) 架构,旨在最大化模型从多样化多模态信息中学习的能力。独特的是,BAGEL 采用两个独立的编码器来捕获图像的像素级和语义级特征,并遵循“下一组 token 预测”范式进行训练。

这种强大的组合使 BAGEL 不仅能够理解和跨模态生成内容,还能执行复杂的任务,如自由形式的视觉操作、多视图合成,甚至世界导航——这些能力共同构成了超越传统图像编辑的“世界建模”功能。

释放强大潜力

卓越的理解能力

BAGEL 在 MME、MMBench、MMMU、MM-Vet 和 MathVista 等标准多模态理解排行榜上,表现优于 Qwen2.5-VL 和 InternVL-2.5 等顶级开源 VLM。

高质量图像生成

文本到图像的质量可与 SD3 等强大的专业生成器相媲美。BAGEL 可以根据文本提示创建令人印象深刻的新颖视觉内容。

高级图像编辑

BAGEL 不仅限于基本编辑,在经典图像编辑场景中展示了出色的定性结果,并扩展到自由形式的视觉操作,超越了其他开源模型。

世界建模能力

探索多视图合成、未来帧预测、3D 操作和世界导航等任务,展示了 BAGEL 新兴的“世界建模”能力。

专家混合架构

采用专家混合变换器 (MoT) 架构,以最大化从多样化多模态数据中学习,并实现专业化处理。

完全开源

BAGEL 采用 Apache 2.0 许可,促进多模态 AI 的透明度、协作和社区驱动开发。

领先的基准性能

BAGEL 在标准理解和生成基准上始终优于现有开源模型,并在图像编辑方面表现强劲。

视觉理解

顶尖水平

MME: 2388, MMBench: 85.0, MMMU: 55.3, MM-Vet: 67.2, MathVista: 73.1

文本到图像生成

极具竞争力

GenEval: 0.88 (BAGEL+CoT), WISE: 0.70 (BAGEL+CoT)

图像编辑

高级水平

IntelligentBench: 55.3 (BAGEL+CoT), GEdit-Bench (O): 6.52

分数反映了 BAGEL 的性能,部分指标显示了 BAGEL+CoT (思维链) 的结果。有关详细的基准表,请参阅我们的 GitHub 仓库。 GitHub repository.

涌现特性与深度洞察

随着 BAGEL 预训练中多模态数据量的增加,我们观察到在理解、生成和编辑任务中性能的持续改进。这不仅仅是数字上的增长,更是复杂能力的涌现。

不同的能力在训练的不同阶段显现:多模态理解和生成能力出现较早,随后是基本编辑能力。更复杂、更智能的编辑能力则在训练过程的后期涌现。

这种分阶段的进展揭示了一种涌现模式:高级多模态推理建立在坚实的基础技能之上。消融研究进一步表明,结合 VAE 和 ViT 特征显著改善了智能编辑效果,强调了丰富视觉语义上下文的重要性。

🚀 BAGEL 快速开始

准备好深入了解了吗?按照这些简单的步骤在您的系统上运行 BAGEL。

1 环境设置

git clone https://github.com/bytedance-seed/BAGEL.git
cd BAGEL
conda create -n bagel python=3.10 -y
conda activate bagel
pip install -r requirements.txt

2 下载预训练模型

from huggingface_hub import snapshot_download

save_dir = "/path/to/save/BAGEL-7B-MoT" # zh.quickStart.step2Comment
repo_id = "ByteDance-Seed/BAGEL-7B-MoT"
cache_dir = save_dir + "/cache"

snapshot_download(
  cache_dir=cache_dir,
  local_dir=save_dir,
  repo_id=repo_id,
  local_dir_use_symlinks=False,
  resume_download=True,
  allow_patterns=["*.json", "*.safetensors", "*.bin", "*.py", "*.md", "*.txt"],
)

3 推理与 WebUI

探索 BAGEL 的强大功能:

  • 打开 <code>inference.ipynb</code> 文件,在 Jupyter Notebook 中开始体验 BAGEL。
  • 对于用户友好的图形界面,请使用 Gradio WebUI:
    pip install gradio
    python app.py

有关详细的训练和评估说明,请参阅 GitHub 上的 TRAIN.md 和 EVAL.md 文档。 TRAIN.md and EVAL.md zh.quickStart.footerEnd

常见问题 (FAQ)

什么是 BAGEL?

BAGEL 是一个由字节跳动 Seed 团队开发的开源多模态基础模型,具有 70 亿激活参数 (总计 140 亿)。它专为统一多模态理解、高质量文本到图像生成和高级图像编辑任务而设计,并在大规模交错多模态数据上进行训练。

BAGEL 与其他 VLM 有何不同?

BAGEL 的独特之处包括:

  • 卓越的性能:在标准基准测试中优于许多领先的开源 VLM。
  • 统一的能力:在一个模型中结合了强大的理解、生成和复杂的编辑能力。
  • 高级编辑:扩展到超越典型编辑的自由形式视觉操作和“世界建模”任务。
  • MoT 架构:利用专家混合变换器 (MoT) 来增强学习能力。
  • 双编码器:同时捕获图像的像素级和语义级特征。
BAGEL 的关键推理超参数是什么?

关键超参数包括:

  • cfg_text_scale: cfg_text_scale: 控制对文本提示的遵循程度 (典型值:4.0–8.0)。
  • cfg_image_scale: cfg_image_scale: 控制输入图像保留的细节量 (典型值:1.0–2.0)。
  • cfg_interval: cfg_interval: 应用 CFG 的去噪步骤比例 (典型值:[0.4, 1.0])。
  • timestep_shift: timestep_shift: 调整去噪步骤的分布 (影响布局和细节)。
  • num_timesteps: num_timesteps: 总去噪步骤数 (典型值:50)。
  • cfg_renorm_min: cfg_renorm_min: CFG-Renorm 的最小值 (典型值:0,1.0 表示禁用)。
  • cfg_renorm_type: cfg_renorm_type: CFG-Renorm 方法 (global, channel, text_channel)。如果编辑后的图像模糊,请尝试 "global",并降低 cfg_renorm_min 或 cfg_scale。

欲了解更多详细信息,请参阅 GitHub 文档。 GitHub documentation.

如何开始使用 BAGEL?

请遵循上面的快速开始指南。这包括克隆 GitHub 仓库、设置 Python 环境、下载预训练模型,然后使用提供的 inference.ipynb notebook 或 Gradio WebUI (app.py)。

BAGEL 是开源的吗?

是的,BAGEL 采用 Apache 2.0 许可,可免费使用和修改。

在哪里可以找到 BAGEL 的预训练模型?

预训练模型 (BAGEL-7B-MoT) 可从 Hugging Face Hub 下载。仓库 ID 是 ByteDance-Seed/BAGEL-7B-MoT。说明已在快速开始指南中提供。

如何贡献代码或报告问题?

我们欢迎各种形式的贡献和反馈!

  • 要报告性能不佳或“坏案例”,请使用 GitHub Issue #11。
  • 加入我们的 Discord 服务器(链接将在 GitHub 上提供)进行讨论。
  • 对于代码贡献,请参阅主 GitHub 仓库中的贡献指南。