政安晨【零基础玩转各类开源AI项目】解析开源:Stable Diffusion 3 论文及用户界面工具 StableSwarmUI

news2024/11/30 2:24:56

 

目录

关键成果

性能

结构细节

通过重新配重改善整形流量

比例整形变换模型

灵活的文本编码器

使用模型:StableSwarmUI

开源项目的现状:


政安晨的个人主页:政安晨

欢迎 👍点赞✍评论⭐收藏

收录专栏: 零基础玩转各类开源AI项目

希望政安晨的博客能够对您有所裨益,如有不足之处,欢迎在评论区提出指正!

StableSwarmUI 是一个模块化的稳定扩散网络用户界面,其重点是让用户可以方便地使用动力工具,并提供高性能和可扩展性。

项目地址:GitHub - Stability-AI/StableSwarmUI: StableSwarmUI, A Modular Stable Diffusion Web-User-Interface, with an emphasis on making powertools easily accessible, high performance, and extensibility.StableSwarmUI, A Modular Stable Diffusion Web-User-Interface, with an emphasis on making powertools easily accessible, high performance, and extensibility. - Stability-AI/StableSwarmUIicon-default.png?t=N7T8https://github.com/Stability-AI/StableSwarmUI

关键成果

Stability-AI发布了研究论文,深入探讨稳定扩散 3 的底层技术。



根据人类偏好评估,Stable Diffusion 3 在排版和及时性方面优于 DALL-E 3、Midjourney v6 和 Ideogram v1 等最先进的文本到图像生成系统。

新的多模态扩散变换器(MMDiT)架构为图像和语言表征使用了单独的权重集,与稳定扩散的以前版本相比,提高了文本理解和拼写能力。

性能

本图表以 SD3 为基准,根据人类对视觉美学、按提示操作和排版的评价,概述了 SD3 在哪些方面优于同类机型。

我们将稳定扩散 3 的输出图像与其他各种开放模型(包括 SDXL、SDXL Turbo、Stable Cascade、Playground v2.5 和 Pixart-α)以及封闭源代码系统(如 DALL-E 3、Midjourney v6 和 Ideogram v1)进行了比较,以便根据人类反馈来评估性能。在这些测试中,人类评估员从每个模型中获得输出示例,并要求他们根据模型输出在多大程度上紧跟所给提示的上下文("紧跟提示")、在多大程度上根据提示渲染文本("排版")以及哪幅图像具有更高的美学质量("视觉美学")来选择最佳结果。

根据测试结果,我们发现 Stable Diffusion 3 在上述所有方面都与目前最先进的文本到图像生成系统相当,甚至更胜一筹。

在消费级硬件上进行的早期未优化推理测试中,我们最大的 8B 参数 SD3 模型适合 RTX 4090 的 24GB VRAM,使用 50 个采样步骤生成分辨率为 1024x1024 的图像需要 34 秒。此外,在最初发布时,稳定扩散 3 将有多种变体,从 800m 到 8B 参数模型不等,以进一步消除硬件障碍。

提示词示例:

结构细节

对于文本到图像的生成,我们的模型必须同时考虑文本和图像两种模式。因此,我们称这种新架构为 MMDiT,意指其处理多种模式的能力。与之前版本的稳定扩散一样,我们使用预训练模型来推导合适的文本和图像表征。具体来说,我们使用三种不同的文本嵌入模型--两种 CLIP 模型和 T5--来编码文本表征,并使用改进的自动编码模型来编码图像标记。

改进的多模态扩散变换器的概念可视化模块:MMDiT

SD3 架构基于扩散变换器("DiT",Peebles & Xie,2023 年)。由于文本嵌入和图像嵌入在概念上有很大不同,因此我们对两种模式使用两套不同的权重。如上图所示,这相当于为每种模态设置了两个独立的变换器,但将两种模态的序列结合起来进行注意力操作,从而使两种表征都能在各自的空间内工作,同时也将另一种空间考虑在内。

在训练过程中测量视觉保真度和文本对齐度时,我们新颖的 MMDiT 架构优于 UViT(Hoogeboom 等人,2023 年)和 DiT(Peebles 和 Xie,2023 年)等成熟的文本到图像骨干。

通过这种方法,信息可以在图像和文本标记之间流动,从而提高整体理解能力,并改善所生成输出的排版。正如我们在论文中讨论的那样,这种架构也很容易扩展到视频等多种模式。

论文:https://arxiv.org/pdf/2403.03206.pdficon-default.png?t=N7T8https://arxiv.org/pdf/2403.03206.pdf

得益于《稳定扩散 3》改进的提示跟踪功能,我们的模型有能力制作出聚焦于各种不同主题和质量的图像,同时还能高度灵活地处理图像本身的风格。

