谢赛宁团队提出 BLIP3-o:融合自回归与扩散模型的统一多模态架构,开创CLIP特征驱动的图像理解与生成新范式

BLIP3-o 是一个统一的多模态模型,它将自回归模型的推理和指令遵循优势与扩散模型的生成能力相结合。与之前扩散 VAE 特征或原始像素的研究不同,BLIP3-o 扩散了语义丰富的CLIP 图像特征,从而为图像理解和生成构建了强大而高效的架构。

此外还发布了包含 2000 万张带详细标题的图片(BLIP3o Pretrain Long Caption)和 400 万张带短标题的图片(BLIP3o Pretrain Short Caption)的数据集。

亮点

  • 完全开源:完全开源训练数据(预训练和指令调整)、训练方案、模型权重、代码。

  • 统一架构:用于图像理解和生成。

  • CLIP 特征扩散:直接扩散语义视觉特征,以实现更强的对齐和性能。

  • 最先进的性能:涵盖广泛的图像理解和生成基准。

支持的任务

  • 文本 → 文本

  • 图像→文本(图像理解)

  • 文本→图像(图像生成)

  • 图像 → 图像(图像编辑)

  • 多任务训练(图像生成和理解混合训练)

相关链接

  • 论文:https://arxiv.org/pdf/2505.09568

  • 代码:https://github.com/JiuhaiChen/BLIP3o

  • 模型:https://huggingface.co/BLIP3o/BLIP3o-Model

  • 预训练:https://huggingface.co/datasets/BLIP3o/BLIP3o-Pretrain

  • 优化:https://huggingface.co/datasets/BLIP3o/BLIP3o-60k

论文阅读

在近期的多模态模型研究中,统一图像理解和生成越来越受到关注。尽管图像理解的设计方案已被广泛研究,但用于统一图像生成框架的最佳模型架构和训练方法仍未得到充分探索。

鉴于自回归和扩散模型在高质量生成和可扩展性方面的巨大潜力,作者对它们在统一多模态环境中的应用进行了全面的研究,重点关注图像表征、建模目标和训练策略。基于这些研究,论文提出了一种新颖的方法,该方法使用扩散变换器来生成语义丰富的CLIP图像特征,这与传统的基于VAE的表征不同。这种设计既提高了训练效率,又提升了生成质量。

此外,作者证明了统一模型的顺序预训练策略——先进行图像理解训练,然后再进行图像生成训练——在保留图像理解能力的同时,发展强大的图像生成能力,具有实用优势。最后,作者精心策划了一个高质量的指令调整数据集 BLIP3o-60k,用于图像生成,通过为 GPT-4o 提供涵盖各种场景、物体、人体手势等内容的多样化字幕。基于论文提出的创新的模型设计、训练方案和数据集,作者开发了 BLIP3-o,这是一套最先进的统一多模态模型。BLIP3-o 在涵盖图像理解和生成任务的大多数热门基准测试中均取得了卓越的性能。

BLIP3-o 的架构。 在图像理解部分,我们使用 CLIP 对图像进行编码,并计算目标文本标记和预测文本标记之间的交叉熵损失。在图像生成部分,自回归模型首先生成一系列中间视觉特征,然后将其作为条件输入,输入到扩散变换器中,该变换器生成 CLIP 图像特征,以近似真实的 CLIP 特征。通过使用 CLIP 编码器,图像理解和图像生成共享相同的语义空间,从而有效地统一了这两个任务。

统一多模态模型中图像生成的三种设计选择。所有设计均采用自回归 + 扩散框架,但其图像生成组件有所不同。对于流匹配损失,我们保持自回归模型不变,仅对图像生成模块进行微调,以保留模型的语言能力。

联合训练 vs. 顺序训练:联合训练通过混合图像理解和图像生成数据进行多任务学习,同时更新自回归主干网络和生成模块。顺序训练将两个过程分开:首先,模型仅进行图像理解任务的训练;然后冻结自回归主干网络,并在第二阶段仅训练图像生成模块。

实验结果

BLIP3-o 8B 在 1024×1024 分辨率下的可视化结果

BLIP3-o 8B 在 1024×1024 分辨率下的可视化结果

图像理解基准测试的结果。用粗体突出显示最佳结果。

图像理解基准测试的结果。用粗体突出显示最佳结果。

图像生成基准结果

图像生成基准结果

Janus Pro 与模型在 DPG-Bench 上的人体研究结果。

Janus Pro 与模型在 DPG-Bench 上的人体研究结果。

结论

