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

 

目录

关键成果

性能

结构细节

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

比例整形变换模型

灵活的文本编码器

使用模型: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.mzph.cn/bicheng/27436.shtml

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

相关文章

Vulnhub-DC-9

靶机IP:192.168.20.144 kaliIP:192.168.20.128 网络有问题的可以看下搭建Vulnhub靶机网络问题(获取不到IP) 信息收集 nmap扫描一下端口及版本号 dirsearch扫目录 最后去前端界面观察发现也没什么隐藏路径。 观察功能,search引起注意,SQL注入测试 当输…

4机器学习期末复习

在机器学习中,数据清洗与转换包括哪些内容? 对数据进行初步的预处理,需要将其转换为一种适合机器学习模型的表示形式对许多模型类型来说,这种表示就是包含数值数据的向量或者矩阵: 1)将类别数据编码成为对…

IT入门知识博客文章大纲(0/10)

IT入门知识博客文章大纲 引言 什么是IT? 信息技术(Information Technology),互联网技术是指在计算机技术的基础上开发建立的一种信息技术 。互联网技术通过计算机网络的广域网使不同的设备相互连接,加快信息的传输速度…

如何在 Go 应用程序中使用检索增强生成(RAG)

本文将帮助大家实现 RAG (使用 LangChain 和 PostgreSQL )以提高 LLM 输出的准确性和相关性。 得益于强大的机器学习模型(特别是由托管平台/服务通过 API 调用公开的大型语言模型,如 Claude 的 LLama 2等)&#xff0c…

「动态规划」买卖股票的最佳时机,如何处理多笔交易?

188. 买卖股票的最佳时机 IVhttps://leetcode.cn/problems/best-time-to-buy-and-sell-stock-iv/description/ 给你一个整数数组prices和一个整数k,其中prices[i]是某支给定的股票在第i天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成k笔交易。…

关于钽电容器的作用、优缺点、选型指南及故障诊断方法等介绍

钽电容器,全称为钽电解电容器,是一种以金属钽作为介质材料的电解电容器。与传统的电解电容器不同,钽电容器不使用液体电解质,而是利用钽氧化物(五氧化二钽)作为固态电解质,这使得它们具有更高的…

取证工作: SysTools SQL Log Analyzer, 完整的 SQL Server 日志取证分析

天津鸿萌科贸发展有限公司是 Systools 系列软件的授权代理商。 SysTools SQL Log Analyzer 是 Systools 取证工具系列之一,用于调查 SQL Server 事务日志,以对数据库篡改进行取证分析。 什么是 SQL Server 事务日志? 在深入研究 SQL 事务日…

失眠焦虑?这些小妙招助你重拾宁静之夜

在这个快节奏的时代,失眠与焦虑似乎成了不少人的“常客”。每当夜幕降临,躺在床上却辗转反侧,思绪万千,仿佛整个世界的喧嚣都涌入了脑海。💭 其实,放松心情,调整心态,是缓解失眠焦虑…

Java | Leetcode Java题解之第151题反转字符串中的单词

题目: 题解: class Solution {public String reverseWords(String s) {StringBuilder sb trimSpaces(s);// 翻转字符串reverse(sb, 0, sb.length() - 1);// 翻转每个单词reverseEachWord(sb);return sb.toString();}public StringBuilder trimSpaces(S…

flask基础知识1

目录 1.介绍 2.体验一下 3.配置参数: 4.路由和URL 1.路由 2.动态路由: 自定义转换器: 3.使用自定义转换器 5.url_for函数 6.request参数 7.处理响应: 1.重定向: 2.返回json数据: 3.返回模板&…

el-table 多选回显,分页回显

实现el-table多选分页回显功能&#xff0c;左侧是分页的数据源&#xff0c;右侧是选择后的人员数据&#xff0c;切换下一页&#xff0c;选中的数据会在左侧表格回显。 实现&#xff1a; <template><el-dialog :title"title" :visible.sync"show"…

java:spring使用【@ImportResource】导入一个xml里面定义的bean

# 项目代码资源&#xff1a; 可能还在审核中&#xff0c;请等待。。。 https://download.csdn.net/download/chenhz2284/89434148 # 项目代码 【pom.xml】 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-start…

长亭培训加复习安全产品类别

下面这个很重要参加hw时要问你用的安全产品就有这个 检测类型产品 偏审计 安全防御类型 EDR类似于杀毒软件 安全评估 任何东西都要经过这个机械勘察才能上线 安全管理平台 比较杂 比较集成 审计 漏扫 评估 合在这一个平台 也有可能只是管理 主机理解为一个电脑 安了终端插件…

Vue39-组件的嵌套

一、嵌套的定义 二、嵌套示例 school组件中&#xff0c;嵌套student组件 局部注册&#xff0c;注册给谁&#xff0c;就在谁的结构里面写&#xff01; vue拿不到<student>组件标签&#xff01;&#xff01;&#xff01; 三、一人之下万人之上的app组件 或者容器里面不用…

6.14作业

使用手动连接&#xff0c;将登录框中的取消按钮使用第二中连接方式&#xff0c;右击转到槽&#xff0c;在该槽函数中&#xff0c;调用关闭函数 将登录按钮使用qt4版本的连接到自定义的槽函数中&#xff0c;在槽函数中判断ui界面上输入的账号是否为"admin"&#xff0…

探索Napier:Kotlin Multiplatform的日志记录库

探索Napier&#xff1a;Kotlin Multiplatform的日志记录库 在现代软件开发中&#xff0c;日志记录是不可或缺的部分&#xff0c;它帮助开发者追踪应用的行为和调试问题。对于Kotlin Multiplatform项目而言&#xff0c;能够在多个平台上统一日志记录的方法显得尤为重要。Napier…

WordPress实时搜索插件Ajax Search Lite,轻松替代默认搜索功能

WordPress自带的默认搜索功能是跳转到搜索结果页&#xff0c;如果你想要实时搜索功能&#xff0c;特别是在问答中心显示搜索功能&#xff0c;那么建议使用这个WordPress实时搜索插件Ajax Search Lite&#xff0c;它可以在文章、页面、自定义类型文章中搜索标题、内容、摘要、自…

XP系统安装Node.js v8.6.0并搭建Vue2开发环境(项目兼容到Vista的IE9浏览器)

下载并安装Node.js v8.6.0 通常我们开发Vue2项目&#xff0c;是通过vue create命令建立Vue2工程&#xff0c;用npm run serve命令启动Vue2网站的。 vue命令是用JavaScript写的&#xff0c;不是用C语言写的&#xff0c;必须要Node.js环境才能运行&#xff0c;由Node.js自带的np…

【Redis】String的常用命令及图解String使用场景

本文将详细介绍 Redis String 类型的常见命令及其使用场景&#xff0c;包括缓存、计数器、共享会话、手机验证码、分布式锁等场景&#xff0c;并且配图和伪代码进一步方便理解和使用。 命令执行效果时间复杂度set key value [key value…]设置key的值是valueO(k),k是键个数get…

『大模型笔记』主成分分析(PCA)解释:简化机器学习中的复杂数据!

主成分分析(PCA)解释:简化机器学习中的复杂数据 文章目录 一. 主成分分析(PCA)解释:简化机器学习中的复杂数据!二. 参考文献一. 主成分分析(PCA)解释:简化机器学习中的复杂数据! 主成分分析(Principal Component Analysis,简称PCA)通过 将大型数据集中的维度减少…