BAGEL开源多模态基础模型,拥有70亿活跃参数(总计140亿参数),在大规模交错多模态数据上进行训练,在标准多模态理解排行榜上,BAGEL的成绩超越了当前顶尖的开源视觉语言模型,如Qwen2.5 - VL和InternVL - 2.5。BAGEL的文本到图像的生成质量可与强大的专业生成器(如SD3)相媲美,在经典图像编辑场景中,BAGEL的定性效果优于领先的开源模型。BAGEL能拓展到自由形式视觉操作、多视图合成和世界导航等任务,这些能力构成了超越以往图像编辑模型范围的“世界建模”任务。
BAGEL采用混合Transformer专家(MoT)架构,通过这种架构,模型能够最大程度地从丰富多样的多模态信息中学习。基于容量最大化的原则,BAGEL使用两个独立的编码器来捕捉图像的像素级和语义级特征。BAGEL的整体框架遵循下一组令牌预测范式,模型经过训练,以预测下一组语言或视觉令牌作为压缩目标。
BAGEL在数万亿交错的多模态令牌(涵盖语言、图像、视频和网络数据)上进行预训练、持续训练和监督微调,以此扩展MoT的容量。BAGEL在标准理解和生成基准测试中超越了开放模型,展现出先进的上下文多模态能力,如自由形式图像编辑、未来帧预测、3D操作、世界导航和顺序推理。
从各项任务的评分随训练令牌数量变化的情况来看,随着BAGEL预训练中使用的多模态令牌数量增加,BAGEL在理解、生成和编辑任务上的性能持续提升。不同的能力在不同的训练阶段逐渐显现:多模态理解和生成能力较早出现,随后是基本编辑能力,而复杂的智能编辑能力则在后期出现。这种分阶段的进展表明存在一种新兴模式,即高级多模态推理建立在良好形成的基础技能之上。
1、视觉理解任务
模型 | MME↑ | MMBench↑ | MMMU↑ | MM - Vet↑ | MathVista↑ |
---|---|---|---|---|---|
Janus - Pro - 7B | - | 79.2 | 41.0 | 50.0 | – |
Qwen2.5 - VL - 7B | 2347 | 83.5 | 58.6 | 67.1 | 68.2 |
BAGEL | 2388 | 85.0 | 55.3 | 67.2 | 73.1 |
2、文本到图像生成任务
模型 | GenEval↑ | WISE↑ |
---|---|---|
Janus - Pro - 7B | 0.80 | 0.35 |
SD3 - Medium | 0.74 | - |
FLUX - 1 - dev | 0.82 | 0.50 |
BAGEL | - | 0.52 |
BAGEL + CoT | 0.88 | 0.70 |
3、图像编辑任务
模型 | GEdit - Bench - EN (SC)↑ | GEdit - Bench - EN (PQ)↑ | GEdit - Bench - EN (O)↑ | IntelligentBench↑ |
---|---|---|---|---|
Step1X - Edit | 7.09 | 6.76 | 6.70 | 14.9 |
Gemini - 2 - exp. | 6.73 | 6.61 | 6.32 | 57.6 |
BAGEL | 7.36 | 6.83 | 6.52 | 44.0 |
BAGEL + CoT | – | – | – | 55.3 |
环境要求
执行以下操作搭建环境:
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
下载预训练检查点
使用以下代码下载预训练检查点:
from huggingface_hub import snapshot_download
save_dir = "/path/to/save/BAGEL-7B-MoT"
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"],
)
开始体验
进入inference.ipynb
即可开始体验BAGEL。
1、训练
运行以下脚本进行训练:
bash scripts/train.sh
运行前可根据自身需求替换脚本中的变量,训练和微调文档即将推出。
2、评估 BAGEL提供评估VLM、T2I和编辑基准的脚本,更多详细信息请查看EVAL。