论文首次系统地探索了用于统一多模态建模的混合自回归和扩散架构,并评估了三个关键方面:图像表征(CLIP 与 VAE 特征)、训练目标(光流匹配与 MSE)以及训练策略(联合与顺序)。实验表明CLIP 嵌入与光流匹配损失相结合,能够提高训练效率并提升输出质量。基于这些洞察,作者推出了 BLIP3-o,这是一系列最先进的统一模型,并基于 60k 指令集调整数据集 BLIP3o-60k 进行了增强,显著提升了快速对齐和视觉美感。此外,作者正在积极开发该统一模型的应用,包括迭代图像编辑、视觉对话和逐步视觉推理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/81438.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HarmonyOs开发之——— ArkWeb 实战指南

HarmonyOs开发之——— ArkWeb 实战指南 谢谢关注!! 前言:上一篇文章主要介绍HarmonyOs开发之———合理使用动画与转场:CSDN 博客链接 一、ArkWeb 组件基础与生命周期管理 1.1 Web 组件核心能力概述 ArkWeb 的Web组件支持加载本地或在线网页,提供完整的生命周期回调体…

黑马程序员C++2024版笔记 第0章 C++入门

1.C代码的基础结构 以hello_world代码为例&#xff1a; 预处理指令 #include<iostream> using namespace std; 代码前2行是预处理指令&#xff0c;即代码编译前的准备工作。&#xff08;编译是将源代码转化为可执行程序.exe文件的过程&#xff09; 主函数 主函数是…

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(22):复习

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(22):复习 1、前言(1)情况说明(2)工程师的信仰2、知识点(1)复习(2)復習3、单词(1)日语(2)日语片假名单词4、对话练习5、单词辨析记录6、总结1、前言 (1)情况说明 自己在今年,在日本留学中,目前在语言学校,…

Docker配置SRS服务器 ,ffmpeg使用rtmp协议推流+vlc拉流

目录 演示视频 前期配置 Docker配置 ffmpeg配置 vlc配置 下载并运行 SRS 服务 推拉流流程实现 演示视频 2025-05-18 21-48-01 前期配置 Docker配置 运行 SRS 建议使用 Docker 配置 Docker 请移步&#xff1a; 一篇就够&#xff01;Windows上Docker Desktop安装 汉化完整指…

Redis——缓存雪崩、击穿、穿透

缓存雪崩 大量缓存数据在同一时间过期或者Redis故障宕机时&#xff0c;若此时有大量请求&#xff0c;都会直接访问到数据库&#xff0c;导致数据库压力倍增甚至宕机。 大量数据同时过期解决方案&#xff1a; 1、均匀设置过期时间&#xff1a; 设置过期时间的时候可以追加一…

开源GPU架构RISC-V VCIX的深度学习潜力测试:从RTL仿真到MNIST实战

点击 “AladdinEdu&#xff0c;同学们用得起的【H卡】算力平台”&#xff0c;H卡级别算力&#xff0c;按量计费&#xff0c;灵活弹性&#xff0c;顶级配置&#xff0c;学生专属优惠。 一、开篇&#xff1a;AI芯片架构演变的三重挑战 &#xff08;引述TPUv4采用RISC-V的行业案…

字符串相乘(43)

43. 字符串相乘 - 力扣&#xff08;LeetCode&#xff09; 解法&#xff1a; class Solution { public:string multiply(string num1, string num2) {string res "0";for (int i 0; i < num2.size(); i) {string str multiplyOneNum(num1, num2[num2.size() -…

mathematics-2024《Graph Convolutional Network for Image Restoration: A Survey》

推荐深蓝学院的《深度神经网络加速&#xff1a;cuDNN 与 TensorRT》&#xff0c;课程面向就业&#xff0c;细致讲解CUDA运算的理论支撑与实践&#xff0c;学完可以系统化掌握CUDA基础编程知识以及TensorRT实战&#xff0c;并且能够利用GPU开发高性能、高并发的软件系统&#xf…

[LevelDB]LevelDB版本管理的黑魔法-为什么能在不锁表的情况下管理数据?

文章摘要 LevelDB的日志管理系统是怎么通过双链表来进行数据管理为什么LevelDB能够在不锁表的情况下进行日志新增 适用人群: 对版本管理机制有开发诉求&#xff0c;并且希望参考LevelDB的版本开发机制。数据库相关从业者的专业人士。计算机狂热爱好者&#xff0c;对计算机的…

【C++进阶篇】C++容器完全指南:掌握set和map的使用,提升编码效率

