理解生成协同促进?华为诺亚提出ILLUME,15M数据实现多模态理解生成一体化
多模态理解与生成一体化模型,致力于将视觉理解与生成能力融入同一框架,不仅推动了任务协同与泛化能力的突破,更重要的是,它代表着对类人智能(AGI)的一种深层探索。通过在单一模型中统一理解与生成,模型能够从语义层面真正 “洞察” 视觉、文本与世界本质之间的深层联系,从而在复杂场景中实现更加智能、灵活的交互与任务执行。
近期,华为诺亚方舟实验室提出了统一多模态大模型 ——ILLUME。这一模型以 LLM 为核心,采用 “连续图像输入 + 离散图像输出” 的架构,巧妙融合了多模态理解与生成的双重能力,并深度挖掘了统一框架下理解与生成能力协同增强的潜力,展示了对多模态任务的全新诠释。
-
论文标题:ILLUME: Illuminating Your LLMs to See, Draw, and Self-Enhance
-
论文地址:https://arxiv.org/pdf/2412.06673
总体来说,本文贡献如下:
1、ILLUME 在保持整体架构可扩展与可泛化的前提下,通过合理的视觉词表、训练策略与数据配比策略,成功以仅约 15M 的图文对数据用于图文对齐,实现了在视觉理解(包括自然图像和文档图表)、生成、编辑等多元任务上的出色表现,总体效果优于现有统一模型例如 Chameleon, Show-O 和 Janus,与专用单任务模型相媲美。
2、ILLUME 提出一种自提升式多模态对齐策略,通过让模型对自身生成的负样本进行内省式评估,统一模型在理解和生成两方面的能力可实现协同进化。
ILLUME:理解生成一体的多模态大模型
挑战一:如何高效训练一个统一多模态模型?
现有的统一多模态模型构建方案多集中于在 LLM 基础上拓展视觉词表,以支持视觉生成任务。这些模型通常需要大量的图文对数据来实现图文对齐训练。这种对海量数据的依赖,在一定程度上放缓了这一领域进一步探索与实践的进程。
与此不同的是,我们在 ILLUME 中仅使用约 15M 的图文对数据完成预训练,并在视觉理解(涵盖自然图像与文档图表)、生成与编辑等多类视觉文本任务上达到与专有模型相媲美的水平。这一成果并非仅体现于数据规模的减少,更重要的是在架构、训练策略、数据配比以及视觉词表表征方式上的关键设计,使模型能够更高效地进行图文对齐学习。这种方法为在更广泛和更深层的多模态语义理解与生成融合中奠定了基础。
关键设计 1:视觉词表的表征选择
传统基于 VQGAN 的视觉词表往往通过重建原始像素作为目标,但这种基于底层纹理的表征不利于与文本模态进行高层语义对齐。与此相反,我们采用语义特征重建的方式构造视觉词表,直接在高层语义空间中完成图文对齐的特征学习。实验表明,这一设计可显著加速 MLLM 的预训练过程。
在解码阶段,我们再利用 Diffusion 模型将语义特征还原为高保真像素空间,从而实现高达 32 倍的压缩率。通过这一流程,模型在输入端沿用连续视觉编码器保障精细视觉理解能力,并在输出端通过语义视觉词表完成离散化处理,为视觉生成能力的无缝融合奠定基础。
关键设计 2:三阶段训练策略和数据配比
我们采用 “三阶段” 训练策略,以分层递进的方式逐步强化模型的多模态理解与生成能力:
阶段一:引入图像重建任务,为视觉词表扩展后的新参数进行快速初始化,并对齐连续输入与离散输出的模式;
阶段二:进行图文对齐预训练,进一步强化模型在语义层面将图像与文本联结的能力;
阶段三:对高质量的理解、生成、混合数据进行微调,使模型最终胜任多类型的视觉文本任务(包括理解、生成与编辑)。
挑战二:统一多模态模型的判别能力和生成能力能否相互促进?
当我们构建一个统一模型后,我们最关心的是:联合训练视觉理解和生成任务应该如何促进呢?
自提升多模态对齐方案
针对这一点,我们提出了以自我评估过程为桥梁的自提升多模态对齐策略。通过让模型对自身生成的负样本进行内省式评估,模型在理解和生成两方面的能力可实现协同进化:
-
生成促进理解:模型以自我评估的方式分析自己产生的负样本,这种内省过程使模型能够查明并解决其自身弱点,从而更准确地理解图像。
-
理解促进生成:模型可以利用其判别能力来评估其自生成的图像是否与文本一致,并基于此分析进行修正,从而确保模型在推理时更加谨慎和准确,避免在生成图像时出现错误。
我们的自提升多模态对齐方法分为三个步骤:
-
Step 1: 语料自生成。采样训练子集,推理模型生成图像。
-
Step 2: 生成评估数据。从物体、数量、颜色和空间关系多个维度评估图像和文本的一致性,评估数据包括评估得分和相应的分析。
-
Step 3: 多模态对齐。将评估数据重新格式化后加入阶段三训练,使模型在理解与生成层面同时得到强化。
实验结果证明,自提升多模态对齐方法能在理解和生成任务上同时为模型赋能,促使统一多模态模型向更高层次的智能形态稳步迈进。
实验结果
多模态理解任务
在 12 个常用的多模态理解开源综合评测集与文档场景评测集上,ILLUME 均展现出卓越性能,与现有统一多模态模型相比达到 SOTA 水准,尤其在文档理解任务上表现尤为突出。同时,相较多模态理解模型(如 LLaVA-NeXT),ILLUME 的理解能力总体保持相当甚至更优的水平。
文图生成任务
ILLUME 在 3 个文生图评测集上取得与现有生成模型和统一多模态模型相当的表现。
编辑任务
ILLUME 能处理物体删除,风格迁移,图像补充等各种编辑任务。
更多内容可以访问我的博客https://imok.it.eu.org
相关文章:

理解生成协同促进?华为诺亚提出ILLUME,15M数据实现多模态理解生成一体化
多模态理解与生成一体化模型,致力于将视觉理解与生成能力融入同一框架,不仅推动了任务协同与泛化能力的突破,更重要的是,它代表着对类人智能(AGI)的一种深层探索。通过在单一模型中统一理解与生成ÿ…...

[文献阅读]ReAct: Synergizing Reasoning and Acting in Language Models
文章目录 摘要Abstract:思考与行为协同化Reason(Chain of thought)ReAct ReAct如何协同推理 响应Action(动作空间)协同推理 结果总结 摘要 ReAct: Synergizing Reasoning and Acting in Language Models [2210.03629] ReAct: Synergizing Reasoning an…...

摄像头监视脚本
摄像头监视脚本,若检测到摄像头画面有变化,保存这一段视频 一、使用方法 1.运行脚本 默认参数Threshold3, Period3, path./recordings python cam.py --threshold30 --period3 --path./recordings 2.参数说明 threshold:摄像头捕获到的画面变化量阈值…...

FreeRTOS的内存管理(选择heap4.c文件的理由)
目录 1. 了解FreeRTOS内存管理 2. 了解内存碎片 3.了解各个heap.c的内存分配方法 1.heap1.c 2.heap2.c 3.heap3.c 4.heap4.c 5.heap5.c 总结: 内存管理是一个系统基本组成部分,FreeRTOS 中大量使用到了内存管理,比如创建任务、信号量…...

SQL-leetcode-183. 从不订购的客户
183. 从不订购的客户 Customers 表: -------------------- | Column Name | Type | -------------------- | id | int | | name | varchar | -------------------- 在 SQL 中,id 是该表的主键。 该表的每一行都表示客户的 ID 和名称。 Orders 表&#…...

苹果系统MacOS下ObjectC建立的App程序访问opencv加载图片程序
前言 苹果系统下使用opencv感觉还是有些不太方便,总是感觉有点受到限制。本博客描述的是在MacOS下建立App程序然后调用opencv显示图片时出现的一些问题并最后解决的一个过程。 一、程序的建立 选择程序的类型: 选择界面模式和编程语言: 其余…...