通过重新配重改善整形流量

稳定扩散 3 采用整流(RF)公式(Liu 等人,2022 年;Albergo & Vanden-Eijnden,2022 年;Lipman 等人,2023 年),在训练过程中,数据和噪声按线性轨迹连接。这使得推理路径更加平直,从而减少了采样步骤。此外,我们还在训练过程中引入了一种新的轨迹采样计划。我们假设,轨迹的中间部分会带来更具挑战性的预测任务,因此该计划给予轨迹中间部分更多权重。我们使用多种数据集、指标和采样器设置进行比较,并与 LDM、EDM 和 ADM 等 60 种其他扩散轨迹进行了测试。结果表明,虽然以前的 RF 公式在少步采样情况下性能有所提高,但随着步数的增加,其相对性能会下降。相比之下,我们的重新加权 RF 变体能持续提高性能。

比例整形变换模型

利用重新加权的整流公式和 MMDiT 骨干网对文本到图像的合成进行了扩展研究。训练的模型从带有 450M 个参数的 15 个图块到带有 8B 个参数的 38 个图块不等,并观察到验证损失随着模型大小和训练步骤的增加而平稳减少(上排)。为了检验这是否转化为模型输出的有意义改进,我们还评估了自动图像配准指标(GenEval)和人类偏好分数(ELO)(下行)。我们的结果表明,这些指标与验证损失之间存在很强的相关性,这表明后者可以很好地预测模型的整体性能。此外,缩放趋势没有显示出饱和的迹象,这让我们对未来继续提高模型性能持乐观态度。

灵活的文本编码器

通过移除用于推理的内存密集型 4.7B 参数 T5 文本编码器,SD3 的内存需求可显著降低,而性能损失却很小。如上图 "性能 "部分所示,移除该文本编码器不会影响视觉美感(不使用 T5 时的胜率为 50%),只会略微降低文本粘着率(胜率为 46%)。不过,我们建议在生成书面文本时加入 T5,以充分发挥 SD3 的性能,因为我们观察到,如果不加入 T5,生成排版的性能下降幅度更大(胜率为 38%),如下图所示:

使用模型:StableSwarmUI

一个模块化的稳定扩散网络用户界面,重点是使 powertools 易于访问、高性能和可扩展性。

开源项目的现状:

该项目处于测试版状态。这意味着,对于大多数任务,Swarm 都有出色的工具可供使用,但计划中还有更多。建议将 Swarm 作为大多数用户(包括初学者和专业人员)的理想用户界面。仍有一些问题有待解决。

初学者会喜欢 Swarm 的主要 "生成 "选项卡界面,它可以利用各种强大的功能轻松生成任何内容。高级用户可能更喜欢舒适的工作流选项卡,以获得不受限制的原始图形,但仍有理由回到生成选项卡,以获得便利功能(图像编辑器、自动工作流生成等)和强大工具(如网格生成器)。

欢迎有兴趣帮助 Swarm 从 Beta 版升级到正式版的用户提交 PR(请先阅读贡献文档),您也可以在 GitHub 或 Discord 上联系我们。我强烈建议您在提交 PR 之前先联系我们,询问有关某个功能的计划。我们可能已经有了具体的计划,甚至是正在进行中的工作。

关键功能目标尚未实施:

更好地支持移动浏览器
在用户界面中显示 "当前模型 "的全部细节,与模型选择器分开(可能作为批处理侧边栏中的一个选项卡?)
在不同位置之间动态移动选项卡的方法,以方便/自定义布局
LLM 辅助提示
方便地将 Swarm 作为程序直接分发(电子应用程序?)

在 Linux 上安装

如果尚未安装 git 和 python3,请通过操作系统软件包管理器安装它们(如果发行版没有直接将 pip 和 venv 包含在 python 中,请确保将它们包含在内)。

例如,在最近的 Ubuntu 版本中,sudo apt install git python3-pip python3-venv
下载 install-linux.sh 文件,将其存放在需要安装的地方,然后运行它

如果你喜欢终端,可以打开终端进入文件夹并运行以下命令:
wget https://github.com/Stability-AI/StableSwarmUI/releases/download/0.6.1-Beta/install-linux.sh -O install-linux.sh
chmod +x install-linux.sh
运行 ./install-linux.sh 脚本,它将为你安装所有内容,并最终在浏览器中打开网页。

按照页面上的安装说明进行操作。

以后可以随时运行 launch-linux.sh 脚本重新启动 Swarm。

如果页面没有自动打开,可以手动打开 http://localhost:7801

替代手动 Linux 安装

