前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【腾讯云HAI域探秘】使用LCM-LORA助力炼丹师极速出丹

【腾讯云HAI域探秘】使用LCM-LORA助力炼丹师极速出丹

原创
作者头像
用户10801825
修改于 2023-12-18 06:36:40
修改于 2023-12-18 06:36:40
9190
举报

最近在使用腾讯云推出的高性能应用服务 HAI 体验 AI 作画,HAI 预置了 Stable Diffusion 等主流 AI 作画模型及常用插件,提供 GUI 图形化界面即开即用,大幅降低上手门槛。HAI 提供了两种算力方案,基础型算力提供 16G 的显存,0.88/每小时的价格,拿来炼丹性价比还是很高的。感兴趣的小伙伴可以参照 如何利用 HAI 轻松拿捏 AI 作画 进行体验。

显存

算力

CPU&内存

费用

基础型

16GB+

8+TFlops SP

8 核 32G

0.88/每小时

进阶型

32GB+

15+TFlops SP

8~10 核 40G

2.41/每小时

在使用 HAI 提供的 Stable Diffusion WebUI 应用时,遇到了出图缓慢,显存爆掉的问题,当然这是 Stable Diffusion 的原生问题,与 HAI 无关。但是 HAI 是 按使用时长计费 的,一想到白花花的银子就浪费在等待出图的时间上,就心痛难忍。于是开始寻找能加速出图的方法,这就是今天的主角:LCM-LoRA模型。使用 LCM-LoRA 体验极速出图,让你的 HAI 更具性价比!

一、LCM 介绍

LCM 的全称是 Latent Consistency Models(潜在一致性模型),由清华大学交叉信息研究院的研究者们构建。在这个模型发布之前,Stable Diffusion 等潜在扩散模型(LDM)由于迭代采样过程计算量大,生成速度非常缓慢。通过一些创新性的方法,LCM 只用少数的几步推理就能生成高分辨率图像。据统计,LCM 能将主流文生图模型的效率提高 5-10 倍,所以能呈现出实时的效果。在此基础上,研究团队进一步提出 LCM-LoRA,可以将 LCM 的快速采样能力在未经任何额外训练的情况下迁移到其他 LoRA 模型上,为开源社区已经存在的大量不同画风的模型提供了一个直接而有效的解决方案。

二、如何在HAI中使用LCM-LoRA

LCM-LoRA 模型分为两个版本:LCM-SD1.5-LoRA 和 LCM-SDXL-LoRA。分别对应 SD1.5 基础模型和 SDXL 基础模型,使用时根据所用的基础大模型版本选择相应的LoRA模型。

2.1 下载LCM-LoRA模型文件

模型文件下载成功后,注意将默认文件名修改一下,便于后续的使用,之后通过JuyperLab将模型文件上传至 HAI 的 /root/stable-diffusion-webui/models/Lora/ 目录下即可。

  • 方法二:直接在 HAI提供的JuyperLab 命令行终端执行以下命令从HF国内镜像下载
代码语言:shell
AI代码解释
复制
  #下载LCM-SD1.5-LoRA
  wget -O /root/stable-diffusion-webui/models/Lora/lcm-lora-sdv1-5.safetensors https://hf-mirror.com/latent-consistency/lcm-lora-sdv1-5/resolve/main/pytorch_lora_weights.safetensors
  # 下载LCM-SDXL-LoRA
  wget -O /root/stable-diffusion-webui/models/Lora/lcm-lora-sdxl.safetensors https://hf-mirror.com/latent-consistency/lcm-lora-sdxl/resolve/main/pytorch_lora_weights.safetensors

模型下载成功后,在SD-WebUI的LoRA页签或者在/root/stable-diffusion-webui/models/Lora/能看到模型文件即可。

2.2 使用LCM-LoRA模型

LCM-LoRA模型的使用与其他LoRA模型略有差异。主要关注迭代步数提示词相关性两个配置即可,如果使用SDXL基础模型,还需要额外关注一下采样方法。接下来就分别说明一下SD1.5 基础模型和SDXL 基础模型如何配合LCM-LoRA模型提速。

  • SD1.5 基础模型使用 LCM-LoRA

参数项

