王者归来!Stability-AI又放大招 | Stable Cascade:更快更强的图像生成模型!

news2024/12/28 5:22:12

标题:王者归来!Stability-AI又放大招 | Stable Cascade:更快更强的图像生成模型!

Stable Diffusion官方最新发布了Stable Cascade,相较于之前的SD-1.5以及SDXL模型有了质的提升。可谓开源王者归来!

该模型是建立在 Würstchen 架构之上的,与其他模型(如Stable Diffusion)的主要区别在于它在一个更小的潜在空间中运行。为什么这很重要?潜在空间越小,推理速度越快,训练成本越低。潜在空间有多小?Stable Diffusion使用了一个压缩因子为 8,将 1024x1024 的图像编码为 128x128。Stable Cascade实现了一个压缩因子为 42,这意味着可以将 1024x1024 的图像编码为 24x24,同时保持清晰的重构。文本条件模型随后在高度压缩的潜在空间中进行训练。该架构的先前版本实现了比Stable Diffusion 1.5 低 16 倍的成本。

因此,这种类型的模型非常适合对效率要求较高的用途。此外,该方法还可以实现所有已知的扩展,如微调、LoRA、ControlNet、IP-Adapter、LCM 等。训练和推理部分已经提供了其中一些扩展(微调、ControlNet、LoRA)。

此外,Stable Cascade取得了令人印象深刻的结果,在视觉上和评估上均表现出色。据官方的评估,Stable Cascade在几乎所有比较中在提示对齐和美学质量方面表现最佳。下图显示了使用一组混合的提示和美学提示进行的人类评估结果。具体来说,Stable Cascade(30 个推理steps)与 Playground v2(50 个推理steps)、SDXL(50 个推理steps)、SDXL Turbo(1 个推理steps)和 Würstchen v2(30 个推理steps)进行了比较。

Stable Cascade通过其架构和更高压缩的潜在空间来体现其对效率的关注。尽管最大的模型比Stable Diffusion XL还要多14 亿参数,但仍然具有更快的推理时间,如下图所示。

模型概述

Stable Cascade由三个模型组成:Stage A, Stage B和Stage C,,代表了用于生成图像的阶段,因此得名“Stable Cascade”。Stage A 和 B 用于压缩图像,类似于Stable Diffusion中 VAE 的工作。然而,正如前面提到的,通过这种设置可以实现对图像的更高压缩。此外,Stage C 负责在给定文本提示的情况下生成小尺寸的 24 x 24 的潜在特征。以下图片以可视化方式展示了这一点。请注意,阶段 A 是一个 VAE,而Stage B 和 C 都是扩散模型。

对于此版本,提供了三个阶段的checkpoints,其中阶段 C 提供了一个 10 亿参数版本和一个 36 亿参数版本,强烈建议使用 36 亿参数版本,因为大部分工作都是针对其微调的。阶段 B 的两个版本分别为 7 亿参数和 15 亿参数。两者都取得了出色的结果,但是 15 亿参数版本在重建小而精细的细节方面表现出色。因此,如果您使用每个阶段的更大变体,将会获得最佳结果。最后,阶段 A 包含 2000 万参数,并且由于其size小而被固定。

入门指南

推理

通过推理部分提供的推理说明文档可以运行模型。

里面有关下载模型、计算要求以及如何使用模型的一些教程的更多详细信息。

文生图

文生图文档提供文本到图像、图像变体和图像到图像的基本功能。

● 文生图

"Cinematic photo of an anthropomorphic penguin sitting in a cafe reading a book and having a coffee."

● Image Variation

该模型还可以理解图像embeddings,这使得生成给定图像的多角度变化(左图)成为可能。这里没有prompt。

● 图生图

这个过程与通常操作一样,通过将图像添加噪声直到特定程度,然后让模型从该起始点生成图像。这里左侧的图像被加入了噪声达到了 80%,并附带了标题:A person riding a rodent.

此外,该模型也可以在 huggingface 库中访问到。地址:https://huggingface.co/stabilityai/stable-cascade