如果尚未安装 git 和 python3,请通过操作系统软件包管理器安装它们(如果发行版没有将 pip 和 venv 直接包含在 python 中,请确保将它们包含在内)。
例如,在最近的 Ubuntu 版本上,sudo apt install git python3-pip python3-venv
使用 https://dotnet.microsoft.com/en-us/download/dotnet/8.0 上的说明安装 DotNET 8(需要 dotnet-sdk-8.0,因为它包含所有相关的子软件包)
有些用户说某些 Linux 发行版希望单独安装 aspnet-runtime
打开 shell 终端并 cd 到要安装的目录
运行 shell 命令
git clone https://github.com/Stability-AI/StableSwarmUI
cd StableSwarmUI
./launch-linux.sh
打开 http://localhost:7801/Install(如果它没有自行启动)
按照页面上的安装说明进行安装。
(TODO):也许可以外链一个专门的文档,提供每个分区的详细信息和其他信息。也许还可以为 Linux 制作一个一键安装程序?

说明文档路径:

StableSwarmUI/docs/README.md at master · Stability-AI/StableSwarmUI · GitHubStableSwarmUI, A Modular Stable Diffusion Web-User-Interface, with an emphasis on making powertools easily accessible, high performance, and extensibility. - StableSwarmUI/docs/README.md at master · Stability-AI/StableSwarmUIicon-default.png?t=N7T8https://github.com/Stability-AI/StableSwarmUI/blob/master/docs/README.md


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

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

相关文章

重生奇迹mu魔剑士简介

出生地:勇者大陆 性 别:男 擅 长:近距离作战、武器特技&攻击魔法使用 转 职:剑圣(3转) 介 绍:当玩家账号中有一个220级以上的角色时,便可以创建职业为魔剑士的新角色&#x…

关于element-plus中el-select自定义标签及样式的问题

关于element-plus中el-select自定义标签及样式的问题 我这天天的都遇到各种坑,关于自定义,我直接复制粘贴代码都实现不了,研究了一下午,骂骂咧咧了一下午,服气了。官网代码实现不了,就只能 “ 曲线救国 ”…

AI大模型爆发,你还不学就晚了!抓住时代机遇,快速入门指南!

AI大模型风起云涌,你准备好乘风破浪了吗? 在一个阳光明媚的午后,小李坐在自己的工位上,眼前的代码如同繁星般繁多。他是一名资深的软件工程师,但在最近的技术浪潮中,他却感到了一丝不安。他的朋友圈里&…

SAP Build 2-PDF数据提取与决策

0. 安装desktop agent 在后续过程中发现要预先安装desktop agent,否则没法运行自动化流程… 0.1 agent下载 参考官方文档说明 https://help.sap.com/docs/build-process-automation/sap-build-process-automation/create-user-in-rbsc-download-repository?loca…

numpy创建维数组

一,numpy创建一维数组 1.1.np.array() # 创建一维数组 anp.array([1,2,3,4,5]) print(a) 1.2.np.arange() # 创建等差数组 bnp.arange(0,6,2) print(b) 1.3.np.linspace() #生成10个数,范围为[1,10],满足等差数列 y,cnp.linspace(1,2,3,end…

电商领域利器来了!港大阿里联合提出MimicBrush,对参考图模仿进行零样本图像编辑,万物皆可编辑。

阿里和港大提出的MimicBrush可以通过对参考图模仿进行零样本图像编辑。将一张图片的某一部分融合到领一张图片上去。用在电商商品展示上或者单纯的图片编辑和内容迁移很有用。从官方演示来看效果也很好。 MimicBrush,它会随机选择视频剪辑中的两帧,遮盖其…

远程桌面端口,远程桌面改端口有哪些方法

方法一:通过修改注册表 步骤一:打开注册表编辑器 按下 Windows键R 打开“运行”对话框。输入 regedit 并按 Enter 打开注册表编辑器。 步骤二:定位到远程桌面服务的端口设置 导航至第一个注册表路径:HKEY_LOCAL_MACHINE\SYSTE…

RabbitMQ安装配置,封装工具类,发送消息及监听

1. Get-Started docker安装rabbitmq 拉取镜像 [rootheima ~]# docker pull rabbitmq:3.8-management 3.8-management: Pulling from library/rabbitmq 7b1a6ab2e44d: Pull complete 37f453d83d8f: Pull complete e64e769bc4fd: Pull complete c288a913222f: Pull complet…

VD1011 单节锂离子充电电池保护 2.8V过放保护 SOT-23小封装芯片

VD1011,内置高精度电压检测电路和延迟电路以及内置MOSFET,是用于单节锂离子/锂聚合物可再充电 电池的保护IC。 本IC适合干对1节锂离子/锂聚合物可再充电电池的过充电、过放电和过电流进行保护。 VD1011具备如下特点 高精度电压检测电路 过充电检测电压 …

