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

介绍 CM3leon,一个更高效、最先进的文本和图像生成模型

近几个月来,随着让机器理解和表达语言的自然语言处理技术以及可根据文本输入生成图像的系统的进步,人们对生成式人工智能模型的兴趣和研究也在加速。今天,我们要展示的是 CM3leon(发音类似于 “变色龙”),它是一个单一的基础模型,可以实现文本到图像和图像到文本的生成。

在这里插入图片描述

CM3leon 是第一个采用纯文本语言模型的方法训练的多模态模型,包括大规模检索增强预训练阶段和第二个多任务监督微调(SFT)阶段。这种方法简单易行,能生成强大的模型,同时也表明基于标记符号的转换器可以像现有的基于生成扩散的模型一样高效地进行训练。CM3leon 在文本到图像的生成方面达到了最先进的性能,尽管其训练所需的计算量是以前基于转换器的方法的五倍。CM3leon 具有自回归模型的多功能性和有效性,同时保持了较低的训练成本和推理效率。它是一个因果掩蔽混合模态(CM3)模型,因为它可以生成以其他图像和文本内容的任意序列为条件的文本和图像序列。这极大地扩展了以往模型的功能,以往的模型要么只是文本到图像,要么只是图像到文本。

虽然纯文本生成模型通常会在各种不同任务上进行多任务指令调整,以提高其遵循指令提示的能力,但图像生成模型通常是专门针对特定任务的。我们将大规模多任务指令调整应用于 CM3leon 的图像和文本生成,结果表明它显著提高了图像标题生成、视觉问题解答、基于文本的编辑和条件图像生成等任务的性能。这提供了另一个有力的例子,说明为纯文本模型开发的扩展秘诀如何直接推广到我们基于标记化的图像生成模型。

在比较最广泛使用的图像生成基准(零镜头 MS-COCO)的性能时,CM3Leon 的 FID(弗雷谢特起始距离)得分达到了 4.88,在文本到图像生成领域确立了新的技术水平,并超越了谷歌的文本到图像模型 Parti。这一成就强调了检索增强的潜力,并突出了扩展策略对自回归模型性能的影响。CM3Leon 还显示出令人印象深刻的生成复杂构图对象的能力,例如下面示例中带有太阳镜和帽子的盆栽仙人掌。CM3leon 在各种视觉语言任务中表现出色,包括视觉问题解答和长篇字幕。即使只在由 30 亿个文本标记组成的数据集上进行训练,CM3Leon 的零镜头性能也能与在更广泛的数据集上训练的大型模型相比毫不逊色。

CM3leon 在不同任务中的表现

利用 CM3leon 的功能,图像生成工具可以生成更加连贯的图像,更好地遵循输入提示。例如,许多图像生成模型在恢复整体形状和局部细节的能力方面都很吃力。CM3leon 在这方面表现出色。以下是 CM3leon 在各种任务中的表现,所有任务均由单一模型完成:

文本引导的图像生成和编辑

当涉及复杂对象或提示包括许多必须全部包含在输出中的约束时,图像生成可能具有挑战性。文本引导的图像编辑(例如,“将天空的颜色更改为明亮的蓝色”)具有挑战性,因为它要求模型同时理解文本指令和视觉内容。CM3leon 在所有情况下都表现出色,如下例所示。

文本到图像

给定可能具有高度构图结构的提示文本,根据提示生成连贯的图像。例如,我们根据提示创作了以下四幅图片:(1) 撒哈拉沙漠中一棵头戴草帽和霓虹太阳镜的小仙人掌。(2) 一张人手的特写照片,手部模型。高质量。(3) 动漫中的浣熊主角,正准备用武士刀进行一场史诗般的战斗。战斗姿态。幻想,插画。(4) 带有 "1991 "字样的幻想风格的停车标志。

在这里插入图片描述

文本引导的图像编辑

给定一幅图像和一段文字提示,根据文字说明编辑图像。由于 CM3leon 模型的通用性,这一任务是通过与上下所有其他任务相同的模型完成的,而不像 InstructPix2Pix 等以前的模型只针对文本引导的图像编辑进行调整。

在这里插入图片描述

文本任务

CM3leon 模型还能根据一系列不同的提示生成或长或短的标题,并回答有关图像的问题。

例如,想象一只狗拿着一根棍子。

提示问题:What is the dog carrying?

模型生成:Stick

提示:Describe the given image in very fine detail.