ControlNet

ControlNet说明文档展示了如何使用训练的 ControlNet,或者如何使用自己训练的 ControlNet 来为 Stable Cascade 提供支持。此版本提供了以下 ControlNet:

● Inpainting / Outpainting

● Face Identity

注意:Face Identity ControlNet目前还未发布,会在以后的某个时间发布。

● Canny

● 超分辨率

这些都可以通过同一个文档使用,并且只需要针对每个控制网络更改配置。可参考:https://github.com/Stability-AI/StableCascade/tree/master/inference

LoRA

官方还提供了LoRA 训练和使用Stable Cascade的实现,可以用于微调文本条件模型(Stage C)。具体来说可以添加和学习新的标注,并向模型添加 LoRA 层。LoRA文档展示了如何使用训练好的 LoRA。例如,对狗进行训练的 LoRA,使用以下类型的训练图像:

生成以下给定提示的狗的图像:

Cinematic photo of a dog [fernando] wearing a space suit.

图像重建

最后,对于人们可能非常感兴趣的一件事,特别是如果您想从头开始训练自己的文本条件模型,甚至可能使用与Stage C 完全不同的架构,那就是使用Stable Cascade使用的(扩散)自编码器,以便能够在高度压缩的空间中工作。就像大家使用Stable Diffusion的 VAE 来训练自己的模型(例如 Dalle3)一样,您可以以同样的方式使用Stage A 和 B,同时从更高的压缩中受益,使您能够更快地训练和运行模型。

文档中也展示了如何对图像进行编码和解码,以及您获得的具体好处。例如,假设您有以下维度为 4 x 3 x 1024 x 1024 的图像batch:

可以将这些图像编码成压缩尺寸为 4 x 16 x 24 x 24,从而获得空间压缩因子为 1024 / 24 = 42.67。然后,您可以使用Stage A 和 B 将图像解码回 4 x 3 x 1024 x 1024,得到以下输出:

正如所看到的,即使对于小细节,重建结果也出奇地接近。标准的 VAE 等等是无法实现这样的重建的。图像重建说明文档中提供更多信息和易于尝试的代码。

训练

官方提供了从头开始训练Stable Cascade、微调、ControlNet 和 LoRA 的代码。大家可以在训练文件夹中找到如何执行这些操作的详细说明。

备注

Stable Cascade代码库处于早期开发阶段。可能会遇到意外错误或训练和推理代码不完全优化的情况。

Gradio App

首先安装gradio 和 diffusers:

pip3 install gradio
pip3 install accelerate # optionally
pip3 install git+https://github.com/kashif/diffusers.git@wuerstchen-v3

然后从工程根目录运行以下命令:

PYTHONPATH=./ python3 gradio_app/app.py

参考链接

github地址:

https://github.com/Stability-AI/StableCascade?tab=readme-ov-file

模型下载:

https://huggingface.co/stabilityai/stable-cascade/tree/main

推理说明文档:

https://github.com/Stability-AI/StableCascade/tree/master/inference

文生图文档:

https://github.com/Stability-AI/StableCascade/blob/master/inference/text_to_image.ipynb

ControlNet文档:

https://github.com/Stability-AI/StableCascade/blob/master/inference/controlnet.ipynb

LoRA文档:

https://github.com/Stability-AI/StableCascade/blob/master/inference/lora.ipynb

图像重建说明文档中:

https://github.com/Stability-AI/StableCascade/blob/master/inference/reconstruct_images.ipynb

训练文件夹:

https://github.com/Stability-AI/StableCascade/blob/master/train

参考论文: Wuerstchen: An Efficient Architecture for Large-Scale Text-to-Image Diffusion Models

 更多精彩内容,请关注公众号:AI生成未来

欢迎加群交流AIGC技术

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

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

相关文章

《低功耗方法学》翻译——第十二章:物理库

