(2024,LlamaGen,Llama,自回归下一token预测,模型扩展)自回归模型优于扩散:Llama 用于可扩展图像生成
Autoregressive Model Beats Diffusion: Llama for Scalable Image Generation

目录
0. 摘要
1. 引言
2. 自回归模型在图像生成中的应用
2.1 概述
2.2 图像 tokenizer
2.3 自回归模型生成图像
2.4 规模扩展
2.5 服务
3. 实验
5. 结论
0. 摘要
我们介绍 LlamaGen,一个新的图像生成模型家族,该模型将大型语言模型(LLM)的原始 “下一 token 预测” 范式应用于视觉生成领域。这是对纯粹的自回归模型(例如 Llama)在没有视觉信号上的归纳偏差的情况下,通过适当扩展,是否能实现最先进的图像生成性能的肯定回答。我们重新审视了图像 tokenizer 的设计空间、图像生成模型的可扩展性属性及其训练数据质量。这次探索的成果包括:
- 一个图像 tokenizer,具有 16 倍的下采样比,在 ImageNet 基准测试中实现了 0.94 的 rFID 重建质量和 97% 的码本使用率。
- 一系列类别条件的图像生成模型,参数从 111M 到 3.1B 不等,在 ImageNet 256×256 基准测试中实现了 2.18 的 FID,超过了流行的扩散模型如 LDM 和 DiT。
- 一个具有 775M 参数的文本条件图像生成模型,通过在 LAION-COCO 和高美学质量图像上的两阶段训练,展示了在视觉质量和文本对齐方面的竞争性能。
- 我们验证了 LLM 服务框架在优化图像生成模型推理速度方面的有效性,实现了 326% - 414% 的加速。
我们发布了所有模型和代码,以促进开源社区的视觉生成和多模态基础模型的发展。

