浅析 GPT-4o 画图背后的技术:OmniGen
2025-4-6
| 2025-4-6
字数 2971阅读时长 8 分钟
type
status
date
slug
summary
tags
category
icon
password
platform
GPT-4o 最近更新了一版本的模型,因为生成的图片效果很好,图片好看,同时也带来了很多新的玩法,在互联网上爆火。
 
对于 ChatGPT 来说,4o 图像模型确实超出预期,这次的模型可以说是大获成功。
Sam Altman 维持特地发了一条推特说:“GPT-4o 在 1 小时内增加了 100 万用户”
notion image
 
 
 
我们可以来看看 GPT-4o 的出图效果,看看归藏老师的一些出图案例:
 
把英雄联盟的英雄画成时尚海报,出图效果非常棒
notion image
notion image
notion image
 
notion image
 
 
 
GPT-4o 很擅长在画面中生成文字,可以用来做一些有趣的插画图。并且对文字的理解非常棒,即便对中文的效果比较差,也可以抽卡出不少有趣的图像。
可以用来做穿搭分析,可以用来画有趣的插画
notion image
notion image
notion image
notion image
notion image
 
 
GPT-4o 还很擅长不同风格志健的转换
notion image
 
模仿归藏老师的思路,我也把我的头像转换成了皮克斯 CG 3D 的风格:
notion image
 
 
GPT-4o 这次爆火的几个原因:
  1. 生成的图片效果好,输出图片好看,带来了很多新的玩法;
  1. 实现了文本、图像、语音的统一处理;
 
 
除了看模型生成的效果外,作为一个 AI 产品经理,我还是比较希望能够了解模型背后的技术原理。
 
所以就找到了,最右可能是 GPT-4o 背后的技术—— OmniGen
聊聊这项技术的突破
 
这一波 AI 技术,虽然都是 AI 生成技术,但其实最重要的时来源于两个技术架构——Transformer 架构和 diffusion 架构。
 
比如我们经常说的大语言模型,主要是基于 Transformer 架构。
而使用的最多的图像生成模型,比如 stable diffusion,则是基于 diffusion 架构。
 
下图是 Transformer 架构的原理图,分为 encoder 和 decoder 两个部分。
  • Encoder:可以把它想象成一个信息提取器。它读取输入数据(比如一段文字)并把它转换成另一种表达方式,这种方式可以被模型更容易地理解。
  • Decoder:这个部分类似于翻译器,它把Encoder提取的信息转化为最终输出(比如另一种语言的文本)。
Transformer 架构的特点是多头注意力机制和自回归机制。
notion image
下图是成 latent diffusion 的架构图,也就是 stable diffusion 的基础论文。
 
Latent Diffision 的工作原理是先将图像,通过 VAE 转化成潜在空间里的表示,可以理解为是一个加了很多噪点的“向量”,再使用 U-Net 架构,加上一些额外的控制来控制图像的去噪方向,最终经过多轮 U-Net 的去噪后,再由 VAE 还原成图像。
notion image
 
U-Net是先将图像的向量进行卷积操作,再通过训练,按照要求还原这个图像。
notion image
U-Net 架构示意图
 
VAE 则是将输入图像转换为潜在空间的概率分布参数,输出两组值:μ(均值)和σ(标准差/方差),再通过 decoder 还原成原来的图像
notion image
VAE 架构示意图
 
 
所以非常有趣的是,我们可以发现,不管是 VAE,U-Net 还是 Transformer,都有一个 Encoder 和 Decoder 的过程。
但这里面不同的架构有自己不同的特点。
 
那么有没有可能将大语言模型和图像生成模型结合起来呢?
也就是我们常说的多模态模型,支持多种模态的内容的输入和输出。
 
在前沿的模型研究中,大家一直在做这个方向的尝试。
例如 2022 年提出的 DiT 架构,使用 Transformer 架构来替换 latent diffusion 中的 U-Net。
DiT 架构中使用了 Transformer 以后,Transformer 的多头注意力机制和自回归性,是的图像生成模型对文字和知识的理解更好,也能加固更好的上下文,但同时训练和推理消耗的算力也会更高。
但总体来说生成的图像质量会比原来的更好。
甚至也因为此,DiT 架构开启了视频生成模型的录像,2023 年爆火的 Sora 就是基于 DiT 架构。阿里最新开源的 WAN 模型,也是基于此。
notion image
 
但是 DiT 架构,其本质同样还是图像生成模型,只能用于接受提示词和参考图来生成一张图像。
 
我们如果观察上面 GPT-4o 的生成图片的特点的话,可以发先他支持多轮文字和图像的输入,来生成一张图像。
notion image
 
这明显区别于 DiT 架构。
而是用了另外一套技术框架。
 
经过我的研究和猜测,我推断 GPT-4o 应该是使用了 OmniGen 这个框架。
非常有趣的是,OmniGen 这个技术的论文,还是北京人工智能研究院写的论文。
 