参数值

参数说明

正向提示词

结尾添加:<lora:lcm-lora-sdv1-5:1>

这里与使用普通LoRA模型是一样的

迭代步数

4~8

传统的迭代步数一般是 20 以上,使用 LCM-LoRA 模型的迭代步数设置在 4~8 即可,太大了对画质的改变其实并不大,这个也是缩减生成时间的最主要因素

提示词相关性

1或者2

传统的提示性相关性一般都在 7 以上,使用 LCM-LoRA 模型的提示词相关性一般设置为 1 或者 2;设置为1代表只包含正面提示词,不包含负面提示词;设置为2代表既包含正面提示词,又包含负面提示词;

其余参数

与正常情况下保持一致即可

  • SDXL 基础模型使用 LCM-LoRA

参数项

参数值

参数说明

正向提示词

结尾添加:<lora:lcm-lora-sdxl:1>

这里与使用普通LoRA模型是一样的

采样方法

LCM或者Euler a

这里推荐使用LCM采样方法,作品画质相较于Euler a会更好

迭代步数

4~8

传统的迭代步数一般是 20 以上,使用 LCM-LoRA 模型的迭代步数设置在 4~8 即可,太大了对画质的改变其实并不大,这个也是缩减生成时间的最主要因素

提示词相关性

1或者2

传统的提示性相关性一般都在 7 以上,使用 LCM-LoRA 模型的提示词相关性一般设置为 1 或者 2;设置为1代表只包含正面提示词,不包含负面提示词;设置为2代表既包含正面提示词,又包含负面提示词;

其余参数

与正常情况下保持一致即可

注意:Stable Diffusion WebUI目前并没有预置LCM采样方法,需要通过安装AnimateDiff插件来获得。在Stable Diffusion的“扩展(extensions)”菜单,选择“可用(available)”,点击“加载自(load from)”,搜索“animatediff“,点击“安装(Install)”。

效果对比

  • 正常情况下出图:耗时1分7秒,显存使用率96.7%
  • 使用 LCM-LoRA 模型出图:耗时15秒,速度快了接近5倍!显存占用率88.7%,降低了8%
  • 图片质量对比:第一张是正常出的图,第二张是使用LCM-LoRA 模型后的出的图

总结

可以看到,在使用了LCM-LoRA模型后,使用SDXL模型生成图片的速度提升了近5倍,显存使用率也有一定的下降,不过图片质量也略微有些下降,但也勉强够用。以后再也不担心HAI的账单超标了。

