1024 分辨率下最快模型,字节跳动文生图开放模型 SDXL-Lightning 发布_sdxllightning下载-程序员宅基地

技术标签: 计算机视觉  人工智能  

图片

作者:字节跳动智能创作团队

很高兴跟大家分享我们最新的文生图模型 —— 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 步生成结果:

A girl smiling(一个微笑的女孩) A pickup truck going up a mountain switchback(一辆小卡车正在上之字形山路) A fish on a bicycle, colorful art(鱼骑自行车,多彩艺术) A man standing on the street, full body(站在街上的人,全身像)
A close-up of an Asian lady with sunglasses(戴墨镜的亚洲女士特写) A beautiful cup(一个漂亮的杯子) A lion in the galaxy, octane render(银河系中的狮子,渲染) An owl perches quietly on a twisted branch deep within an ancient forest(一只猫头鹰安静地栖息在古老森林深处一根扭曲的树枝上)
An astronaut riding a horse(宇航员骑马) house in the desert, surreal landscapes(沙漠中的房子,超现实的风景) A dolphin leaps through the waves, set against a backdrop of bright blues and teal hues(一只海豚在海浪中跳跃,背景是明亮的蓝色和青色) A panda swimming(一只正在游泳的熊猫)
A man wearing a fedora hat, street photography(一个戴着软呢帽的男人,街头摄影) Futuristic architecture(未来派建筑) Rabbit portrait in a forest, fantasy(森林里的兔子肖像,幻想) Man portrait, ethereal(男子肖像,空灵)
A tranquil park furnished with rows of benches made of marble(宁静的公园,配有一排排大理石长凳) A photographer holding a camera, squatting by a lake, capturing the reflection of the mountains(摄影师拿着相机,蹲在湖边,捕捉山峦的倒影) Mona Lisa, sketch(蒙娜丽莎,素描) A ballerina with a smile, dressed in a strap dress, executing a pirouette in front of audiences(一位面带微笑、身着吊带裙的芭蕾舞演员在观众面前表演脚尖旋转)

以下是我们的 2 步生成结果:

Furniture design for a living room(客厅的家具设计) A cinematic shot of a baby raccoon wearing an intricate Italian priest robe(电影镜头中一只小浣熊穿着精致的意大利牧师长袍) A dog with soft fur and bright eyes jumping after a toy, in a cozy living room(一只毛发柔软、眼睛明亮的狗在舒适的客厅里追着玩具跳跃) A tea cup containing clouds(装云朵的茶杯)
A handsome young man(一个英俊的年轻人) A family, medium shot(一家人,中景) Baby playing with toys in the snow(婴儿在雪地里玩玩具) An old man and a dog are walking in the park(老人与狗在公园散步)
Superman, close-up, modeling in Venice, Italy, with a confident smile(超人,特写,在意大利威尼斯当模特,带着自信的微笑) A motorcycle outside the garage(在车库外的摩托车) Dragon driving a car(龙开车) A monkey making latte art.(一只猴子做咖啡拉花)

