当前位置: 首页 > news >正文

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

一、简介

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

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

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

teaser.jpg

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

如图所示:

image.png

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

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

image.png

相关文章:

  • Recaf:现代字节码编辑器
  • 批量文件重命名工具
  • 竞赛小算法总结(二):gcdlcm,拓展欧几里得线性同余,逆元(含代码详解)
  • 大模型 Agent 中的通用 MCP 机制详解
  • 芯片跑post sim,在waveform中一般要check哪些点?
  • 【前端】es6新特性全解
  • Transformer 通关秘籍10:词向量运算:queen=king-man+wowem
  • WebFuture:瀚高数据库新建用户设置权限脚本
  • C++中回调函数详解
  • opencv(C++) 变换图像与形态学操作
  • 【Git】Commit Hash vs Change-Id
  • 一张Billing项目的流程图
  • opencv(C++) 图像滤波
  • AR眼镜+AI视频盒子+视频监控联网平台:消防救援的智能革命
  • FileZillaServer(1) -- 记录
  • 模型可信度
  • 详解Kubernetes Scheduler 的调度策略
  • 基于 STM32 的农村污水处理控制系统设计与实现
  • HTML 表单与输入:基础语法到核心应用全解析
  • Kotlin 实战:Android 设备语言与国家地区的 5 种获取方式
  • 王爷休书请拿好/seo网络营销技术
  • 亚马逊网站建设案例/百度竞价推广开户联系方式
  • 网站维护多少钱一个月/企业网络营销策划方案
  • 做外国美食的视频网站/企业如何进行网络营销
  • 黑糖WordPress主题/seo宣传网站
  • 网站中的滚动字幕怎么做/百度指数移动版app