当前位置:首页|资讯|Stable Diffusion|LoRA|机器学习

RX7900XTX跑stable diffusion的一些尝试

作者:diabolusexnihil发布时间:2023-08-13

新装了一台电脑,由于预算限制(4900要1w4左右)和显存需求(能用lora微调7B大模型),所以选择了RX 7900XTX(7k左右,24GB显存,ROCm5.6下速度约等于4080)

A系显卡做机器学习主打未来可期,目前属于未来如来的阶段,新出的ROCm5.6对7900XTX有了不完全但是更好的支持,同时也推出了windows版,不远的将来大概pytorch会对windows版进行支持,当然这里主要讲的是如今如何使用7900XTX。

因为大家可能主要还是买显卡跑stable diffusion画画,而不是要拉个LLM然后PEFT,所以先介绍怎么在一台装有7900xtx的显卡上部署stable diffusion。

由于torch暂时不支持windows版的ROCm,所以在一切开始前需要安装一个linux系统,网上一般推荐ubuntu22.04,但是亲测arch linux也可以,我在linux 6.4.9.arch1-1上也部署成功了。

在这里需要先声明一下,arch linux的安装过程比ubuntu复杂很多,虽然后续部署ROCm的过程非常简单,但是安装的过程很有可能让人自闭,请大家谨慎抉择。

arch linux安装过程非常复杂,建议参考arch linux中文wiki中的安装指南以及这篇教程,这里主要说一下几个可能有启发的步骤。

首先假设大家电脑都已经装了windows系统,如果没有系统引导盘的话可以在点击此电脑->管理->存储->磁盘管理,删除一个已经备份好数据没用的卷,在新的空间上分出一个10GB左右的简单卷,并保留一个100GB以上(最好更大,比如我整了400GB)的未分配空间

然后在官网上下载对应的iso文件,下好右键点击装载,把里面的文件复制到10GB左右的简单卷里面,开机进入BIOS,选择UFEI启动,就可以进入arch linux的安装

随后一路连上wifi操作到挂盘,用fdisk选择装系统的这块硬盘(我的叫nvmen0,里面可能有一些分区比如nvmen0p1、nvmen0p2之类的),应该能看到里面有一些之前预留好的未分配空间,把这些空间跟着wiki指导分成boot swap root之类的区,然后依次格式化好挂好,然后进入新装的系统。

在新装的系统中安装linux,就可以重启了。

记住重启之前,一定要安装网络模块,比如iwd之类的。

如果实在没看到,重启之后没wifi了,可以试试把手机插到电脑上然后选择usb提供网络,抢救一下试试。

如果有wifi且连接了还上不了网,可能是没动态分配ip,试试dhcpcd。

上面只是一个大致的流程,因为我也只装了一次,可能细节记得不是很清楚,具体还是以百科和别人的教程为主。

那么假设现在有了一台装有archlinux的电脑,可以直接在控制台中输入下列代码安装ROCm

安装完在输入台中输入下列代码修改环境变量

如果安装成功,使用rocm-smi或者rocminfo应该能查到显卡,并且此时在命令行中输入python3,然后输入下方代码应该会返回true

然后是从github上拉取stable diffusion webui

这个拉取可能会非常慢,建议使用一些加速手段。

比如说安装clash(pacman -S clash)然后(clash -f xxx.yaml)然后安装proxychains,配置上clash http加速的端口,最后用下方代码安装。

拉去下来之后,cd stable-diffusion-webui或者点击打开文件夹(有图形界面情况下)进入目录,配个python虚拟环境,然后再安装一遍torch-rocm5.6

安装好之后,用python打开launch.py就能使用webui了,因为第一次还是要从github上下载一些包,会非常慢甚至下不动,建议是仍然用上面教的proxychains启动,下载好应该就能运行了,注意webui不会直接打开,需要自己在浏览器中访问命令行上显示的那个127.0.0.1:xxxx的地址才能进入。

7900xtx在ROCm5.6下速度得到了进一步提升,大约对于512*512可以做到16~17it/s,并且应该在未来还能有一些提升。

贴一张本机第一次生成的图



Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1