让我们浅浅读一下这篇论文。
在论文的开头就提出了现有的 diffusion 技术框架的局限性,当要完成一些特点的操作时,例如在图像中增加一些文字,一些笔画等等,因为底膜本身不具备这些能力,所以通过一些额外的操作,例如微调训练一个新的模型,或者是使用 ControlNet,Puild 等 Condictioning 来完成工作,无法直接训练模型。
所以也就是说,之前的生图流程,很多时候都需要搭建复杂的工作流来实现,例如 ComfyUI。
notion image
像下面这张图中的案例,
如果想要在原来的架构中让模型生成固定姿势的人物,则需要先提取原有图像中的人物动作,再使用提出的动作作为 Condictioning 来控制图像生成。或者是先提取深度图像,再使用深度图像作为Condictioning 来控制图像。
但 OmniGen 架构却可以一步生成这个任务,不再需要去搭建复杂的工作流。
notion image
 
 
为了解决这个问题,学者们设计了一套全新的 OmniGen 架构。这个全新的架构非常简洁和通用。
架构只使用了 VAE 和 Transformer,利用Transformer 来知道 diffusion 模型的扩散方向,最终生成想要的图片。
并且因为使用了完整的 Transformer 架构,所以这个架构支持任意交错的文本和图像输入,而不是像之前的架构一样,只能接受单一的文本和图像。
notion image
 
同时这套架构针对文字和文本使用了不同的注意力机制。
针对文字,还是使用传统的单向的因果注意力机制,而针对图像,则使用了双向注意力机制。
 
让我们来看看 OmniGen 的技术框架
notion image
 
对于用户输入的任意文本和图像,
OmniGen 会在图像输入的首位使用 <img> 标识,标识这是一个图像。
输入的文字,通过 text tokenizer 处理成 token,输入到 Transformer 中。
而输入的图像,则是使用 VAE 转换成潜在空间后,再将潜在空间切成多个小块,这样才能把它放入到 Transformer 中。
 
在训练的过程中,OmniGen 中的架构中的 Transformer 实际上被用于训练来生成一个扩散方向,按照论文中的说法,是用来预测一个速度场 v_theta(xt, t, c),这个速度场表示从 xt 到原始图像 x 之间 "最快" (直线) 的方向。
通过多轮地指导扩散的方向,来生成一个潜在空间,最后再使用 VAE 的 decoder ,从潜在空间还原成真实的图像。
 
训练时,使用了 X2I 数据集,巧妙的是,这个框架并没有对文字进行单独地增强训练。
但因为这套架构中其统一的 Transformer 模型对多模态指令的理解能力,以及在包含各种任务(包括图像编辑)的 X2I 数据集上进行训练所获得的泛化能力,这个模型在生成图像中的文字时,稳定性非常高。
 
接下来我们可以来看看论文中的案例,你就会发现这些案例真的和 GPT-4o 的效果非常接近。
notion image
 
基于 OmniGen 架构的模型,
  1. 可以直接用来作文生图,并且很好地保持图像中生成文字的稳定性(例如图中的左上角)
  1. 可以用来作图像变漫长,例如图片中间的案例,在图片中展现一些文字,模型可以稳定地生成;
  1. 同时也可以用来作视觉处理,提取深度图,作相框稿,甚至是图像分层,都可以实现。
 
notion image
再比如这个案例,上传两张图片,并且让模型基于图像中的某个人物来生成人物的图像,也可以做到,这是不是和我们在文章开头提到的,让 GPT-4o 把 Sam Altman 和 Ilya 的图像融合的案例非常相似。
 
 
再比如下面的案例,使用 OmniGen 来做一些风格转换,线稿生成图片,图像生成油画,甚至是换衣服等任务,都可以实现。
notion image
 
论文中还提供了更多的图像处理案例,感兴趣的朋友可以到文章底部的参考文献处查看论文链接。
 
当然 OmniGen 也并不是无所不能,
论文中就提到了 OmniGen 的局限性,在处理长文本任务的时候还不够好。
朋友们可以打开 GPT-4o 试试,确实 4o 在处理长文本的任务时,耗时会特别长,并且生成的图像效果并不好。
 
 
读完论文,我几乎可以确信,GPT-4o 背后的技术原理,应该和 OmniGen 非常相似,甚至可能就是 OmniGen。
更有趣的是,这可是一篇中国人写的论文啊!
为什么像 4o 这样的创新,不是发生在中国的大模型公司呢?这倒是一件值得思考的事。
 
 
另外一件有趣的洞察是,现在的 AI 框架,例如 U-Net,VAE,Transformer 框架,都有非常类似的框架,这后面有一些不错的洞察,我想下一篇文章,我们可以聊聊这个话题。
感兴趣的朋友,可以关注我,等待下一篇更新。
 
 
好了,
如果这篇文章对你有帮助的话,可以点赞文章,或是转发给你喜欢的人,或是给我买杯咖啡,也可以关注我的公众号和我一起学习,你的支持是我坚持下去的动力。
 
 
相关论文:
  1. VAE: Auto-Encoding Variational Bayes(https://arxiv.org/abs/1312.6114)
  1. U-Net: U-Net: Convolutional Networks for Biomedical Image Segmentation(https://arxiv.org/abs/1505.04597)
  1. Transformer: Attention is all you need(https://arxiv.org/abs/1706.03762)
  1. DiT:Scalable Diffusion Models with Transformers(https://arxiv.org/abs/2212.09748)
  1. OmniGen: OmniGen: Unified Image Generation(https://arxiv.org/abs/2409.11340)
 
  • AI
  • 得闲,人民路走一遭一张飞往北国的机票
    Loading...
    目录