产品战略专家梁宁确认出席AICon北京站,分享AI时代下的商业逻辑与产品需求 了解详情
写点什么

就是“快”!字节跳动发布文生图开放模型,迅速冲上 Hugging Face Spaces 热榜

  • 2024-02-26
    北京
  • 本文字数:2185 字

    阅读完需:约 7 分钟

就是“快”!字节跳动发布文生图开放模型,迅速冲上Hugging Face Spaces 热榜


很高兴跟大家分享我们最新的文生图模型 —— 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 步),SDXL-Lightning 模型(2 步)

模型效果


SDXL-Lightning 模型可以通过 1 步、2 步、4 步和 8 步来生成图像。推理步骤越多,图像质量越好。


以下是 4 步生成结果——



以下是 2 步生成结果——



与以前的方法(Turbo 和 LCM)相比,我们的方法生成的图像在细节上有显著改进,并且更忠实于原始生成模型的风格和布局。



回馈社区,开放模型


开源开放的浪潮已经成为推动人工智能迅猛发展的关键力量,字节跳动也自豪地成为这股浪潮的一部分。我们的模型基于目前最流行的文字生成图像开放模型 SDXL,该模型已经拥有一个繁荣的生态系统。现在,我们决定将 SDXL-Lightning 开放给全球的开发者、研究人员和创意从业者,以便他们能访问并运用这一模型,进一步推动整个行业的创新和协作。


在设计 SDXL-Lightning 时,我们就考虑到与开放模型社区的兼容。社区中已有众多艺术家和开发者创建了各种各样的风格化图像生成模型,例如卡通和动漫风格等。为了支持这些模型,我们提供 SDXL-Lightning 作为一个增速插件,它可以无缝地整合到这些多样风格的 SDXL 模型中,为各种不同模型加快图像生成的速度。



SDXL-Lightning 模型也可以和目前非常流行的控制插件 ControlNet 相结合,实现极速可控的图片生成。



SDXL-Lightning 模型也支持开源社区里目前最流行的生成软件 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,并期待您宝贵的意见和反馈。

2024-02-26 15:278363

评论 1 条评论

发布
用户头像
质疑模型速度和效率益处的观点可能忽略了深度学习发展的独特趋势。就如海洋探索需新型潜艇以更快速度深入未知,SDXL-Lightning模型的速度提升使我们能更迅速探索创意边界,从而推动技术创新和实用化应用的发展。
2024-02-27 10:34 · 北京
回复
没有更多了

秒懂云通信:通信圈黑话大盘点

阿里云Edge Plus

云通信 通信云

5万字、97 张图总结操作系统核心知识点

苹果看辽宁体育

操作系统 计算机

架构师训练营 - 第六周 - 作业

韩挺

Hello!GitHub 好用好玩值得收藏的开源项目集合~

Kerwin

开源

Docker网络学习第一篇:Linux虚拟网络

Lazy

Docker Linux 网络

关于如何判断一个list是否为空的思考

Leetao

Python Python基础知识 列表

当我们在谈架构时,我们谈的是什么?

冯文辉

架构 企业架构 系统架构

redis系列之——一致性hash算法

诸葛小猿

redis 一致性hash redis集群

因为 Django ORM update,我今天差点「从删库到跑路」

AlwaysBeta

数据库 django 编程 程序员

Mybatis执行流程浅析(附深度文章推荐&面试题集锦)

Kerwin

Java mybatis

没内鬼,来点干货!SQL优化和诊断

Kerwin

MySQL

疫情年逆风翻盘

Kerwin

程序员

30岁+程序员职场攻略:找到自己的“职业锚”乘风破浪

华为云开发者联盟

程序员 AI 开发者 职场

ARTS - Week 5

Khirye

ARTS 打卡计划

【计算机网络】你需要知道的链路层知识

烫烫烫个喵啊

计算机网络 链路层 交换机

Elasticsearch从入门到放弃:再聊搜索

Jackey

elasticsearch

前端杂记-&&和||

阡陌r

JavaScript && ||

日记一则

progyoung

纯CSS实现自定义单选框和复选框

爱嘤嘤嘤斯坦

CSS Java 编程语言 标签

一张PDF了解JDK10 GC调优秘籍-附PDF下载

程序那些事

Java jdk JVM GC JDK10

SpringBoot代码生成器

Kerwin

Java 开源

程序员的时间管理

Kerwin

程序员

没内鬼,来点干货!volatile和synchronized

Kerwin

Java volatile synchronized

Docker网络学习第二篇-认识iptables

Lazy

Docker Linux 网络

6 个珍藏已久 IDEA 小技巧,这一波全部分享给你!

楼下小黑哥

Java IDEA

简述 CAP 原理

不在调上

开发框架文档体系化的思考

vivo互联网技术

框架开发

Java8——方法引用

Java旅途

java8 方法引用

nginx在重定向时端口出错的问题

烫烫烫个喵啊

nginx

设计模式总篇:从为什么需要原则到实际落地(附知识图谱)

Kerwin

Java 设计模式

week6 总结

不在调上

就是“快”!字节跳动发布文生图开放模型,迅速冲上Hugging Face Spaces 热榜_字节跳动_字节跳动智能创作团队_InfoQ精选文章