最后也是希望HAI的Stable Diffusion应用能够预置更多的常用插件和一些常用基础模型,譬如中文插件、AnimateDiff插件等,同时也希望可以提供更为方便快捷的模型下载途径。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
Storage关键字SqlRowIdProperty,SqlTableNumber,State,StreamLocation,Type
对于串行(嵌入式)类,此关键字指示使用哪个数据定义来定义对象的序列化状态(序列化时对象属性的排列方式)。这也是默认数据定义,默认结构生成器将向其添加未存储的属性。
用户7741497
2022/07/07
2970
多维存储的SQL和对象使用(二)
持久化类可以定义一个或多个索引;其他数据结构用于提高操作(如排序或条件搜索)的效率。InterSystems SQL在执行查询时使用这些索引。InterSystems IRIS对象和SQL在执行INSERT、UPDATE和DELETE操作时自动维护索引内的正确值。
用户7741497
2022/06/09
7510
定义和构建索引(一)
索引是由持久类维护的结构,InterSystems IRIS®数据平台可以使用它来优化查询和其他操作。
用户7741497
2022/06/07
6470
类关键字SqlTableName,StorageStrategy,System,ViewQuery
通常,当类名是SQL保留字(并不少见)或希望SQL表包含类名不支持的字符(如“_”字符)时,可以使用此关键字。
用户7741497
2022/07/06
3960
定义和构建索引(二)
与典型的SQL一样,InterSystems IRIS支持惟一键和主键的概念。 InterSystems IRIS还能够定义IdKey,它是类实例(表中的行)的唯一记录ID。 这些特性是通过Unique、PrimaryKey和IdKey关键字实现的:
用户7741497
2022/06/07
7160
SQL定义表(二)
InterSystems IRIS提供了两种方法来唯一标识表中的行:RowID和主键。
用户7741497
2022/06/06
1.6K0
使用多维存储(全局变量)(一)
在全局节点中存储数据很简单:像对待任何其他变量一样对待全局变量。 区别在于对全局变量的操作是自动写入数据库的。
用户7741497
2022/06/08
8350
SQL修改数据库
可以对现有的表使用SQL语句,也可以对相应的持久化类使用ObjectScript操作来修改InterSystems IRIS®数据平台数据库的内容。 不能修改定义为只读的持久类(表)。
用户7741497
2022/06/06
2.5K0
SQL查询数据库(二)
InterSystems SQL允许您在SQL查询中调用类方法。这为扩展SQL语法提供了强大的机制。
用户7741497
2022/06/06
2.4K0
使用多维存储(全局变量)(四)
InterSystems IRIS提供了使用全局变量实现完整事务处理所需的基本操作。 InterSystems IRIS对象和SQL自动利用这些特性。 如果直接将事务性数据写入全局变量,则可以使用这些操作。
用户7741497
2022/06/09
5790
定义和构建索引(三)
位图索引是一种特殊类型的索引,它使用一系列位串来表示与给定索引数据值相对应的一组ID值。
用户7741497
2022/06/07
1K0
关键字触发器定义,扩展数据块,类关键字Abstract,ClassType
触发器是在SQL中发生特定事件时执行的代码段。InterSystems IRIS支持基于执行INSERT、UPDATE和DELETE命令的触发器。根据触发器定义,指定的代码将在相关命令执行之前或之后立即执行。每个事件可以有多个触发器,只要它们被分配了执行顺序。
用户7741497
2022/07/06
8240
存储和使用流数据(BLOBs和CLOBs)
Intersystems SQL支持将流数据存储为Intersystems Iris ®DataPlatform数据库中的 BLOBs(二进制大对象)或 CLOBs(字符大对象)的功能。
用户7741497
2022/06/07
1.4K0
类关键字NoExtent,OdbcType,Owner,ProcedureBlock
如果该关键字为真,则该类没有 extent。不能创建此类的实例。通常,这样的类会扩展或覆盖从%Library.Persistent继承的标准持久接口。
用户7741497
2022/07/06
2850
SQL排序(一)
排序规则指定值的排序和比较方式,并且是InterSystems SQL和InterSystemsIRIS®数据平台对象的一部分。有两种基本排序规则:数字和字符串。
用户7741497
2022/06/06
1.5K0
重新定义读取器处理相关对象的方式
当%XML.Reader找到与启用了XML的类相关的XML元素时,读取器会调用该类的XMLNew()方法,后者又会在默认情况下调用%New()。也就是说,当读取器找到相关元素时,它会创建相关类的新对象。新对象由从XML文档读取的数据填充。
用户7741497
2022/07/05
4710
【设计模式】学习JS设计模式?先掌握面向对象!
一个模式就是一个可重用的方案,可应用于在软件设计中的常见问题,另一种解释就是一个我们如何解决问题的模板 - 那些可以在许多不同的情况里使用的模板。 --w3cschool
一尾流莺
2022/12/10
4620
将XML导入到对象中
注意:使用的任何XML文档的XML声明都应该指明该文档的字符编码,并且文档应该按照声明的方式进行编码。如果未声明字符编码, IRIS将使用前面的“输入和输出的字符编码”中描述的默认值。如果这些默认值不正确,请修改XML声明,使其指定实际使用的字符集。
用户7741497
2022/07/04
1.8K0
SQL定义表(一)
可以通过定义表(使用CREATE TABLE)或通过定义投影到表的持久类来创建表:
用户7741497
2022/06/06
1.4K0
SQL定义表(三)
调用此方法时,它将尝试创建Sample.Employee表(以及相应的Sample.Employee类)。如果成功,则将SQLCODE变量设置为0。如果失败,则SQLCODE包含指示错误原因的SQL错误代码。
用户7741497
2022/06/06
1.3K0
相关推荐
Storage关键字SqlRowIdProperty,SqlTableNumber,State,StreamLocation,Type
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档