C容器的实践与应用&#xff1a;轻松掌握set、map与multimap的区别与用法 一. 序列式容器与关联式容器1.1 序列式容器 (Sequential Containers)1.2 关联式容器 (Associative Containers) 二. set系列使用2.1 set的构造和迭代器2.2 set的增删查2.2.1 插入2.2.2 查找2.2.3 删除 2.…

2_Spring【IOC容器中获取组件Bean】

Spring中IOC容器中获取组件Bean 实体类 //接口 public interface TestDemo {public void doSomething(); } // 实现类 public class HappyComponent implements TestDemo {public void doSomething() {System.out.println("HappyComponent is doing something...")…

安卓开饭-ScrollView内嵌套了多个RecyclerView,只想与其中一个RecyclerView有联动

在 Android 开发中&#xff0c;将 RecyclerView 嵌套在 ScrollView 内通常会导致性能问题和滚动冲突&#xff0c;应尽量避免这种设计。以下是原因和替代方案&#xff1a; 为什么不推荐 RecyclerView ScrollView&#xff1f;​​ 性能损耗​ RecyclerView 本身已自带高效回收复…

HTTP 请求中 Content-Type 头部

HTTP 请求中 Content-Type 头部可以设置的各种不同的传输格式。multipart/form-data 只是其中一种,主要用于传输包含文件的数据。 以下是一些常见的 HTTP 请求体的 Content-Type 及其用途: 常见的数据传输格式 (Content-Type) 列表: application/json: 描述: 用于传输 JSO…

【U-boot 命令使用】

文章目录 1 查询有哪些命令2 信息查询命令dbinfo - 查看板子信息printenv- 输出环境变量信息version - 输出uboot版本信息 3 环境变量操作命令修改环境变量新建环境变量删除环境变量 4 内存操作命令md命令nm命令mm命令mv命令cp命令cmp命令 5 网络操作命令与网络有关的环境变量p…

初学者如何用 Python 写第一个爬虫?

初学者如何用 Python 写第一个爬虫&#xff1f; 一、爬虫的基本概念 &#xff08;一&#xff09;爬虫的定义 爬虫&#xff0c;英文名为 Web Crawler&#xff0c;也被叫做网络蜘蛛、网络机器人。想象一下&#xff0c;有一个勤劳的小蜘蛛&#xff0c;在互联网这个巨大的蜘蛛网中…

IDE/IoT/搭建物联网(LiteOS)集成开发环境,基于 VSCode + IoT Link 插件

文章目录 概述IDE安装安装旧版本VSCode安装插件安装问题和解决手动安装SDK包手动下载依赖工具 IoTLink配置IoTLink Home用户设置-工具链-编译器用户设置-工具链-构建器用户设置-工具链-烧录器用户设置-SDK管理工程设置-SDK配置工程设置-编译器工程设置-调试器 创建工程Demo 源码…

深度剖析:Dify+Sanic+Vue+ECharts 搭建 Text2SQL 项目 sanic-web 的 Debug 实战

目录 项目背景介绍sanic-web Dify\_service handle\_think\_tag报错NoneType问题描述debug Dify调用不成功&#xff0c;一直转圈圈问题描述debug 前端markdown格式只显示前5页问题描述debug1. 修改代码2.重新构建1.1.3镜像3.更新sanic-web/docker/docker-compose.yaml4. 重新部…

理想AI Talk第二季-重点信息总结

一、TL&#xff1b;DR 理想为什么要做自己的基模&#xff1a;座舱家庭等特殊VLM场景&#xff0c;deepseek/openai没有解决理想的基模参数量&#xff1a;服务端-300B&#xff0c;VLencoder-32B/3.6B&#xff0c;日常工作使用-300B&#xff0c;VLA-4B为什么自动驾驶可以达成&…

TensorRT

TensorRT 下载 TensorRT 7.1.3.4 TAR压缩包&#xff0c;解压到安装目录&#xff1a; tar xzvf TensorRT-7.1.3.4.Ubuntu-16.04.x86_64-gnu.cuda-11.0.cudnn8.0.tar.gz 添加 TensorRT lib 到环境变量&#xff1a; gedit ~/.bashrc # 添加 export LD_LIBRARY_PATH$LD_LIBRARY_PAT…

【NGINX】 -9 nginx + tomcat实现的多级反向代理

文章目录 1、tomcat的安装 (centos版本)1.1 安装Java依赖环境1.2 安装tomcat 2、tomcat的虚拟主机的配置2.1 配置多级目录 3、利用nginx的反向代理实现将转发指向一个虚拟机3.1 nginx服务器的配置3.2 客户端配置 4、 反向多级代理代理服务器操作nginx 1 服务器nginx 2 服务器to…