生成模型:In this image, there is a dog holding a stick in its mouth. There is grass on the surface. In the background of the image, there are trees.

在这里插入图片描述

我们在各种图像字幕生成和视觉问题解答任务中对经过指令调整的模型进行了实证评估,并将它们与以前的先进基准进行了比较。尽管与 Flamingo(100B)和 OpenFlamingo(40B)相比,CM3leon 模型看到的文本数据(约 3B 标记)要少得多,但它们在 MS-COCO 标题生成和 VQA2 问题解答上的零镜头性能水平与 OpenFlamingo 不相上下,甚至在 VizWiz 任务上比 Flamingo 高出近 10 个百分点。

结构引导图像编辑

结构引导图像编辑不仅涉及理解和解释文本指令,还涉及理解和解释作为输入提供的结构或布局信息。这使 CM3leon 模型能够在遵守给定结构或布局准则的同时,创建视觉上连贯且与上下文相适应的图像编辑。

对象到图像

给定图像边框分割的文本描述,生成图像。

在这里插入图片描述

分割到图像

给定一幅只包含分割结果(不含文本类别)的图像,生成一幅图像。这里的输入指的是我们从中提取分割结果的图像。

在这里插入图片描述

超分辨率结果

以上所有生成的图像都是 CM3leon 模型的原始输出。然而,图像生成的一个常见技巧是添加一个单独训练的超分辨率阶段,以从原始模型输出生成更高分辨率的图像。这在 CM3leon 中也非常有效,正如我们在下面文本到图像生成任务的示例中所展示的那样。

每个提示的四幅示例图像:(1) 一杯热气腾腾的咖啡,背景是群山。在公路旅行中休息。(2) 日落时分美丽雄伟的道路。唯美。(3) 湖中央的圆形小岛。湖泊周围的森林。高对比度。

在这里插入图片描述
提示的更多示例:(1) 海龟在水下游泳。审美。幻想。(2) 大象在水下游泳。审美。幻想。(3) 羊群。审美。幻想。

在这里插入图片描述

我们如何构建 CM3leon

架构

CM3Leon 的架构采用了与成熟的基于文本的模型类似的仅解码器转换器。然而,CM3Leon 的与众不同之处在于它能够输入和生成文本和图像。这使 CM3Leon 能够成功地处理我们上面分享的各种任务。

训练

根据我们最近的工作,CM3leon 的训练检索得到了增强,大大提高了生成模型的效率和可控性。最后,如上所述,我们对各种不同的图像和文本生成任务进行了指令微调。

随着人工智能行业的不断发展,像 CM3leon 这样的生成模型也变得越来越复杂。这些模型通过对数以百万计的示例图像进行训练来学习视觉和文本之间的关系,但它们也能反映出训练数据中存在的任何偏差。虽然行业在理解和应对这些挑战方面仍处于早期阶段,但我们相信,透明度将是加速进步的关键。

因此,正如我们的论文所述,我们使用授权数据集对 CM3leon 进行了训练。这表明,在数据分布与以往所有模型截然不同的情况下,CM3leon 仍能表现出强劲的性能。通过公开我们的工作,我们希望鼓励生成式人工智能领域的合作与创新。我们相信,通过共同努力,我们可以创建出不仅更准确,而且对每个人都更公平公正的模型。

为多模态语言模型铺平道路

在创建高质量生成模型的目标下,我们相信 CM3leon 在各种任务中的出色表现是向更高保真图像生成和理解迈出的一步。像 CM3leon 这样的模型最终将有助于提高创造力和更好地应用于元宇宙。我们期待着探索多模态语言模型的边界,并在未来发布更多模型。

Paper

感谢大家花时间阅读我的文章,你们的支持是我不断前进的动力。期望未来能为大家带来更多有价值的内容,请多多关注我的动态!

相关文章:

介绍 CM3leon,一个更高效、最先进的文本和图像生成模型

近几个月来,随着让机器理解和表达语言的自然语言处理技术以及可根据文本输入生成图像的系统的进步,人们对生成式人工智能模型的兴趣和研究也在加速。今天,我们要展示的是 CM3leon(发音类似于 “变色龙”),它…...

HTTPS和HTTP有哪些区别

两者的主要区别在于安全性和数据加密: 加密层:HTTPS 在HTTP 的基础上增加了SSL/TLS 协议作为加密层,确保数据传输的安全性,即使数据被截获,没有相应的密钥也无法解读数据内容。而HTTP 数据传输是明文的,容易受到攻击。…...

Docker 安装 PostgreSQL