第十二章:物理库 实现低功耗设计的第一步之一是选择支持设计中使用的低功耗策略的标准单元库和一组存储器编译器。本章介绍多电压功率门控设计对标准单元库和存储器的要求 12.1 标准单元库 标准单元库针对不同的性能、功率和面积目标进行调整。对于低功耗设计&am…

Linux 文件-基础IO

预备知识 文件内容属性 1 所有对文件的操作可分为两类:a 对内容操作 b 对属性操作 2 内容是数据,属性也是数据,存储文件必须既要存储内容,也要存储属性数据 默认文件在磁盘上 3 进程访问一个文件的时候,都要先把这…

adb-连接模拟器和真机操作

目录 1. 连接模拟器(夜神模拟器示例) 1.1 启动并连接模拟器 1.2 开启调试模式 2. USB连接真机调试 2.1 usb数据线连接好电脑,手机打开调试模式 2.2 输入adb devices检测手机 3. Wifi连接真机调试 3.1 USB连接手机和电脑 3.2 运行 adb…

Recorder 实现语音录制并上传到后端(兼容PC和移动端)

Recorder 首页&#xff1a;https://github.com/xiangyuecn/Recorder 一、安装 npm install recorder-core二、代码部分 1. HTML页面 <template><div><el-inputv-model"ttsText"type"textarea"placeholder"请输入内容"><…

Java后端底座从无到有的搭建(随笔)

文章目录 开发模式的演变草创时期1.0时期&#xff08;基座时期&#xff09;1.1时期&#xff08;低代码时期&#xff09;2.0时期&#xff08;无代码时期&#xff09; 前言&#xff1a;本文是笔者在初创公司&#xff0c;一年多来Java后端服务底座搭建过程的总结&#xff0c;如有不…

2024三掌柜赠书活动第十一期:精通区块链开发技术(第2版)

目录 前言关于区块链开发技术关于《精通区块链开发技术(第2版)》编辑推荐内容简介作者简介图书目录书中前言/序言《精通区块链开发技术(第2版)》全书速览结束语 前言 作为开发者经常在技术圈活动&#xff0c;会接触各种前沿技术&#xff0c;比如区块链技术的崛起引发了全球范…

报Error:java: 无效的目标发行版: 11的解决方法

step1. 打开文件下的Project Structure 如下图&#xff1a; 把红色框中的改为你目前的jdk版本&#xff0c;我现在为jdk8,所以改为1.8 step2. 继续打开 Modules 模块修改每个项目中的 language level.切记是每个项目 step3. 打开文件下的settings&#xff0c;继续修改如…

华媒舍:10种小红书推广品牌形象打造出的方式

小红书已成为我国最热门的购物推荐平台之一。不单单是用户数量众多&#xff0c;小红书也算得上是一个优质的品牌品牌形象打造平台。下面我们就详细介绍10种小红书推广渠道品牌形象打造出方式&#xff0c;帮助品牌在小红书上取得更好的营销效果。 1.掌握产品在小红书上进行宣传以…

基于Java SSM框架实现网上拍卖系统项目【项目源码】计算机毕业设计

基于java的SSM框架实现网上拍卖系统演示 JSP技术介绍 JSP技术本身是一种脚本语言&#xff0c;但它的功能是十分强大的&#xff0c;因为它可以使用所有的JAVA类。当它与JavaBeans 类进行结合时&#xff0c;它可以使显示逻辑和内容分开&#xff0c;这就极大的方便了用户的需求。…

Spring面试(一)

现在基本上企业开发标配都是Spring5Springboot2Jdk7 1.Spring的优点 IOC和DI的支持&#xff1a;Spring的核心是一个工厂容器&#xff0c;可以维护所有对象的创建和依赖关系&#xff0c;Spring工厂用于生成bean&#xff0c;并且管理Bean的生命周期&#xff0c; 实现高内聚低耦…

2024年黑龙江省考公告出来了,招7768人,速速查收报名流程!

