字节出品SDXL-Lightning:文生图开放模型新突破

生成模型的研究中,文本到图像的生成一直是一个充满挑战的任务。传统的扩散模型虽然在生成质量上取得了显著的成果,但其生成过程往往需要大量的迭代步骤,这不仅导致计算成本高昂,而且生成速度缓慢,难以满足实时或近实时应用的需求。随着技术的发展和应用场景的不断扩展,如何在短时间内生成高质量、高分辨率的图像样本,已成为该领域亟待解决的关键问题。

在这样的背景下,SDXL-Lightning模型的出现,为文本到图像的生成任务带来了革命性的突破。SDXL-Lightning是一种基于扩散蒸馏方法的模型,它通过结合渐进式和对抗性蒸馏技术,在保持图像质量的同时显著减少了生成所需的步骤。这一创新不仅大幅度提升了生成效率,同时也在模式覆盖和图像细节上取得了平衡,为用户提供了更为丰富和真实的视觉体验。

SDXL-Lightning的优势在于其能够在单步或少步骤内完成1024px高分辨率图像的生成,这一点在现有的生成模型中是前所未有的。相比于传统的扩散模型,SDXL-Lightning在以下几个方面展现出其独特的优势:

效率提升:通过优化的蒸馏过程,SDXL-Lightning大幅减少了生成高质量图像所需的推理步骤,从而加快了生成速度,降低了计算资源的消耗。

质量保证:即便在减少推理步骤的情况下,SDXL-Lightning依然能够保持甚至提升生成图像的质量,这得益于其先进的对抗性蒸馏技术,能够在每一步生成中实现更加精细和逼真的细节。

模式覆盖:SDXL-Lightning在设计中特别考虑了模式覆盖的问题,确保了生成的图像不仅质量上乘,而且在风格和内容上具有多样性。

通用性和兼容性:该模型具有良好的通用性,能够适应不同的数据集和模态,同时与现有的LoRA模块和控制插件兼容,为用户提供了更大的灵活性和创造性空间。

SDXL-Lightning模型的开源,为学术界和工业界提供了宝贵的资源,促进了生成模型技术的发展和应用创新。

方法 (Method)

在传统的模型蒸馏过程中,均方误差(MSE)损失函数被广泛用于衡量学生模型预测与教师模型预测之间的差异。然而,在少步骤生成的场景中,学生模型往往因为模型容量的限制,无法精确捕捉教师模型的复杂概率流。这种容量不匹配导致在MSE损失下,学生模型倾向于产生模糊的结果,而非清晰、细节丰富的图像。具体来说,当模型在多步骤生成中堆叠使用时,由于其Lipschitz常数的增加和非线性特性的增强,能够近似更复杂的分布;但在少步骤生成中,学生模型缺乏足够的容量来准确近似相同的分布。

不同容量模型学习到的多种可能的流(flows)。这张图说明了为什么使用均方误差(MSE)损失进行蒸馏会在少步骤生成时产生模糊结果

为了解决MSE损失带来的问题,SDXL-Lightning采用了对抗性目标。通过引入一个对抗性鉴别器,该鉴别器的任务是区分由教师模型和学生模型生成的样本。鉴别器D的输出表示给定条件下,样本是由教师模型生成的概率。通过非饱和的对抗性损失,学生模型被训练以最小化鉴别器判断错误的能力,从而鼓励学生预测更加接近教师预测。

鉴别器的设计采用了预训练的扩散模型的U-Net编码器作为后端。这种设计的优势在于,预训练的编码器已经对目标数据集有了深刻的理解,并且能够直接在潜在空间中操作,支持所有时间步的噪声输入,并且能够处理文本条件。鉴别器通过将教师和学生的预测作为输入,学习到底层的概率流,迫使学生模型遵循相同的流以欺骗鉴别器。

尽管对抗性目标鼓励学生模型生成尖锐且保持概率流的预测,但学生模型仍然可能因为容量限制而无法完美匹配教师模型的突变。这种不匹配可能导致“Janus”伪影的出现,即学生模型在尝试保持图像锐度和布局时牺牲了语义正确性。为了解决这个问题,SDXL-Lightning在训练后期放宽了对模式覆盖的要求,允许学生模型在一定程度上偏离教师模型的概率流,以减少伪影并保持图像的语义正确性。

