BAGEL是字节跳动开源的多模态基础模型,拥有140亿参数,其中70亿为活跃参数。采用混合变换器专家架构(MoT),通过两个独立编码器分别捕捉图像的像素级和语义级特征。BAGEL遵循“下一个标记组预测”范式进行训练,使用海量多模态标记数据进行预训练,包括语言、图像、视频和网络数据。在性能方面,BAGEL在多模态理解基准测试中超越了Qwen2.5-VL和InternVL-2.5等顶级开源视觉语言模型。文本到图像生成质量与SD3相当,在图像编辑场景中也优于许多开源模型。BAGEL能进行自由形式的图像编辑、未来帧预测、三维操作和世界导航等任务。
BAGEL的主要功能
- 图像与文本融合理解:BAGEL能深入理解图像和文本之间的关系,准确地将图像内容与文本描述相结合。
- 视频内容理解:BAGEL能处理视频数据,理解视频中的动态信息和语义内容。能捕捉视频的关键信息并进行有效的分析。
- 文本到图像生成:用户可以通过输入文本描述来生成相应的图像。BAGEL能根据文本内容生成高质量、与描述匹配的图像。
- 图像编辑与修改:BAGEL支持对现有图像进行编辑和修改。BAGEL能根据指令生成修改后的图像,实现自由形式的图像编辑。
- 视频帧预测:BAGEL能预测视频中的未来帧。基于视频的前几帧,模型可以生成后续的帧内容,恢复视频的完整性。
- 三维场景理解与操作:BAGEL能理解和操作三维场景。可以对三维物体进行识别、定位和操作,例如在虚拟环境中移动物体、改变物体的属性等。
- 世界导航:BAGEL具备世界导航能力,可以在虚拟或现实的三维环境中进行路径规划和导航。
- 跨模态检索:BAGEL能实现跨模态检索功能,例如根据文本描述检索与之匹配的图像或视频,或者根据图像内容检索相关的文本信息。
- 多模态融合任务:在多模态融合任务中,BAGEL可以将来自不同模态的数据(如图像、文本、语音等)进行有效融合,生成综合的结果。
BAGEL的技术原理
- 双编码器设计:BAGEL采用了混合变换器专家架构(MoT),架构包含两个独立的编码器。一个编码器负责处理图像的像素级特征,另一个编码器则专注于图像的语义级特征。双编码器设计使模型能同时捕捉图像的低层次细节和高层次语义信息。
- 专家混合机制:在MoT架构中,每个编码器内部包含多个专家(Expert)模块。这些专家模块可以看作是小的子网络,每个专家专注于处理特定类型的特征或任务。通过在训练过程中动态选择最合适的专家组合,模型能更高效地处理复杂的多模态数据。
- 标记化处理:BAGEL将输入的多模态数据(如图像、文本)转化为一系列标记(Token)。对于图像,模型会将其分割成多个小块(Patch),每个小块被视为一个标记;对于文本,每个单词或子词也被视为一个标记。
- 预测任务:模型的训练目标是预测下一个标记组。在训练过程中,模型会看到一部分标记序列,尝试预测接下来的标记。
- 压缩与学习:通过这种预测任务,模型能学习到多模态数据的内在结构和关系。预测下一个标记的过程迫使模型压缩和理解输入数据的关键信息,提高其对多模态数据的理解和生成能力。
- 海量数据:为了训练BAGEL,字节跳动使用了来自语言、图像、视频和网络数据的数万亿个多模态标记进行预训练。数据涵盖了各种场景和领域,模型能学习到广泛的多模态特征和模式。
- 优化策略:在训练过程中,BAGEL采用了先进的优化策略,如混合精度训练、分布式训练等,提高训练效率和模型性能。
BAGEL的项目地址
- 项目官网:https://bagel-ai.org/
- Github仓库:https://github.com/bytedance-seed/BAGEL
- HuggingFace模型库:https://huggingface.co/ByteDance-Seed/BAGEL-7B-MoT
- arXiv技术论文:https://arxiv.org/pdf/2505.14683