1. 引言
基于自回归模型,大型语言模型(LLMs)通过预测序列中的下一个 token 来生成文本。这种 “下一 token 预测” 范式在以类似人类对话的方式解决语言任务方面表现出了前所未有的能力,并展现了惊人的可扩展性,显示了通用人工智能模型的潜在路径。
自回归模型在大型语言模型上的可扩展性被验证后,先驱性工作尝试探索自回归模型在图像生成中的应用,例如,VQVAE ,DALL-E,Parti。他们引入图像 tokenizer,将连续图像转换为离散 token,并应用自回归模型以 “下一 token 预测” 的方式生成图像 token。他们在 2022 年前的同类中表现出了强大的性能。然而,他们的开源社区发展不完善,这在很大程度上限制了其进一步的改进。
同期,另一种图像生成方法,扩散模型快速发展。伴随着其开源社区,他们主导了直到今天的视觉生成领域。然而,扩散模型与自回归语言模型有着截然不同的范式,这对构建统一的语言和视觉模型提出了巨大的挑战。
在这项工作中,我们致力于进一步推进自回归模型在图像生成方面的应用:继续其研究方法并为开源社区做出贡献。回顾 2024 年前的图像生成文献,我们确定了现有高级模型的三个关键点:1)精心设计的图像压缩器,2)可扩展的图像生成模型,和 3)高质量的训练数据。受此启发,我们重新审视了图像 tokenizer(自回归模型的图像压缩器)的设计、图像生成模型的可扩展性属性及其训练数据的影响。
为了实现语言和视觉之间潜在的统一模型,我们的设计是减少对视觉信号的归纳偏差,并采用与 LLM 相同的架构。这与最近的一些工作所采用的以视觉为导向的设计不同。例如,MaskGIT 和 MAGVIT 采用了掩码图像建模策略,VAR 使用了分层多尺度属性。尽管它们在实现领先的图像生成性能方面取得了成功,甚至超过了扩散模型,但仍不清楚原始语言模型架构是否具备这种能力。相反,我们的工作揭示了应用与语言模型完全相同的 “下一 token 预测” 的纯粹自回归模型也能够实现最先进的图像生成性能。额外的好处是,我们可以利用 LLM 社区开发的技术来优化我们模型的训练配方和推理速度。
我们发布了所有模型和代码,以促进视觉生成和多模态基础模型的开源社区的发展。值得注意的是,我们发布的模型在性能上仍落后于基于扩散模型的最先进视觉生成模型 [Alpha-VLLM 2024; Esser等人 2024; Brooks等人 2024]。当未来有更多的训练数据和计算资源可用时,将探索更大规模的基于 AR 的视觉生成模型,例如超过 7B 参数的模型。
2. 自回归模型在图像生成中的应用
2.1 概述
首先,图像像素 x∈R^(H×W×3) 被图像 tokenizer 量化为 q∈Q^(h×w) 的离散 token,其中 h=H/p,w=W/p,p 是图像 tokenizer 的下采样率,q^(i,j) 是图像码本的索引。然后,这些图像 token 被重新排列为按照栅格扫描顺序的 h⋅w 个 token 序列,并用于训练基于 Transformer 的自回归模型。
在图像生成过程中,图像 token (q1,q2,...,q_(h⋅w)) 由自回归模型通过 “下一 token 预测” 的方式生成:
![]()
其中 c 是类别标签嵌入或文本嵌入。最后,这些图像 token 通过图像 tokenizer 解码器转换为图像像素。
2.2 图像 tokenizer
量化自编码器架构。我们使用与 VQGAN 相同的架构,即编码器-量化器-解码器。编码器和解码器是具有下采样比率 p 的卷积网络。量化器包含一个码本 Z∈R^(K×C),其中有 K 个可学习的向量。编码器将图像像素 x 投射到特征图 f。量化过程将特征图中的每个向量 f^(i,j) 映射到码本中最接近的向量 z^(i,j) 的编码索引 q^(i,j)。在解码过程中,编码索引 q^(i,j) 被重新映射到特征向量 z^(i,j),解码器将这些特征向量转换回图像像素 ^x。
码本对图像 tokenization 性能有重大影响。根据 [Yu等人 2021],我们对码本向量使用 ℓ_2 正则化、低码本向量维度 C 和大码本大小 K。这些设计显著提高了重建质量和码本的使用率。更多细节将在实验中讨论。
训练损失。由于量化是不可微操作,使用直通梯度估计器(straight-through gradient
estimator)来保持从解码器到编码器的梯度:z = sg[z−f] + f,其中 sg[⋅] 是停止梯度操作。对于码本学习:L_VQ = || sg[f] − z ||^2_2 + β·|| f − sg[z] ||^2_2,其中第二项是 commitment loss,迫使从编码器提取的特征向量接近码本向量,β 是 权重。为了简化,我们在码本学习中不添加熵损失 [Yu等人 2023a; Chang等人 2022]。
对于图像重建训练:
![]()
其中 ℓ_2 是图像像素的重建损失,L_P(⋅) 是来自 LPIPS 的感知损失,LG(⋅) 是与图像 tokenizer 同时训练的 PatchGAN [Isola等人 2017] 鉴别器的对抗损失,λ_G 是对抗损失权重。
2.3 自回归模型生成图像
Llama 架构。我们的模型架构主要基于 Llama,应用了 RMSNorm 进行预归一化(pre-normalization),SwiGLU 激活函数,以及旋转位置嵌入。具体来说,我们在每一层模型中使用 2D RoPE,按照 [Lu et al. 2023; Fang et al. 2023] 的实现方法。我们不使用 AdaLN 技术,以保持我们的结构与 LLM 一致。
类别条件图像生成。类别嵌入从一组可学习的嵌入中索引,并用作预填充 token 嵌入。从这个 token 嵌入开始,模型通过下一 token 预测的方式生成图像 token 序列,并在预定义的最大长度位置停止。
文本条件图像生成。为了将文本条件整合到自回归模型中,我们使用 FLAN-T5 XL 作为文本编码器,编码后的文本特征通过一个额外的 MLP 投影,并用作自回归模型中的预填充 token 嵌入。我们注意到这种设计并不是多模态基础模型的最终设计,其中语言和视觉之间建立了统一的词汇表。我们将其留待未来研究。
无分类器指导。在扩散模型社区中开发的无分类器指导以其提高视觉质量和文本图像对齐而闻名。我们在我们的模型中采用了这一方法。在训练过程中,条件随机丢弃,并被一个空的无条件嵌入取代。在推理时,对于每个 token,其 logit ℓ_g 由 ℓ_g = ℓ_u + s(ℓ_c − ℓ+u) 形成,其中 ℓ_c 是条件 logit,ℓ_u 是无条件 logit,s 是无分类器指导的缩放比例。
值得注意的是,迄今为止讨论的所有设计选择主要受到先前工作的启发,例如,图像 tokenizer 借鉴自 [Rombach et al. 2022; Yu et al. 2021],图像生成来自 [Peebles & Xie 2023; Chen et al. 2023b; Esser et al. 2021]。这些技术的大部分在扩散模型中研究得很好,但在自回归模型中研究得较少。我们的工作将这些先进的设计集体适应于基于自回归的视觉生成模型。
2.4 规模扩展
我们的模型架构与 Llama 几乎相同,这使我们能够无缝采用 LLM 社区中的优化技术和训练方案。如表 1 所示,我们在这项工作中将模型规模扩展到 3.1B 参数。所有模型都使用 PyTorch 2 实现,并在 80GB A100 GPU 上进行训练。对于参数少于 1.4B 的模型,我们直接使用 DDP,否则,我们采用 PyTorch FSDP 来优化 GPU 内存使用。