“Janus”伪影,这出现在学生网络无法匹配教师网络的突然变化时。这张图说明了通过放宽模式覆盖要求可以减轻这个问题

SDXL-Lightning还解决了常见的扩散时间表问题。在训练过程中,模型被训练以在时间步T处接受纯噪声作为输入,而在推理时则使用旧的α时间表来避免奇异性。这种方法在现有软件生态系统中的采样过程变化最小,同时确保了训练和推理过程中模型对纯噪声的一致性处理。

蒸馏过程首先从128步蒸馏到32步,使用MSE损失,然后切换到对抗性损失,进一步蒸馏到8步、4步、2步和1步。在每个阶段,首先使用条件目标训练以保持概率流,然后使用无条件目标训练以放宽模式覆盖。LoRA模块首先用于训练,然后合并LoRA并训练整个UNet以进一步提高性能。

为了提高一步和两步蒸馏的稳定性,SDXL-Lightning采用了多种技术。这些技术包括在多个时间步上训练学生网络、在多个时间步上训练鉴别器,以及将一步模型从预测噪声转换为直接预测数据样本。这些技术的采用显著提高了训练过程的稳定性,并有助于生成更高质量的图像。

评估 (Evaluation)

在规格比较环节,作者将其蒸馏模型SDXL-Lightning与现有的其他模型进行了详尽的对比。这一比较涵盖了生成步骤数、分辨率、是否需要分类器自由引导(Classifier-free Guidance, CFG)等关键参数。SDXL-Lightning在这些关键指标上展现出显著的优势,尤其是在减少生成步骤的同时,能够保持或甚至提升图像的分辨率和质量。

作者的蒸馏模型与其他模型的规格比较,包括所需的推理步骤数、分辨率和是否需要额外的分类器自由引导(CFG)

通过一系列示例图像,作者展示了SDXL-Lightning在整体质量和细节上相较于其他开源蒸馏模型的明显优势。这些示例不仅展示了SDXL-Lightning在生成高保真图像方面的能力,还突显了其在保留原始模型风格和布局方面的卓越性能。定性评估结果表明,SDXL-Lightning在各种不同的文本提示下均能生成高质量且与描述高度一致的图像。

作者的方法与其他开源蒸馏模型(SDXL-Turbo和LCM)的定性比较。这些例子展示了作者的模型在所有提示中产生最佳结果,并且最好地保留了原始模型的风格和布局

为了更客观地评估模型性能,作者采用了Fréchet Inception Distance (FID)和CLIP分数这两个定量指标。FID分数用于衡量生成图像与真实图像之间的差异,而CLIP分数则评估图像与文本描述的一致性。SDXL-Lightning在这些指标上均取得了优异的成绩,证明了其在生成高质量、高分辨率图像方面的领先地位。

不同模型的定量比较,使用了Fréchet Inception Distance (FID)和CLIP分数来评估模型性能

消融研究 (Ablation)

作者展示了SDXL-Lightning的LoRA模型能够适应多种不同的基础模型,包括卡通、动漫和现实风格的基础模型,并在适应过程中保留了各自风格的特点和布局,这证明了LoRA模型的通用性和灵活性。

作者的蒸馏LoRA模型可以应用于不同的基础模型,例如卡通、动漫和现实基础模型,并在很大程度上保留了新基础模型的风格和布局

尽管SDXL-Lightning的蒸馏过程仅针对正方形图像,但消融研究显示,该模型在不同分辨率和长宽比下依然能够进行有效的推理。这一发现表明,尽管特定于正方形图像的训练可能在一定程度上限制了模型的泛化能力,但SDXL-Lightning仍然能够在一定程度上处理各种形状的图像。

尽管蒸馏仅在正方形图像上执行,但模型仍然能够在不同的分辨率和长宽比下进行推理

作者还测试了SDXL-Lightning与ControlNet的兼容性,ControlNet是一种能够为图像生成模型提供额外条件控制的网络。测试结果表明,SDXL-Lightning能够很好地与ControlNet协同工作,即使在推理步数减少导致质量有所下降的情况下,模型仍然能够正确地遵循给定的条件,生成符合要求的图像。

