开源多模态新标杆——BAGEL本地部署教程:7B参数撬动万亿数据

一、简介

BAGEL ,这是一个开源的多模态基础模型,具有 70 亿个激活参数(总共 140 亿个),并在大规模交错多模态数据上进行训练。

BAGEL 在标准多模态理解排行榜上超越了当前顶级的开源 VLMs 如 Qwen2.5-VL 和 InternVL-2.5,并且提供了与强大的专业生成器如 SD3 竞争的文本到图像质量。 此外,BAGEL 在经典的图像编辑场景中展示了比领先的开源模型更好的定性结果。

更重要的是,它扩展到了自由形式的视觉操作、多视图合成和世界导航,这些能力构成了超出以往图像编辑模型范围的"世界建模"任务。

1.方法

BAGEL 采用了一种混合变压器专家(MoT)架构,以最大化模型从丰富多样的多模态信息中学习的能力。遵循同样的容量最大化原则,它利用两个独立的编码器来捕捉图像的像素级和语义级特征。整个框架遵循下一个令牌组预测范式,其中模型被训练为将下一组语言或视觉令牌作为压缩目标进行预测。

BAGEL 通过在数万亿交织的多模态令牌上进行预训练、继续训练和监督微调,扩展了 MoT 的能力,这些令牌涵盖了语言、图像、视频和网络数据。它在标准的理解和生成基准测试中超越了开放模型,并展示了先进的上下文多模态能力,如自由形式的图像编辑、未来帧预测、3D 操作、世界导航和序列推理。

2.新兴特性

随着我们使用更多的多模态令牌扩大 BAGEL 的预训练规模,我们在理解、生成和编辑任务中观察到一致的性能提升。不同的能力在不同的训练阶段出现------多模态理解和生成较早出现,随后是基本编辑,而复杂的智能编辑则在后期出现。这种分阶段的进步表明了一种新兴模式,即高级多模态推理建立在良好的基础技能之上。消融研究表明,结合 VAE 和 ViT 特征显著提高了智能编辑,强调了视觉-语义上下文在实现复杂多模态推理中的重要性,并进一步支持其在高级能力出现中的作用。

3.关于推理超参数:

  • cfg_text_scale:控制模型遵循文本提示的强度。 禁用文本引导。典型范围: 。1.0``4.0--8.0
  • cfg_image_scale:控制模型保留输入图像细节的程度。 禁用图像引导。典型范围: 。1.0``1.0--2.0
  • cfg_interval:应用 CFG 的降噪步骤的分数。后续步骤可以跳过 CFG 以减少计算。典型:。[0.4, 1.0]
  • timestep_shift 改变降噪步骤的分布。值越高,开始时分配的步长越多(影响布局);值越低,最后分配的越多(改善细节)。
  • num_timesteps:总降噪步骤。典型:。50
  • cfg_renorm_min:CFG-Renorm 的最小值。 禁用 renorm。典型:。1.0``0
  • cfg_renorm_type:CFG-Renorm 方法:
    • global:对所有令牌和通道进行标准化(T2I 的默认值)。
    • channel:每个 Token 的跨通道标准化。
    • text_channel:与 ,但仅适用于文本条件(适合编辑,可能会导致模糊)。channel
  • 如果编辑后的图像显示模糊,请尝试 全局 CFG-Renorm、降低 cfg_renorm_min 或降低 cfg_scale

二、本地部署

环境 版本
Python >=3.10
PyTorch =2.5.1
Ubtuntu =22.4.0

1.创建虚拟环境

1.1 安装 Miniconda

步骤 1:更新系统

首先,更新您的系统软件包:

复制代码
sudo apt update
sudo apt upgrade -y

步骤 2:下载 Miniconda 安装脚本

访问 Miniconda 的官方网站或使用以下命令直接下载最新版本的安装脚本(以 Python 3 为例):

复制代码
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

步骤 3:验证安装脚本的完整性(可选)

下载 SHA256 校验和文件并验证安装包的完整性:

复制代码
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh.sha256
sha256sum Miniconda3-latest-Linux-x86_64.sh

比较输出的校验和与.sha256 文件中的值是否一致,确保文件未被篡改。

步骤 4:运行安装脚本

为安装脚本添加执行权限:

复制代码
chmod +x Miniconda3-latest-Linux-x86_64.sh

运行安装脚本:

复制代码
./Miniconda3-latest-Linux-x86_64.sh

步骤 5:按照提示完成安装

安装过程中,您需要:

阅读许可协议 :按 Enter 键逐页阅读,或者按 Q 退出阅读。
接受许可协议 :输入 yes 并按 Enter。
选择安装路径 :默认路径为/home/您的用户名/miniconda3,直接按 Enter 即可,或输入自定义路径。
是否初始化 Miniconda :输入 yes 将 Miniconda 添加到您的 PATH 环境变量中。
步骤 6:激活 Miniconda 环境

安装完成后,使环境变量生效:

复制代码
source ~/.bashrc

步骤 7:验证安装是否成功

检查 conda 版本:

复制代码
conda --version

步骤 8:更新 conda(推荐)

为了获得最新功能和修复,更新 conda:

复制代码
conda update conda

1.2.创建虚拟环境

复制代码
conda create -n bagel python==3.10.12

2.克隆仓库

项目地址:字节跳动-种子/百吉饼

复制代码
git clone https://github.com/bytedance-seed/BAGEL.git

3.安装依赖

在安装依赖前需要删掉requirements.txt中的flash_attn==2.5.8,因为它会与pytorch冲突,因此后面单独安装

requirements.txt路径:/BAGEL/requirements.txt

复制代码
#进入项目文件
cd BAGEL
#激活虚拟环境
conda activate bagel
#安装依赖
pip install -r requirements.txt

4.安装flash-ann

Flash Attention是一种注意力算法,更有效地缩放基于transformer的模型,从而实现更快的训练和推理。由于很多llm模型运行的时候都需要安装flash_attn,比如Llama3,趟了不少坑,最后建议按照已有环境中Python、PyTorch和CUDA的版本精确下载特定的whl文件安装是最佳方式。

复制代码
#查看cuda版本
nvidia-smi
nvcc -V
#查看torch版本
pip show torch

选择对应的版本下载到本地

flash-ann下载地址: Releases · Dao-AILab/flash-attention

下面是本人安装的对应版本

复制代码
#安装flash-ann
pip install flash_attn-2.7.0.post2+cu12torch2.5cxx11abiTRUE-cp310-cp310-linux_x86_64.whl

5.下载模型

模型下载路径:BAGEL-7B-MoT · 模型库

下载命令:

可以根据自己的磁盘大小更改--local_dir后面的模型储存路径

复制代码
#新建文件夹
mkdir models
#安装魔搭下载工具
pip install modelscope
#下载模型
modelscope download --model ByteDance-Seed/BAGEL-7B-MoT --local_dir /BAGEL/models

更改启动文件中的模型路径

路径:/BAGEL/app.py

如图所示:

将红框中的路径改为你实际的模型路径,推荐使用绝对路径

6.启动

BAGEL可使用1张4090及以上的GPU也可以使用多张显卡,但是使用1张或2张4090的生成速度是非常慢的,因此推荐使用3张4090并行运算,生成的时间较快,费用较低

使用gradio页面

复制代码
#安装gradio
pip install gradio
#运行app.py
python app.py

在启动app.py后会出现下面的网址,在浏览器中输入网址进入BAGEL的gradio页面

复制代码
http://127.0.0.1:7860
相关推荐
阿幸软件杂货间2 小时前
PS2025 v26.7 Photoshop2025+AI生图扩充版,支持AI画图
人工智能
IT古董3 小时前
【漫话机器学习系列】275.GrabCut 算法——用于去除图片背景(Grabcut For Removing Image Backgrounds)
人工智能·算法·机器学习
Jamence4 小时前
多模态大语言模型arxiv论文略读(九十三)
论文阅读·人工智能·计算机视觉·语言模型·论文笔记
AI让世界更懂你4 小时前
【NLP基础知识系列课程-Tokenizer的前世今生第一课】Tokenizer 是什么?为什么重要?
人工智能·自然语言处理
AI小白龙*4 小时前
重磅发布 | 复旦533页《大规模语言模型:从理论到实践(第2版)》(免费下载)
人工智能·程序员·llm·ai大模型·rag
一起搞IT吧4 小时前
Camera相机人脸识别系列专题分析之一:人脸识别系列专题SOP及理论知识介绍
android·图像处理·人工智能·数码相机
IT古董4 小时前
大语言模型在软件工程中的应用、影响与展望
人工智能·语言模型·软件工程
北京地铁1号线4 小时前
深度图数据增强方案-随机增加ROI区域的深度
人工智能·opencv·计算机视觉
大师兄带你刨AI5 小时前
「提效」AI办公 | 实测,飞书扣子空间快速迭代
大数据·人工智能
归去_来兮5 小时前
循环神经网络(RNN)模型
人工智能·深度学习·机器学习·循环神经网络·序列数据