PyTorch计算机视觉入门:使用自己的数据集训练神经网络

前言 计算机视觉,作为人工智能领域的一个重要分支,近年来在图像识别、物体检测、图像生成等应用上取得了显著的进步。PyTorch,作为一款灵活且强大的深度学习框架,为开发者提供了便捷的工具来构建和训练计算机视觉模型。本文将指导…

【面试干货】ArrayList、Vector、LinkedList的存储性能和特性比较

【面试干货】ArrayList、Vector、LinkedList的存储性能和特性比较 1、ArrayList1.1 存储性能1.2 特性1.3 示例用法 2、Vector2.1 存储性能2.2 特性2.3 示例用法 3、LinkedList3.1 存储性能3.2 特性3.3 示例用法 4、ArrayList、Vector、LinkedList用法总结 💖The Beg…

如何在 Windows 10/11 上编辑 PDF [4 种简单方法]

PDF 在大多数设备上都易于查看,但由于其设计用于查看,因此编辑起来可能比较棘手。编辑 PDF 可能比编辑 Microsoft Office 文档更具挑战性。 不用担心,我们已经为你做好了准备。无论你是想添加、删除还是插入文本或图片,你都可以使…

操作系统复习-线程同步

互斥量 两个线程的指令交叉执行互斥量可以保证先后执行称为原子性 原子性是指一系列操作不可被中断的特性这一系列操作要么全部执行完成,要么全部没有执行不存在部分执行部分未执行的情况 互斥锁 互斥量是最简单的线程同步的方法互斥锁,处于两态之一的…

环保绩效评级:ABCD四个等级,你的企业处于哪个水平?

在当下社会,环保问题越来越受到人们的关注和重视。企业作为经济活动的重要参与者,其环保绩效评级直接关系到环境保护的成效。朗观视觉将详细解析环保绩效评级的ABCD四等级,帮助读者了解不同等级的特点和评判标准,进而引导企业提高…

利用钉钉机器人和PHP开发一款免费的网站可用性检测工具,单节点版

前言 手里有几套系统正在运维&#xff0c;需要保障正常运行&#xff0c;所以可用性检测就必不可少啦&#xff0c; 以前本来是用的阿里官方的云监控&#xff0c;但现在价格感觉太贵了&#xff0c;不划算 那就自己手搓一个简易版的监控吧。 成品效果展示 代码展示 <?php …

远程桌面端口,怎么修改远程桌面端口

修改注册表 打开注册表编辑器&#xff1a; 按下 Windows键R 或者从开始菜单选择“运行”&#xff0c;打开运行窗口。 输入 regedit 命令&#xff0c;然后点击“确定”打开注册表编辑器。 定位到远程桌面服务的端口设置&#xff1a; 在注册表编辑器中&#xff0c;按照以下路径找…

Postman接口调用详情用法Postman 的作用-测试 API帮助开发者发送各种类型的请求

本人详解 作者:王文峰,参加过 CSDN 2020年度博客之星,《Java王大师王天师》 公众号:JAVA开发王大师,专注于天道酬勤的 Java 开发问题中国国学、传统文化和代码爱好者的程序人生,期待你的关注和支持!本人外号:神秘小峯 山峯 转载说明:务必注明来源(注明:作者:王文峰…

铝壳电阻的安装和使用注意事项有哪些?

铝壳电阻是一种常见的电子元件&#xff0c;广泛应用于各种电子设备中。为了确保铝壳电阻的正常工作和使用寿命&#xff0c;安装和使用过程中需要注意以下几点&#xff1a; 1. 选择合适的铝壳电阻&#xff1a;根据电路的实际需求&#xff0c;选择合适的阻值、功率和尺寸的铝壳电…

【仿真建模-anylogic】Statechart原理解析

Author&#xff1a;赵志乾 Date&#xff1a;2024-06-15 Declaration&#xff1a;All Right Reserved&#xff01;&#xff01;&#xff01; 1. 类图 2. 原理解析 2.1 核心函数 Statechart的核心函数如下&#xff1a; 函数功能Statechart(Agent owner, short maxat)构造函数&…

【算法专题--链表】反转链表II--高频面试题(图文详解,小白一看就会!!!)

目录 一、前言 二、题目描述 三、解题方法 ⭐迭代法 --- 带哨兵位&#xff08;头节点&#xff09; &#x1f95d; 什么是哨兵位头节点&#xff1f; &#x1f34d; 解题思路 四、总结与提炼 五、共勉 一、前言 反转链表II这道题&#xff0c;可以说是--链表专题--&am…