作者的模型与ControlNet兼容的测试结果。这表明作者的模型能够正确地遵循条件,尽管随着推理步数的减少,质量有所下降

尽管取得了显著的成果,此方法也有其局限性。与支持多种推理步骤设置的单一蒸馏检查点的方法不同,此方法为每个推理步骤设置生成了单独的检查点。这种设计虽然在特定应用场景下提供了灵活性,但在需要动态调整推理步骤的应用中可能会带来额外的复杂性。

而且尽管UNet架构在多步生成中表现出色,为图像的细节和结构提供了强有力的保障,但它可能并不是单步生成的最佳选择。UNet架构的设计初衷是为了在多步骤的迭代过程中逐步优化和细化生成结果,而在单步生成中,这种逐步优化的空间被大大压缩,从而可能限制了模型性能的发挥。

但这些局限性并不是不可克服的障碍。通过进一步的研究和优化,比如开发新的网络架构专门针对单步生成进行优化,或是探索更灵活的蒸馏策略以减少检查点的数量,都可以在未来进一步提升模型的效率和应用范围。

模型地址:https://huggingface.co/ByteDance/SDXL-Lightning

论文地址:https://arxiv.org/abs/2402.13929

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

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

相关文章

【MATLAB源码-第225期】基于matlab的计算器GUI设计仿真,能够实现基础运算,三角函数以及幂运算。

操作环境: MATLAB 2022a 1、算法描述 界面布局 计算器界面的主要元素分为几大部分:显示屏、功能按钮、数字按钮和操作符按钮。 显示屏 显示屏(Edit Text):位于界面顶部中央,用于显示用户输入的表达式和…

没有特斯拉的开源专利,就没有中国电动车产业今天的成就?

