1024 分辨率下最快模型,字节跳动文生图开放模型 SDXL-Lightning 发布
文章来源|字节跳动智能创作团队
很高兴跟大家分享我们最新的文生图模型 —— SDXL-Lightning,它实现了前所未有的速度和质量,并且已经向社区开放。
模型:https://huggingface.co/ByteDance/SDXL-Lightning
论文:https://arxiv.org/abs/2402.13929
闪电般的图像生成
生成式 AI 正凭借其根据文本提示(text prompts)创造出惊艳图像乃至视频的能力,赢得全球的瞩目。然而,当前最先进的生成模型依赖于扩散过程(diffusion),这是一个将噪声逐步转化为图像样本的迭代过程。这个过程需要耗费巨大的计算资源并且速度较慢,在生成高质量图像样本的过程中,单张图像的处理时间约为5秒,其中通常需要多次(20 到 40 次)调用庞大的神经网络。这样的速度限制了有快速、实时生成需求的应用场景。如何在提升生成质量的同时加快速度,是当前研究的热点领域,也是我们工作的核心目标。
SDXL-Lightning 通过一种创新技术——渐进式对抗蒸馏(Progressive Adversarial Distillation)——突破了这一障碍,实现了前所未有的生成速度。该模型能够在短短 2 步或 4 步内生成极高质量和分辨率的图像,将计算成本和时间降低十倍。我们的方法甚至可以在 1 步内为超时敏感的应用生成图像,虽然可能会稍微牺牲一些质量。
除了速度优势,SDXL-Lightning 在图像质量上也有显著表现,并在评估中超越了以往的加速技术。在实现更高分辨率和更佳细节的同时保持良好的多样性和图文匹配度。
速度对比示意
原始模型(20 步),我们的模型(2 步)
模型效果
我们的模型可以通过 1 步、2 步、4 步和 8 步来生成图像。推理步骤越多,图像质量越好。
以下是我们的 4 步生成结果:
以下是我们的 2 步生成结果:
与以前的方法(Turbo 和 LCM)相比,我们的方法生成的图像在细节上有显著改进,并且更忠实于原始生成模型的风格和布局。
回馈社区,开放模型
开源开放的浪潮已经成为推动人工智能迅猛发展的关键力量,字节跳动也自豪地成为这股浪潮的一部分。我们的模型基于目前最流行的文字生成图像开放模型 SDXL,该模型已经拥有一个繁荣的生态系统。现在,我们决定将 SDXL-Lightning 开放给全球的开发者、研究人员和创意从业者,以便他们能访问并运用这一模型,进一步推动整个行业的创新和协作。
在设计 SDXL-Lightning 时,我们就考虑到与开放模型社区的兼容。社区中已有众多艺术家和开发者创建了各种各样的风格化图像生成模型,例如卡通和动漫风格等。为了支持这些模型,我们提供 SDXL-Lightning 作为一个增速插件,它可以无缝地整合到这些多样风格的 SDXL 模型中,为各种不同模型加快图像生成的速度。
我们的模型也可以和目前非常流行的控制插件 ControlNet 相结合,实现极速可控的图片生成。
我们的模型也支持开源社区里目前最流行的生成软件 ComfyUI,模型可以被直接加载来使用:
关于技术细节
从理论上来说,图像生成是一个由噪声到清晰图像的逐步转化过程。在这一过程中,神经网络学习在这个转化流(flow)中各个位置上的梯度。
生成图像的具体步骤是这样的:首先,我们在流的起点,随机采样一个噪声样本,接着用神经网络计算出梯度。根据当前位置上的梯度,我们对样本进行微小的调整,然后不断重复这一过程。每一次迭代,样本都会更接近最终的图像分布,直至获得一张清晰的图像。
图:生成流程 ( 图片来自 : https://arxiv.org/abs/2011.13456 )
由于生成流复杂且非直线,生成过程必须一次只走一小步以减少梯度误差累积,所以需要神经网络的频繁计算,这就是计算量大的原因。
图:曲线流程 ( 图片来自 : https://arxiv.org/abs/2210.05475 )
为了减少生成图像所需的步骤数量,许多研究致力于寻找解决方案。一些研究提出了能减少误差的采样方法,而其他研究则试图使生成流更加直线化。尽管这些方法有所进展,但它们仍然需要超过 10 个推理步骤来生成图像。
另一种方法是模型蒸馏,它能够在少于 10 个推理步骤的情况下生成高质量图像。不同于计算当前流位置下的梯度,模型蒸馏改变模型预测的目标,直接让其预测下一个更远的流位置。具体来说,我们训练一个学生网络直接预测老师网络完成了多步推理的后的结果。这样的策略可以大幅减少所需的推理步骤数量。通过反复应用这个过程,我们可以进一步降低推理步骤的数量。这种方法被先前的研究称之为渐进式蒸馏。
图:渐进式蒸馏 ,学生网络预测老师网络多步后的结果
在实际操作中,学生网络往往难以精确预测未来的流位置。误差随着每一步的累积而放大,导致在少于 8 步推理的情况下,模型产生的图像开始变得模糊不清。
为了解决这个问题,我们的策略是不强求学生网络精确匹配教师网络的预测,而是让学生网络在概率分布上与教师网络保持一致。换言之,学生网络被训练来预测一个概率上可能的位置,即使这个位置并不完全准确,我们也不会对它进行惩罚。这个目标是通过对抗训练来实现的,引入了一个额外的判别网络来帮助实现学生网络和教师网络输出的分布匹配。
这是我们研究方法的简要概述。在我们的技术论文(https://arxiv.org/abs/2402.13929)中,我们提供了更深入的理论分析、训练策略以及模型的具体公式化细节。
SDXL-Lightning 之外
尽管本研究主要探讨了如何利用 SDXL-Lightning 技术进行图像生成,但我们所提出的渐进式对抗蒸馏方法的应用潜力不局限于静态图像的范畴。这一创新技术也可以被运用于快速且高质量生成视频、音频以及其他多模态内容。我们诚挚邀请您在 HuggingFace 平台上体验 SDXL-Lightning,并期待您宝贵的意见和反馈。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
动手实践丨轻量级目标检测与分割算法开发和部署(RK3568)
本文分享自华为云社区《自动驾驶(AIOT) - 轻量级目标检测与分割算法开发和部署(RK3568)【玩转华为云】》,作者:HouYanSong。 本文将在ModelArts平台上开发轻量级目标检测与分割算法,并使用ModelBox框架在RK3568开发板上实现模型推理和部署。 数据准备 我们收集了一份200张由Labelme标注的道路图像分割数据集,之后使用脚本将其转换为VOC格式的数据集并进行数据增强: 处理好的数据集已经分享到AI Gallery上,可以使用OBS下载: 算法简介 像素级的图像分割不仅需要精确,有时还需要高效以便应用到real-time application比如自动驾驶汽车等。现有的方法可能精度较高但往往参数量巨大,为了解决这个问题,我们使用LinkNet作为主干网络[Fig. 1],中间层[Fig. 2]使用LeakyRelu进行激活,最后一层使用Sigmoid做归一化,并在Encoder Block 4后增添目标检测分支,训练过程中进行梯度裁剪防止梯度爆炸。 云端训练 算法详情可以运行我发布的Notebook,并下载转换好的模型文件: ONNXRuntime推...
- 下一篇
openGemini SDKs与背后的贡献团队
openGemini SDKs与背后的贡献团队 一直以来,我们都希望openGemini拥有自己的SDK,但是很长一段时间,出于竞争力的考虑,社区把主要精力投放在内核性能提升和高基数存储引擎等其他重要工作上,SDK开发任务便延后了。直到2023年10月,我们迎来了openGemini SDK的社区贡献团队 -- 华为云工业物联平台团队。 强强联合,合作共赢 华为云工业物联平台长期致力于为制造型企业提供统一的生产数据底座能力,帮助企业实现从工业现场数据集成,数据存储,建模,分析,数据服务一站式能力,提升生产管控优化效率。 平台采用云边端协同架构,深度使用opengemini,实现海量的OT时序数据的高效管理,并提供工业级的可靠性。从自身实践到赋能客户,华为云工业物联平台携手openGemini,已在某水泥、某玻璃、某烟草等企业大规模落地。 华为云工业物联平台团队和openGemini社区长期保持着亲密合作。团队同时熟悉InfluxDB和openGemini,具备丰富的SDK开发经验,先后设计和开发过工业物联平台的接入SDK和Apache Pulsar社区SDK。基于此,团队主动提出为op...
相关文章
文章评论
共有0条评论来说两句吧...