novelai吧 关注:344,215贴子:1,557,772

开 挂?小显存显卡的超大图实战!

只看楼主收藏回复

本文首发于Novelai 中文频道,由原作者发表,转载请注明原作者@残梦新生。
本文参考了这篇知乎大佬的文章,同时感谢@椰羊❤️提供灵感。
https://zhuanlan.zhihu.com/p/601903035
绝非标题党。
A卡Windows用户请直接按原文大佬方法实操。注意仅针对VAE一项功能,DML的功能本身已经集成在频道1.7整合包里面,请勿重复修改。
我是N卡用户,那么我直接看这篇文章的重点:把VAE移动到CPU计算,可以直接解决最后潜空间图像转换成可见图像时爆显存的问题。(说人话:AI的草稿转成看得见的作品的时候,最占用显存,让CPU代劳可以节省宝贵的显存。)上图。


我已经测试过,尽管是A卡配置,完全按照原文配置依然是可以在N卡上运行的,但是比较慢,而且不能降低显存占用。修改位置上图。
processing.py第632行后,蓝色高亮区。
samples_ddim = samples_ddim.to(devices.dtype_vae).to("cpu")
x_samples_ddim = decode_first_stage(p.sd_model, samples_ddim)

lowvram.py第51行,蓝色高亮区。#

由于我是N卡用户,N卡能调用半精度性能,所以这里我对原文启动参数本身做了魔改。上图。
webui-user.bat,启动参数,蓝色高亮区。
--lowvram --no-half-vae

改好之后,显卡单步速度相对于原文参数大大提升,显存占用直接砍半,综合表现直接吊打纯CPU,8G显存成功实战2048x2048的超大图。

看图,不说了,n b完事。当然因为我CPU比较拉夸,CPU单单最后一步转换就占用了大半的时间。总比纯CPU好。

纯原文参数时候的跑图数据在这里,太慢了,而且不能跑大图(原参数显存已经满了)。


IP属地:广东1楼2023-02-27 06:23回复
    厉害


    IP属地:湖南来自Android客户端2楼2023-02-27 06:51
    回复
      6,能把功能做进整合包吗


      IP属地:广东来自Android客户端3楼2023-02-27 06:55
      收起回复
        马克


        IP属地:山东来自Android客户端4楼2023-02-27 07:14
        回复
          对出图速度影响大么?


          IP属地:广东来自Android客户端5楼2023-02-27 07:24
          回复
            马克,以后肯定用得上


            IP属地:福建来自Android客户端7楼2023-02-27 07:34
            回复
              佬,太强了


              IP属地:河南来自Android客户端8楼2023-02-27 08:01
              回复
                数码领域大神的含金量


                应用达人
                应用吧活动,去领取
                活动截止:2100-01-01
                去徽章馆》
                IP属地:山东来自Android客户端9楼2023-02-27 08:16
                回复
                  好!太强了,稍后评测一下!


                  IP属地:贵州来自Android客户端10楼2023-02-27 08:20
                  收起回复


                    IP属地:广西来自Android客户端11楼2023-02-27 08:39
                    回复
                      出图速度会慢多少?


                      IP属地:广东来自手机贴吧12楼2023-02-27 08:48
                      收起回复
                        更新:感谢波奇酱为我们提前尝试,我只是把他走过的路再走了一遍。
                        启动参数修改为--no-half-vae --medvram,牺牲一点不着边际的极限,大幅提速。
                        本模式对于速度影响较大,最后一步CPU代劳VAE处理用时,视图片大小而指数变化,2048x2048下,8核CPU可能需要5分钟。
                        本模式并不是特别占用运行内存,因为内存有自动释放。
                        局限性:本模式仅限冲击极限,有诸多限制,例如不能使用xformers,要开低显存模式等。
                        提示:本模式对于2G显存的N卡,例如MX350,是巨大利好,体验是从不能玩到能玩的巨大飞跃。


                        IP属地:广东13楼2023-02-27 08:59
                        收起回复
                          那个xformers flash attention挺好用的


                          IP属地:吉林来自Android客户端14楼2023-02-27 09:07
                          回复
                            mark


                            IP属地:重庆来自手机贴吧15楼2023-02-27 09:08
                            回复
                              6啊


                              IP属地:四川来自Android客户端16楼2023-02-27 09:10
                              回复