原文链接:没有特斯拉的开源专利,就没有中国电动车产业今天的成就? 特斯拉的开源专利,对中国电动车产业的影响有多大? 2014年6月12日(June 12, 2014),特斯拉(TESLA&…

nodejs 某音douyin网页端搜索接口及x_bogus、a_bogus(包含完整源码)(2024-06-13)

前言 x_bogus或a_bogus算法大概是对数据、ua、时间戳、浏览器的几个指纹进行计算,拿到一个110位大数组,然后转字符,在头部再添加十二位随机字符,再进行魔改的base64加密。 问:抖音的x_bogus、a_bogus值有什么用&#x…

网工内推 | 外企、上市公司运维工程师,有软考中高项证书优先

01 优尼派特(苏州)物流有限公司 🔷招聘岗位:软件运维测试工程师 🔷任职要求: 1、负责公司自主研发的软件售后服务工作, 包括软件的安装, 调试, 升级,培训, 参数配置, 需求与Bug的处理; 2、负责数据库升级及…

远程主机强迫关闭了一个现有的连接redis

引言 在使用 Redis 进行开发和运维过程中,我们可能会遇到 Redis 连接被远程主机强制关闭的情况。本文将介绍造成这种情况的原因,并给出一些处理方法和建议。 远程主机强制关闭连接的原因 远程主机强制关闭连接通常是由于网络不稳定、连接超时、Redis 配…

数据质量测试:测试数据有效性和准确性的方法

以下为作者观点,来看看你认同吗? 如果西西弗斯(编者注:希腊神话中的人物)是一个数据分析师或数据科学家,他在山上滚动的巨石将是他的数据质量保障。即使所有获取、处理和建模的工程流程都无懈可击&#xf…

HarmonyOs修改应用名称和图标方法

最近在开发Harmony应用,发现修改app.json5下的lable:app_name和icon不生效 后来经过查找,原来还需要更改entry下的src/main/module.json5才行,具体操作路径是: 更改后生效:

Vue31-自定义指令:总结

一、自定义函数的陷阱 1-1、自定义函数名 自定义函数名,不能用驼峰式!!! 示例1: 示例2: 1-2、指令回调函数的this 【回顾】: 所有由vue管理的函数,里面的this直接就是vm实例对象。…

Linux发邮件的工具推荐有哪些?如何配置?

Linux发邮件的功能怎么样?Linux系统如何设置服务器? 在Linux操作系统中,有多种工具可供选择用来发送电子邮件,每种工具都有其独特的特点和适用场景。AokSend将介绍几种常用的Linux发邮件工具,并分析它们的优缺点和适用…

Linux部署mysql8.0.28数据库

目录 1.基础准备 (1)首先去官网下载二进制安装包 (2)下载好之后上传至服务器 (3)禁用关闭selinux和防火墙 (4)挂载光盘搭建本地yum仓库 2.解压到指定目录 3.检查系统是否安装mariadb 4.安装MySQL数据库 (1)进入MySQL目录 看到‘完毕’就说面mysql已经安装成功了 4.初…

解决el-table表格拖拽后,只改变了数据,表头没变的问题

先看看是不是你想要解决的问题 拖拽后表头不变的bug修复 这个问题一般是使用v-for对column的数据进行循环的时候,key值绑定的是个index导致的,请看我上篇文章:eleplus对el-table表格进行拖拽(使用sortablejs进行列拖拽和行拖拽):-…

FastAPI操作关系型数据库

FastAPI可以和任何数据库和任意样式的库配合使用,这里看一下使用SQLAlchemy的示例。下面的示例很容易的调整为PostgreSQL,MySQL,SQLite,Oracle等。当前示例中我们使用SQLite ORM对象关系映射 FastAPI可以与任何数据库在任何样式…

eFuse电子保险丝,需要了解的技术干货来啦

热保险丝作为一种基本的电路保护器件,已经成功使用了150多年。热保险丝有效可靠、易用,具有各种不同的数值和版本,能够满足不同的设计目标。然而,对于寻求以极快的速度切断电流的设计人员来说,热保险丝不可避免的缺点就…

联邦学习论文阅读:2018 Federated learning with non-IID data

介绍 这是一篇2018年挂在arXiv上的文章,是一篇针对FL中数据Non-IID的工作。 作者发现,对于高度Non-IID的数据集,FedAvg的准确性下降了55%。 作者提出了可以用权重散度(weight divergence)来解释这种性能下降&#xff…

Redis跳表

Redis跳表 跳表是一种有序数据结构,它通过在每个节点维持多个指向其他节点的指针,从而达到快速访问节点的目的 跳表支持平均O(logN),最坏O(N)复杂度的节点查找,还可以通过顺序性操作…

【SCAU数据挖掘】数据挖掘期末总复习题库简答题及解析——上

1.K-Means 假定我们对A、B、C、D四个样品分别测量两个变量,得到的结果见下表。 样品 变量 X1X2 A 5 3 B -1 1 C 1 -2 D -3 -2 利用K-Means方法将以上的样品聚成两类。为了实施均值法(K-Means)聚类,首先将这些样品随意分成两类(A、B)和(C、…

Ubuntu下使用`sysbench`来测试CPU性能

使用 sysbench 来测试 CPU 性能是一个常见的方法。sysbench 是一个模块化的跨平台基准测试工具,常用于评估系统的各个组件(例如 CPU、内存、I/O 子系统等)的性能。 下面是如何使用 sysbench 来测试 CPU 性能的基本步骤: 1. 安装…

车载电子电气架构 - 智能座舱技术及功能应用

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节…

论文解读——《I2EDL: Interactive Instruction Error Detection and Localization》

一、研究背景 视觉与语言导航(VLN)是一个AI领域的研究任务,旨在开发能够按照自然语言指令在三维空间中导航到指定位置的智能体。这项任务与人类的日常活动——如按照口头指示到达某个地点——十分相似,对于推动人机交互的自然性和…

【智能算法应用】基于混合粒子群-蚁群算法的多机器人多点送餐路径规划问题

目录 1.算法原理2.数学模型3.结果展示4.参考文献5.代码获取 1.算法原理 【智能算法】粒子群算法(PSO)原理及实现 配餐顺序: 采用混合粒子群算法 || 路径规划: 采用蚁群算法 2.数学模型 餐厅送餐多机器人多点配送路径规划&…