《代码随想录》Day21打卡!
写在前面:祝大家新年快乐!!!2025年快乐,2024年拜拜~~~ 《代码随想录》二叉树:修剪二叉搜索树 本题的完整题目如下: 本题的完整思路如下: 1.本题使用递归进行求解,所以分…...

Dell服务器升级ubuntu 22.04失败解决
ubuntu系统原版本20.04,服务器dell T40. 执行apt update后,再执行apt upgrade。 apt update执行成功,但apt upgrade执行中断,提示如下: Checking package manager Reading package lists... Done Building dependen…...

构建全志 T113 Tina SDK
1、环境配置: 准备一个 Ubuntu 系统,可以是 WSL,虚拟机等,建议版本是 20.04。 1.1、安装必要的软件 进入系统后,输入下方命令安装需要的工具 : sudo apt update -y sudo apt full-upgrade -y sudo apt i…...

(推荐)【通用业务分发架构】1.业务分发 2.rpc调用 3.Event事件系统
一.Reflections和SpringUtil完成扫描包的(反射缓存) 二.id与class的映射泛型上下文(玩家是否登录,rpc调用SeqId,class类名)反射调用 1.netty层的 AccountMsgParam // 登录前 OnlineMsgParam // 登录后 SceneMsgParam // 发到场景层的 2.跨进程rpc调用的…...

最近的一些事情
正义不会缺席 这家公司违法辞退不给工资乱开离职证明。严重影响个人发展。 今天终于收到法院的判决书。 警醒自身发展与社会之间密切交流,敲响警钟。 虽然最终得到的法院的支持,但过程举步维艰。 这其中的过程,也让我对律师、法院和中国…...

CP AUTOSAR标准之FlexRayDriver(AUTOSAR_SWS_FlexRayDriver)(更新中……)
1 简介和功能概述 FlexRay驱动程序(Fr)抽象了特定FlexRay通信控制器(CC)的硬件相关实现细节。本规范主要依赖于符合FlexRay规范[13]的FlexRay CC。此外,本规范还支持符合FlexRay规范[14]的旧版FlexRay控制器。本SWS中因支持的FlexRay规范不同而导致的不同行为在适用的情况下以…...

Cesium 实战 27 - 三维视频融合(视频投影)
Cesium 实战 27 - 三维视频融合(视频投影) 核心代码完整代码在线示例在 Cesium 中有几种展示视频的方式,比如墙体使用视频材质,还有地面多边形使用视频材质,都可以实现视频功能。 但是随着摄像头和无人机的流行,需要视频和场景深度融合,简单的实现方式则不能满足需求。…...

GraphRAG实践:docker部署neo4j
概述 随着图数据库(Graph Database)的流行,越来越多的应用场景开始采用图数据库来处理复杂的关系数据。Neo4j作为领先的图数据库之一,提供了强大的图形查询语言Cypher、高效的存储结构和丰富的生态系统,使得它成为开发…...

常用的数据库类型都有哪些
在Java开发和信息系统架构中,数据库扮演着存储和管理数据的关键角色。数据库种类繁多,各有特色,适用于不同的应用场景。 1. 关系型数据库(RDBMS): • 关系型数据库是最为人熟知的数据库类型,数据…...

swiftui开发页面加载发送请求初始化@State变量
在SwiftUI中,你不能直接在init中更新State变量,因为State是由SwiftUI框架管理的,初始化时不允许直接修改。所以需要在onAppear发送请求然后修改State状态。 在SwiftUI中,如果希望在页面加载时立即发送网络请求,可以使…...

Ribbon和Eureka的集成
Ribbon和Eureka的集成是Spring Cloud Netflix生态系统的一部分,通常用于微服务架构中,以实现客户端负载均衡和服务发现。以下是更详细的集成步骤: 1. 引入依赖 在你的Spring Boot项目的pom.xml文件中添加Eureka客户端和Ribbon的依赖&#x…...

