NVIDIA TensorRT是 NVIDIA 提供的一套工具和库,用于增强 TensorRT 的功能和灵活性,使开发者能够更好地优化和部署深度学习模型。它是一个高性能的深度学习推理优化器和运行时库,专门用于加速在 NVIDIA GPU 上运行的推理任务。TensorRT 扩展则提供了额外的自定义选项和高级功能,帮助开发者实现更加精细的优化和硬件加速。通过利用 NVIDIA TensorRT 扩展,Stable Diffusion 的模型可以在推理时显著加速,这使得它在实时应用或大规模生成任务中变得更加实用。因此,TensorRT 扩展插件被认为是 Stable Diffusion 的“终极加速插件”,因为它能够将图像生成过程中的性能提升到一个新的高度。
36.1 安装与配置
**NVIDIA TensorRT扩展的配置要求:**Nvidia显卡(至少8G显存)、16G以上内存、Nvidia驱动程序(537.58版本以上)
驱动安装和更新地址:
https://www.nvidia.cn/drivers/lookup/
选择你显卡的具体型号和操作系统版本即可。
如果你是游戏玩家你可以选择下载安装GeForce Game Ready驱动程序;如果你像我一样只是用于工作和AI,那下载安装NVIDIA Studio驱动程序就可以了。
接下来是安装Stable-Diffusion-WebUI-TensorRT插件
项目地址:
https://github.com/NVIDIA/Stable-Diffusion-WebUI-TensorRT
我们也可以直接通过启动器来安装,搜索TensorRT后安装即可。
安装完成后便能在WebUI中看到TensorRT的标签了。
36.2 基本使用方法
在TensorRT界面的右侧有关于这个插件详细的使用说明,你可以通过它来构建一个定制化的TensorRT加速引擎。
但最简单的,我们直接点击"导出默认引擎",等待片刻即可。
等待时间取决于你的网速,一般在5-10分钟,构建成功后,便能在WebUI中看到成功的提示。
然后来到"设置-SD-SD"中,刷新"SD Unet"便能看到刚才根据我们所选大模型构建成功的Unet,点击选择它后保存设置即可。
但一旦我们构建了多个引擎之后,每次来这里设置选择很麻烦,所以我们需要将这个界面显示出来。到"设置-用户界面-用户界面"中,在右侧的"快捷设置列表中"输入"sd_unet"后添加并保存。
重载UI后,便能在主界面中方便的选择构建好的引擎了。
然后便可以在生图时候加载和大模型匹配的引擎了,如果你是用默认的方式构建的引擎,它自动构建的生图尺寸范围支持512-768,所以建议尺寸不要大于768*768,批次数量不大于4。另外由于TensorRT插件在加速生图的同时会消耗更多的显存,所以如果你的显卡是8G或以下,构建引擎时候选择默认就行了,因为想生成高于768分辨率的图你的显卡显存也不够。
可以看一下没开TensorRT和开了TensorRT生图速度对比。
36.3 TensorRT自定义引擎
我们默认的引擎预设可以生成512-768分辨率的图片,但如果我们需要加速生成更多的尺寸,就需要进行自定义引擎的设置。
在预设的下拉菜单中,我们可以看到可以选择固定尺寸或具体尺寸范围,选择尺寸便可以让TensorRT在具体某一个尺寸上进行出图速度优化,512、768、1024分别代表SD1.5、2.1、XL模型的最佳绘制尺寸。如果想要出图效率更高可以选择固定尺寸的引擎,如果想要更灵活的出图则可以选择具体范围尺寸的引擎。
具体的尺寸等参数可以在我们选择后具体调配,这里需要说明的是我们可以同时构建多个引擎,比如一个动态引擎和一个静态引擎,当我们生图时候,它会自动为我们选择使用某一个引擎,但默认来说是不能构建两个静态引擎或两个动态引擎,除非你勾选最下面的强制选项。
由于我们在大量跑图时会加大显存的压力,所以我们也可以在启动时候开启xFormers来尝试减少显存的使用。
除了普通生图可以加速外,也可以使用TensorRT来加速高分辨率修复,比如你要把512*512的图高分辨率修复到1024*1024,那你就在构建完512的引擎后再强制构建一个1024的引擎,构建完后你在TensorTR界面的最下方展开你的模型可以看到该模型下有两个TRT引擎了,当你使用该模型的TRT引擎时候,它变会在第一次生成512分辨率的图的时候使用512引擎加速,在高分辨率修复的时候自动使用1024引擎加速。
另外,TensorRT还支持LoRA模型加速,切换到TensorRT LoRA选项卡,构建方法和之前的方法一致,构建完成后就相当于把LoRA融入进了大模型中一起加速。
我们通过TensorRT生成的引擎相关的文件都保存在,SD WebUI根目录models文件夹下的"Unet-onnx"和"Unet-trt"文件夹内,大家在不需要或者卸载后需要删除引擎的画记得到这两个文件夹内来清理。
AIGC技术的未来发展前景广阔,随着人工智能技术的不断发展,AIGC技术也将不断提高。未来,AIGC技术将在游戏和计算领域得到更广泛的应用,使游戏和计算系统具有更高效、更智能、更灵活的特性。同时,AIGC技术也将与人工智能技术紧密结合,在更多的领域得到广泛应用,对程序员来说影响至关重要。未来,AIGC技术将继续得到提高,同时也将与人工智能技术紧密结合,在更多的领域得到广泛应用。
感兴趣的小伙伴,赠送全套AIGC学习资料和安装工具,包含AI绘画、AI人工智能等前沿科技教程,模型插件,具体看下方。
一、AIGC所有方向的学习路线
AIGC所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
二、AIGC必备工具
工具都帮大家整理好了,安装就可直接上手!
三、最新AIGC学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、AIGC视频教程合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。