✔️报名时间&#xff1a;2024年2月19日9:00至2月23日17:00 ✔️资格审查时间&#xff1a;至2024年2月23日17:00 ✔️缴费时间&#xff1a;至2024年2月25日09&#xff1a;00 ✔️打印准考证时间&#xff1a;2024年3月12日9&#xff1a;00至3月17日9&#xff1a;00 ✔️公共科目…

Android 面试问题 2024 版(其一)

Android 面试问题 2024 版&#xff08;其一&#xff09; 一、Java 和 Kotlin二、安卓组件三、用户界面 (UI) 开发四、安卓应用架构五、网络和数据持久性 一、Java 和 Kotlin Java 中的抽象类和接口有什么区别&#xff1f; 答&#xff1a;抽象类是不能实例化的类&#xff0c;它…

使用AndroidStudio调试Framework

1.前言 最近在工作过程中&#xff0c;涉及到FW的一些修改&#xff0c;比如PhoneWindowManager&#xff0c;只能通过加日志看打印的方式查看一些内容&#xff0c;比较低效&#xff0c;所以想了解一下FW的调试方式&#xff0c;后来发现AS就可以调试FW.我平时都是在Docker服务器编…

NodeJs 第二十四章 CSRF攻击和防御

Cross Site Request Forgery(CSRF) 跨站请求伪造是一种攻击&#xff0c;它迫使最终用户在其当前经过身份验证的 Web 应用程序上执行不需要的操作&#xff0c;例如转移资金、更改电子邮件地址等。 例如&#xff0c;这些非预期请求可能是通过在跳转链接后的 URL 中加入恶意参数来…

Spring Bean 的生命周期了解么?

Spring Bean 的生命周期基本流程 一个Spring的Bean从出生到销毁的全过程就是他的整个生命周期, 整个生命周期可以大致分为3个大的阶段 : 创建 使用 销毁 还可以分为5个小步骤 : 实例化(Bean的创建) , 初始化赋值, 注册Destruction回调 , Bean的正常使用 以及 Bean的销毁 …

人工智能_CPU安装运行ChatGLM大模型_安装清华开源人工智能AI大模型ChatGlm-6B_004---人工智能工作笔记0099

上一节003节我们安装到最后,本来大模型都可以回答问题了,结果, 5分钟后给出提示,需要GPU,我去..继续看官网,如何配置CPU运行 没办法继续看: https://github.com/THUDM/ChatGLM-6B 这里是官网可以看到 需要gcc的版本是11.3.0,这里我们先没有去安装,直接试试再说 yum instal…

jenkins配置ssh的时候测试连接出现Algorithm negotiation fail

背景&#xff1a;当jenkins升级后&#xff0c;同时ssh插件也升级&#xff0c;测试ssh连接的时候 出现的问题&#xff1a; com.jcraft.jsch.JSchAlgoNegoFailException: Algorithm negotiation fail: algorithmName"server_host_key" jschProposal"ecdsa-sha2-n…

Linux环境搭建Jenkins(详细图文)

目录 简介Jenkins 特点 一、环境准备 1.jdk环境准备 2.maven环境准备 3.git环境准备 二、安装部署Jenkins&#xff08;采用war包方式&#xff09; 1.下载Jenkins ​2.启动war包 1&#xff09;将下载好的Jenkins的war包上传到服务器上 2&#xff09;编辑启动脚本,方便…

Go语言的100个错误使用场景(48-54)|错误管理

前言 大家好&#xff0c;这里是白泽。**《Go语言的100个错误以及如何避免》**是最近朋友推荐我阅读的书籍&#xff0c;我初步浏览之后&#xff0c;大为惊喜。就像这书中第一章的标题说到的&#xff1a;“Go: Simple to learn but hard to master”&#xff0c;整本书通过分析1…

SpringBoot项目如何打包成docker镜像?

将Spring Boot项目打包成Docker镜像的过程可以分为以下几个步骤&#xff1a; 1. 创建Dockerfile 首先&#xff0c;你需要在Spring Boot项目的根目录下创建一个Dockerfile。这个文件包含了Docker镜像构建的所有指令。一个基本的Dockerfile可能看起来像这样&#xff1a; # 使用…