关于UE加载osgb数据的研究(一)
最近关于倾斜数据在UE中加载显示的问题,直接转换格式本地加载的方式避免了数据延迟加载、缓存加载,动态刷新等问题,但是也暴露了突出的问题:常规的模型格式会丢失掉倾斜数据的lod,致使效果缺失。 故而需要深入研究一下UE加载osgb数据的方式方法。 首先,我们需得学习一下…...

探索数据之美,Plotly引领可视化新风尚
在数据如潮的今天,如何精准捕捉信息的脉搏,让数据说话?Plotly,这款强大的数据可视化工具,正以其卓越的性能和丰富的功能,成为数据分析师、科学家及工程师们的得力助手。 Plotly不仅仅是一个绘图库…...

List排序的方法
List 排序方法: 1. list 的 sort() package com.example.a; import java.util.ArrayList; import java.util.Comparator; import java.util.List; class User{private Integer score;private Integer age;public User(Integer score, Integer age){super();this.…...

BurstAttention:高效的分布式注意力计算框架
BurstAttention:高效的分布式注意力计算框架 在现代大型语言模型(LLMs)的应用中,提升注意力机制的计算效率已成为研究的热点。当前,提升计算效率主要有两种方法:一种是优化单设备的计算和存储能力…...

大数据治理:构建稳健的数据生态系统
引言 随着信息技术的迅猛发展,企业每天都在生成海量的数据。这些数据不仅来自传统的业务交易系统,还包括社交媒体、物联网设备、移动应用程序等多个渠道。大数据治理旨在确保组织能够有效地管理其拥有的所有数据资产,以支持决策制定、优化业…...

【图书介绍】几本适合当教材的大数据技术图书
《Spark SQL大数据分析快速上手》 《Spark SQL大数据分析快速上手(大数据技术丛书)》(迟殿委,王泽慧,黄茵茵)【摘要 书评 试读】- 京东图书 《Spark SQL大数据分析快速上手》内容基于Spark新版本展开,符合企业目前开…...

阴阳师の新手如何速刷5个SP/SSR?!(急速育成)
目标:攒5个SP/SSR式神,参与急速育成,省四个黑蛋(想要快速升级技能而且经常上场的式神在攒够5个式神前先不升级)【理论上组成:10蓝40蓝预约召唤福利20修行or抽卡】 关键点:蓝票,新手…...

unity学习4:git和SVN的使用差别
目录 1 svn 1.1 操作逻辑 1.2 对应工具 1.3 SVN避免冲突的好习惯 2 git 2.1 git的基础操作逻辑 2.1.1 commit时,提交文件之外的其他文件需要pull 2.1.2 commit时,发现要提交的本地文件和服务器的文件冲突了 2.1.3 pull 时 2.2 对应工具 2.3 …...

四大自平衡树对比:AVL树、红黑树、B树与B+树
AVL树、红黑树、B树和B树的对比与应用场景 树系列相关文章(置顶) 1、从链表到平衡树:二叉查找树的退化与优化 2、自平衡二叉查找树:如何让二叉查找树始终保持高效 3、AVL树入门:理解自平衡二叉查找树的基础 4、红黑树全…...

BUUCTF Pwn ciscn_2019_es_2 WP
1.下载 checksec 用IDA32打开 定位main函数 发现了个假的后门函数: 看看vul函数: 使用read读取 想到栈溢出 但是只有48个 只能覆盖EBP和返回地址 长度不够构造 所以使用栈迁移: 栈迁移需要用到leave ret 使用ROPgadget找地址: …...

MongoDb-mongosh-登录
本地登录 mongosh --username root --password xxx 参考:Connect to a Deployment - MongoDB Shell...

C语言day3:shell脚本
一、作业题3 使用数组求出当前目录下.sh文件的个数 二、作业题4 使用数组求家目录下文件的个数 三、思维导图...

微信小程序Uniapp
使用命令行创建项目(vuets) npx degit dcloudio/uni-preset-vue#vite-ts my-vue3-project然后用HBX打开项目 再安装依赖 npm i 再运行开发版本,生成dist目录 pnpm dev:mp-weixin 注意要设置APPid 再用微信小程序打开...