2.5 服务
自回归模型一直受困于其低推理速度。随着大规模语言模型的快速发展,LLM 社区提出了高级推理技术来优化推理速度。与训练类似,LLM 社区开发的推理技术也可以用来优化我们的模型。我们验证了 vLLM 这一最流行的 LLM 服务框架之一在我们的图像生成方法上的有效性。如表 7 所示,与基线设置相比,实现了 326% - 414% 的加速。

3. 实验








5. 结论
在这项工作中,我们深入研究了用于可扩展图像生成的普通自回归模型。通过重新审视其图像 tokenizer、图像生成模型和训练数据,我们的类别条件模型优于流行的扩散模型,而我们的文本条件模型在视觉质量和文本对齐方面表现出竞争力。
论文地址:https://arxiv.org/abs/2406.06525
项目页面:https://github.com/FoundationVision/LlamaGen
公和众与号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群)
加 VX 群请备注学校 / 单位 + 研究方向
相关文章:
(2024,LlamaGen,Llama,自回归下一token预测,模型扩展)自回归模型优于扩散:Llama 用于可扩展图像生成
Autoregressive Model Beats Diffusion: Llama for Scalable Image Generation 目录 0. 摘要 1. 引言 2. 自回归模型在图像生成中的应用 2.1 概述 2.2 图像 tokenizer 2.3 自回归模型生成图像 2.4 规模扩展 2.5 服务 3. 实验 5. 结论 0. 摘要 我们介绍 LlamaGen&…...
重新安装操作系统的软件都有哪些?
重新安装操作系统关键步骤 重新安装操作系统通常涉及到几个关键步骤:创建可启动媒体、备份现有数据、安装操作系统、以及系统初始化和配置。以下是一些常用工具和软件,它们可以帮助你完成这些步骤: 创建可启动媒体 Rufus:用于W…...
深圳水务展|2025深圳国际水务科技博览会
2025深圳国际水务科技博览会 展会主题: 新质生产力赋能水务产业高质量发展 展会时间:2025年7月24-26日 展会地点:深圳会展中心(福田) 主办单位: 广东省水利学会 深圳市水务学会 协办单位: 中国水利…...
OpenAI not returning a result?
题意:OpenAI 没有返回结果吗? 问题背景: Im trying to use the OpenAI beta but I cant seem to get a result. Im accessing the API via an NPM package (openai-api - npm). I have that setup and working but when I make a request th…...
[Windows]_[初级]_[GetVersionEx获取系统版本错误的原因]
场景 开发WTL/ATL/Win32程序时, 有时候需要获取系统版本号,以便判断用户在使用软件时的系统。在某一天突然发现获取的系统版本号是错的, 一直是版本号6.2.x,什么情况? 说明 如果软件没有针对Win8.1或Win10以上的系统做兼容处理,返回的是Wi…...
2024,Java开发在中国市场还有发展前景吗?
随着2024年的到来,Java作为一种经典而强大的编程语言,依然在中国的软件开发市场中扮演着重要角色。然而,许多人对Java的未来发展前景持有不同的看法。让我们来探讨一下当前情况和未来的走向。 Java程序员真的过剩了吗? 2023年, 各…...
gcc: string.c_str gcc-8.5的一个问题
https://en.cppreference.com/w/cpp/string/basic_string/c_str https://sourceforge.net/p/cppcheck/wiki/ListOfChecks/ common mistakes when using string::c_str()string的这个成员是返回c类型的一个字符数组指针。但是这个指针所对应的地址有赖于string对象的生命周期。所…...
一道笔试题 - 无重复字符的最长子串
老生常谈的一道题,常见并 文章目录 描述预期结果Java代码 描述 给定一个字符串 s ,请你找出其中不含有重复字符的最长子串的长度。 预期结果 Java代码 import java.util.HashSet; import java.util.Set;public class Demo2 {public static void main(S…...
C#反射的NullReferenceException
背景 xml文件中有些元素的属性被删除,导致文件无法被读取(C#)。 调试之后发现,因为属性被删除,读进来会保持默认值null,在后续的反射中如果用这个null给字符串属性赋值,会抛异常。 另外发现前面…...
100道C/C++面试题
1. static的作用2. 引用与指针的区别3. .h头文件中的ifndef/define/endif 的作用4 #include<file.h>与#include"file.h"的区别?5 描述实时系统的基本特性6 全局变量和局部变量在内存中是否有区别?如果有,是什么区别?7 什么是平衡二叉树?8 堆栈溢…...
Python(模块)
模块编写完成就可以被其他模块进行调用并使用被调用模块的功能。 import导入方式的语法结构: import模块名称【as别名】 from……import导入方式的语法结构: from模块名称,import变量/函数/类/*(*是通配符) impor…...
【八股文】Java基础篇
1. 和 equals的区别是什么? 判断两个变量或者实例是否都指向同一内存空间的值(不仅值相同,地址也要相同)equals是判断两个变量执行的内存空间的值是否相同(值相同,地址可以不同),所…...
python rsa如何安装
Python中的一些模块是用一个包管理器来发布的,RSA模块就是,所以首先需要安装setup tools工具。 1、下载文件:ez_setup.py 2、安装: sudo python ez_setup.py 3、下载RSA安装包:rsa-3.1.1-py2.7.egg 4、安装RSA&…...
P10289 [GESP样题 八级] 小杨的旅游
Description 给定一棵 n n n 个点的树,每条边权值均为 1 1 1,树上有 k k k 个关键点,关键点们在 0 0 0 的时间内相互可达, q q q 次询问,求 s → t s\to t s→t 的最短路。 Analysis 考虑暴力建图,…...
网络编程 ----------- 4、组播与广播
1、广播 broadcast 广播是指向同一个网络中所有的主机传输数据只有传输层协议为 UDP协议时,才支持广播 TCP是端对端,广播是一对多 ,所以无法符合其要求。 1)广播地址 广播地址的计算: 子网掩码…...
最短路径算法:Bellman-Ford算法
引言 在图论中,Bellman-Ford算法是一种用于计算单源最短路径的算法。与Dijkstra算法不同,Bellman-Ford算法可以处理带有负权边的图,并且可以检测图中是否存在负权环。本文将详细介绍Bellman-Ford算法的定义、步骤及其实现。 Bellman-Ford算…...
爬虫:xpath模块及昵图网实例
xpath模块 from lxml import etreestr1 """ <div><ul><li class"item-0"><a href"link1.html">first item</a></li><li class"item-1"><a href"link2.html">second…...
高级java每日一道面试题-2024年8月03日-web篇-forward和redirect有什么区别?
如果有遗漏,评论区告诉我进行补充 面试官: forward和redirect有什么区别? 我回答: 在Java Web开发中,forward和redirect是Servlet容器提供的两种用于页面跳转的技术。它们的主要区别在于客户端感知的方式、URL地址的变化、请求对象的共享等方面。下面详细介绍两…...
如何让你的网站拥有更好的体验
在HTML中,属性是用于提供关于HTML元素的额外信息。接下来我们将讲解13个可以让用户拥有更好体验的HTML属性。 Accept 属性 我们可以在<input>元素(仅适用于文件类型)中使用accept属性来指定服务器可以接受的文件类型。 <input ty…...
opencascade AIS_TypeFilter AIS_XRTrackedDevice源码学习
opencascade AIS_TypeFilter 前言 通过它们的类型选择交互对象。该过滤器会对本地上下文中的每个交互对象提出问题, 以确定它是否具有非空的所有者,并且如果是,则检查它是否是所需类型。 如果对象在每种情况下都返回 true,则保留…...
3个关键功能解析:USBToolBox如何简化macOS与Windows的USB端口映射难题
3个关键功能解析:USBToolBox如何简化macOS与Windows的USB端口映射难题 【免费下载链接】tool the USBToolBox tool 项目地址: https://gitcode.com/gh_mirrors/too/tool 在Hackintosh和跨平台开发领域,USB端口映射一直是个令人头疼的技术难题。US…...
Kerberos身份认证原理与企业级排错实战指南
1. 这不是“另一个登录框”,而是一套精密运转的身份验证齿轮系统很多人第一次听说 Kerberos,是在公司内网登录邮箱或访问内部系统时,看到那个带小盾牌图标的弹窗——“正在使用 Kerberos 协议进行身份验证”。于是下意识觉得:“哦…...
从入门到上岗,Java+AI 复合型人才养成攻略
当下编程行业格局正在悄然改变,纯 Java 后端岗位内卷日趋严重,薪资增长逐步放缓;纯粹的 AI 算法岗门槛居高不下,对学历、数理功底要求严苛,普通开发者很难入局。 而Java+AI 复合型开发顺势成为行业刚需岗位,既依托成熟的 Java 体系承接业务开发,又能融入人工智能技术实…...
告别手写UI!用NXP GUI Guider拖拽设计LVGL界面,5分钟搞定音乐播放器Demo
嵌入式UI开发革命:5分钟用GUI Guider构建LVGL音乐播放器在嵌入式系统开发中,用户界面(UI)设计曾长期是工程师的痛点——既要考虑资源受限的硬件环境,又要实现流畅美观的交互体验。传统手动编写UI代码的方式不仅效率低下,调试过程更…...
0.2毫秒快速启动的操作系统
在工业控制以及航空航天等核心场景,极速启动就是高可靠系统的生命线。0.2毫秒超快启动搭配硬件看门狗,让设备在掉电重启、异常恢复时瞬时归位,关键任务永不延误! https://www.bilibili.com/video/BV11mLY6VERt/?spm_id_from333.1…...
双系统Ubuntu磁盘告急?别重装!用GParted无损扩容保姆级教程(附U盘启动盘制作)
双系统Ubuntu磁盘告急?别重装!用GParted无损扩容保姆级教程(附U盘启动盘制作)当你在Windows和Ubuntu双系统环境下工作时,是否遇到过这样的窘境:当初安装时给Ubuntu分配的空间捉襟见肘,而Windows…...
2026年一键生成论文工具对比实测:5款神器从选题到格式全流程护航
写论文的焦虑,是每个科研人和学生都心照不宣的“隐形压力”。选题无从下手,文献检索耗时费力,逻辑框架反复推翻,格式排版让人抓狂,查重降重更是像在和系统玩“猫鼠游戏”。2026年的AI工具早已不是过去那种“打字机”&a…...
【紧急预警】Lindy衰减临界点已提前至第8.3个月!2024最新《营销自动化寿命健康度白皮书》限时开放前500份
更多请点击: https://kaifayun.com 第一章:Lindy衰减临界点的理论重构与实证突破 Lindy效应传统上描述“越老越长寿”的非线性生存规律,但其在现代软件系统、开源生态与协议层技术栈中的适用边界正遭遇结构性挑战。本文首次将Lindy模型从静…...
武汉国电华美串联谐振试验装置,现场用着心里有底
在高压试验现场干了这么多年,这位老师傅常说,一台好的串联谐振装置,就是试验人员的胆。面对GIS、大型变压器、超高压电缆这些大电容试品,没有趁手的谐振设备,交流耐压试验根本没法干。16875kVA/225kV这个规格ÿ…...
Unity新手避坑指南:NavMesh烘焙参数(Agent Radius/Height)到底怎么设?附场景实测
Unity导航系统深度解析:Agent参数设置与场景适配实战在Unity游戏开发中,导航系统(Navigation System)是实现角色智能移动的核心模块。对于刚接触Unity导航系统的开发者来说,Agent Radius(代理半径)和Agent Height(代理身高)这两个参数的设置往…...