1. 启动 PostgreSQL 容器 docker run --name ffj-postgres -p 5432:5432 -e POSTGRES_PASSWORDCisc0123 -d postgres docker run:启动一个新的容器。--name指定容器名称为 ffj-postgres。-p 5432:5432:将主机的 5432 端口映射到容器的 5432 端口。-e P…...

实践致知第12享:如何新建一个Word并设置格式

一、背景需求 小姑电话说:要新建一个Word文档,并将每段的首行设置空2格。 二、解决方案 1、在电脑桌面上空白地方,点击鼠标右键,在下拉的功能框中选择“DOC文档”或“DOCX文档”都可以,如下图所示。 之后&#xff0…...

Rust vs Go: 特点与应用场景分析

目录 介绍Rust的特点Go的特点Rust的应用场景Go的应用场景总结 介绍 Rust和Go(Golang)是现代编程语言中两个非常流行的选择。凭借各自的独特优势和广泛的应用场景,吸引了大量开发者的关注。本文将详细介绍Rust和Go的特点,并探讨它…...

2024的开放式耳机排行榜,看这六个耳机选购的小Tips

寻找一款既能聊天又能听歌的耳机并不容易,但是开放式耳机可能会是一个理想的选择。与传统的入耳式耳机相比,开放式耳机可以让你更加自然地与周围环境互动,并且不容易掉落。当然,在市场上选择一款适合自己的开放式耳机也是至关重要…...

JAVA-报表模糊搜索询易实现

背景: 一般文件报表经常会需要搜各个表头对应内容,如果支持全部类型切换搜索,操作起来就不够便捷。而且这个报表是测试自己用的,准确性可以不用太要求,所以更想要那中输入关键字命中任意表记录内容的模糊匹配功能。 方法一:解析搜…...

牛客 7.13 月赛(留 C逆元)

B-最少剩几个?_牛客小白月赛98 (nowcoder.com) 思路 奇数偶数 奇数;奇数*偶数 奇数 所以在既有奇数又有偶数时,两者结合可以同时删除 先分别统计奇数,偶数个数 若偶个数大于奇个数,答案是偶个数-奇个数 若奇个数…...

FPGA之术语