与以前的方法(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,并期待您宝贵的意见和反馈。

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

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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/bytedanceospo/article/details/136262378

智能推荐

FLink聚合性能优化--MiniBatch分析_flink mini-batch-程序员宅基地

文章浏览阅读5.4k次,点赞4次,收藏15次。[@ TOC]一、MiniBatch的演进思路1、MiniBatch版本Flink 1.9.0 SQL(Blink Planner) 性能优化中一项重要的改进就是升级了微批模型,即 MiniBatch(也称作MicroBatch或MiniBatch2.0),在支持高吞吐场景发挥了重要作用。MiniBatch与早期的MiniBatch1.0在微批的触发机制略有不同。原理同样是缓存一定的数据后..._flink mini-batch

EasyExcel导入_easyexcel 对接multipartfile-程序员宅基地

文章浏览阅读808次,点赞6次,收藏6次。导入依赖<dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.1.6</version></dependency>Controllerimport java.text.ParseException;import org.springframework._easyexcel 对接multipartfile

英飞凌TC3xx之一起认识DSADC系列(一)架构介绍-程序员宅基地

文章浏览阅读2.7k次,点赞27次,收藏42次。一文清晰了解英飞凌TC3xx系列的架构和组成部分,适用于正在使用EDSADC功能的人们。_dsadc

JavaDemo——读取硬盘物理序列号_java 硬盘物理序列号-程序员宅基地

文章浏览阅读1.2k次。通过调用wmic命令获取硬盘序列号,wmic命令很强大。Demo:/** * 2019年3月13日下午3:48:22 */package testReadDiskInfo;import java.io.IOException;import java.util.ArrayList;import java.util.HashMap;import java.util.List;..._java 硬盘物理序列号

CentOS 编译Hadoop 2.6 32位_32位linux系统 编译hadoop-程序员宅基地

文章浏览阅读2.2k次。本文采用CenOS 6 32位,JDK1.7进行编译 (1)安装编译库yum install cmake lzo-devel zlib-devel gcc gcc-c++ autoconf automake libtool ncurses-devel openssl-devel libXtst(2)安装mavenwget http://repos.fedorapeople.org/repos/dc_32位linux系统 编译hadoop

bind mysql web_基于的django的bind dns管理平台-程序员宅基地

文章浏览阅读422次。BIND(Berkeley internet Name Daemon)也叫做NAMED,是现今互联网上使用最为广泛的DNS 服务器程序,本项目旨在更简单的维护我们内部的dns系统。环境:数据库: mysql5.6应用: bind-9.11.2环境: python3.8 , django30x01 安装数据库bash sql 建库语句use mysqlcreate database bind9; -..._使用web管理bind

随便推点

soul源码解读(十八)-- resilience4j插件原理分析_resilience4j timeoutduration含义-程序员宅基地

文章浏览阅读553次。soul源码解读(十八)resilience4j插件使用resilience4jresilience4j插件是网关用来对流量进行限流与熔断的可选选择之一。resilience4j为网关熔断限流提供能力。插件使用1.启动 admin,打开 resilience4j 插件开关2.在 bootstrap 项目的 pom 文件引入 resilience4j 插件的相关依赖,启动 bootstrap <!-- soul resilience4j plugin start--> <_resilience4j timeoutduration含义

Splunk安装配置和基础运维_splunk中文手册,2024阿里+头条+腾讯等大厂Linux运维笔试题分享_splunk部署、配置、优化-程序员宅基地

文章浏览阅读367次,点赞5次,收藏3次。16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?5、LVS、Nginx、HAproxy有什么区别?9、讲述一下Tomcat8005、8009、8080三个端口的含义?索引默认位置:/opt/splunk/var/lib/splunk。7、Tomcat和Resin有什么区别,工作中你怎么选择?15、讲述一下LVS三种模式的工作过程?_splunk部署、配置、优化

PreScan 学习问题总结_prescan2021与matlab版本-程序员宅基地

文章浏览阅读1.5k次。学习自动驾驶,入手PreScan 仿真软件。 从此开启学习_prescan2021与matlab版本

一文看懂Linux内核!Linux内核架构和工作原理详解_linux内核基本原理-程序员宅基地

文章浏览阅读1.9w次,点赞43次,收藏421次。linux内核相关视频解析:5个方面分析linux内核架构,让你对内核不再陌生90分钟了解Linux内存架构,numa的优势,slab的实现,vmalloc的原理手把手带你实现一个Linux内核文件系统简介作用是将应用层序的请求传递给硬件,并充当底层驱动程序,对系统中的各种设备和组件进行寻址。目前支持模块的动态装卸(裁剪)。Linux内核就是基于这个策略实现的。Linux进程1.采用层次结构,每个进程都依赖于一个父进程。内核启动init程序作为第一个进程。该进程负责进一步的系统初始化操作。init_linux内核基本原理

Android音乐播放器_登录即可查找最新的android应用、游戏、电影、音乐等精彩内容-程序员宅基地

文章浏览阅读939次。该音乐播放器是我研究生开学前做出来的,花了我将近一个月的闲余时间,算是有模有样的了。现在算起来,应该有一年多没搞Android,所以现在看回以前的程序已经比较模糊了,整个工程的代码量还是比较庞大的,就不把代码贴出来了,感兴趣的可以自行下载代码。欢迎先体验我的App,来一场听觉与视觉的享受吧!视觉????嗯,你没看错,安装后有惊喜,让你欲罢不能!(貌似有点夸张了)Apk下载地址:ht_登录即可查找最新的android应用、游戏、电影、音乐等精彩内容

无法注册 URL http://+:8735/Service/。另一应用程序已使用 HTTP.SYS 注册了该 URL。的解决办法。_无法注册应用去处理url地址-程序员宅基地

文章浏览阅读1.1w次。 弄了一上午,终于把使用NetTcpBinding的双工通讯给弄清楚了,也算是对wcf有所掌握了,为了解决穿透防火墙的问题,所以决定尝试一下WsDualHttpBinding的双工通信,结果问题来了。。。 “无法注册 URL http://+:8735/Service/。另一应用程序已使用 HTTP.SYS 注册了该 URL。” 晕了一种个下午,百_无法注册应用去处理url地址

推荐文章

热门文章

相关标签