FPGA之术语 IOSTANDARDDIFF_SSTL12:LVCMOS33:sys_clk_p/n:rst_n:UART时钟JTAG:GPIOONFIPCIe IOSTANDARD 在电子工程领域,DIFF_SSTL12和LVCMOS33是两种不同的电气标准,用于定义信号的电压级别和特性。 IOSTANDARD是一个在FPGA(现场可编程门阵…...

WPF透明置顶窗口wine适配穿透问题解决

一、透明窗口全屏时,鼠标不穿透 问题描述 我有一个透明窗口,它是一个全屏置顶窗口,窗口里面有一个工具条,可以通过鼠标拖动工具条的位置,程序启动后,在不点击工具条的时候,鼠标是可以穿透的&a…...

浅析Kafka Streams中KTable.aggregate()方法的使用

KTable.aggregate() 方法是 Apache Kafka Streams API 中用于对流数据进行状态化聚合的核心方法之一。这个方法允许你根据一个键值&#xff08;通常是<K,V>类型&#xff09;的流数据&#xff0c;应用一个初始值和一个聚合函数&#xff0c;来累积和更新一个状态&#xff0…...

java word转pdf、word中关键字位置插入图片 工具类

java word转pdf、word中关键字位置插入图片 工具类 1.pom依赖 <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>3.15</version></dependency><dependency><groupId>org.apa…...

jail内部ubuntu apt升级失败问题解决

在FreeBSD jail 里安装启动Ubuntu jammy系统&#xff0c;每次装好执行jexec ubjammy sh进入Ubuntu系统后&#xff0c;执行apt update报错。 这个问题困惑了好久&#xff0c;突然有一天仔细去看报错信息&#xff0c;查看了(man 5 apt.conf) &#xff0c;才搞定问题。简单来说就是…...

迎接AI新时代:GPT-5的技术飞跃与未来展望

引言 随着人工智能技术的迅猛发展&#xff0c;大语言模型在过去几年取得了显著进步。OpenAI最新的声明表明&#xff0c;GPT-5将在一年半后发布&#xff0c;并将带来从高中生智力水平到博士生智力水平的飞跃。这一突破引起了科技界和公众的广泛关注。本文将从技术突破预测、智能…...

Snap Video:用于文本到视频合成的扩展时空变换器

图像生成模型的质量和多功能性的显著提升&#xff0c;研究界开始将其应用于视频生成领域。但是视频内容高度冗余&#xff0c;直接将图像模型技术应用于视频生成可能会降低运动的保真度和视觉质量&#xff0c;并影响可扩展性。来自 Snap 的研究团队及其合作者提出了 "Snap …...

实验8 视图创建与管理实验

一、实验目的 理解视图的概念。掌握创建、更改、删除视图的方法。掌握使用视图来访问数据的方法。 二、实验内容 在job数据库中&#xff0c;有聘任人员信息表&#xff1a;Work_lnfo表&#xff0c;其表结构如下表所示&#xff1a; 其中表中练习数据如下&#xff1a; 1.‘张明…...

C++ 开源库

1 PDFium PDFium 是一个开源的 PDF 渲染和处理库&#xff0c;最初由 Foxit Software 开发&#xff0c;并于2014年捐赠给了 Chromium 项目。PDFium 旨在为各种应用程序提供高效、灵活的 PDF 渲染和操作功能。 2 代码地址 https://github.com/chromium/pdfium 主要特性 渲染…...

LabVIEW滤波器性能研究

为了研究滤波器的滤波性能&#xff0c;采用LabVIEW设计了一套滤波器性能研究系统。该系统通过LabVIEW中的波形生成函数&#xff0c;输出幅值及频率可调的正弦波和白噪声两种信号&#xff0c;并将白噪声与正弦波叠加&#xff0c;再通过滤波器输出纯净的正弦波信号。系统通过FFT&…...

『C++成长记』vector模拟实现

&#x1f525;博客主页&#xff1a;小王又困了 &#x1f4da;系列专栏&#xff1a;C &#x1f31f;人之为学&#xff0c;不日近则日退 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 目录 一、存储结构 二、默认成员函数 &#x1f4d2;2.1构造函数 &#x1f4d2;2.2拷贝…...

【Mac】Charles for Mac(HTTP协议抓包工具)及同类型软件介绍

软件介绍 Charles for Mac 是一款功能强大的网络调试工具&#xff0c;主要用于HTTP代理/HTTP监视器。以下是它的一些主要特点和功能&#xff1a; 1.HTTP代理&#xff1a;Charles 可以作为HTTP代理服务器&#xff0c;允许你查看客户端和服务器之间的所有HTTP和SSL/TLS通信。 …...

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站&#xff0c;会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后&#xff0c;网站没有变化的情况。 不熟悉siteground主机的新手&#xff0c;遇到这个问题&#xff0c;就很抓狂&#xff0c;明明是哪都没操作错误&#x…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用&#xff1a;实现组件通用属性的渐变过渡效果&#xff0c;提升用户体验。支持属性&#xff1a;width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项&#xff1a; 布局类属性&#xff08;如宽高&#xff09;变化时&#…...

DAY 47

三、通道注意力 3.1 通道注意力的定义 # 新增&#xff1a;通道注意力模块&#xff08;SE模块&#xff09; class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

pam_env.so模块配置解析

在PAM&#xff08;Pluggable Authentication Modules&#xff09;配置中&#xff0c; /etc/pam.d/su 文件相关配置含义如下&#xff1a; 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块&#xff0c;负责验证用户身份&am…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1

每日一言 生活的美好&#xff0c;总是藏在那些你咬牙坚持的日子里。 硬件&#xff1a;OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写&#xff0c;"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面

代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口&#xff08;适配服务端返回 Token&#xff09; export const login async (code, avatar) > {const res await http…...

C++ 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中&#xff0c;车辆不再仅仅是传统的交通工具&#xff0c;而是逐步演变为高度智能的移动终端。这一转变的核心支撑&#xff0c;来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒&#xff08;T-Box&#xff09;方案&#xff1a;NXP S32K146 与…...

【笔记】WSL 中 Rust 安装与测试完整记录

#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统&#xff1a;Ubuntu 24.04 LTS (WSL2)架构&#xff1a;x86_64 (GNU/Linux)Rust 版本&#xff1a;rustc 1.87.0 (2025-05-09)Cargo 版本&#xff1a;cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...

JavaScript 数据类型详解

JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型&#xff08;Primitive&#xff09; 和 对象类型&#xff08;Object&#xff09; 两大类&#xff0c;共 8 种&#xff08;ES11&#xff09;&#xff1a; 一、原始类型&#xff08;7种&#xff09; 1. undefined 定…...