前言

最近迷上了AI绘画,最近也算是当了一波赛博画师,我觉得AI绘画目前最有优势的地方除了可以快速创作外应该就是可以避免版权问题,我的博客很多图片都是Pixiv上的插画,目前还没有收到关于版权的问题,但最近我也在用AI绘画出的图进行替换(顺便挖个坑,今年未来会发布一款我基于Butterfly魔改的Hexo主题)一开始是Midjourney,画面质量确实不错,但是可以自定义的地方少,而且一个月30刀的价格对学生来说确实不太适合;然后是Stable Diffusion,这个主要是吃显存,目前我的笔电是一台英特尔10代的轻薄本,使用CPU来绘画的大概一张图需要3个小时(真的太痛苦了),但是我目前还没遇到性能瓶颈,所以并不打算换电脑,但我又有绘画的需求又不想进行太多不必要的消费,于是我想起了老家的台式机,打算对台式机做一波升级,使用NAS的反向代理进行使用

关于硬件

家里的老古董

家里的这台电脑应该是15年前我爸自己组的,目前也就我爸看看股票,也算能用吧,配置如下:

硬件 型号
CPU 双核奔腾 E5200,45nm工艺
主板 华硕P5QPL-AM
显卡 核显
内存 金士顿DDR2 800MHz 2GB x 2
硬盘 希捷3.5英寸机械硬盘 1T

只能说这台电脑是该退休了,除了一个硬盘,最多还有个机箱可以用用

新的电脑

关于新电脑,我的需求很简单,我不需要玩游戏,可以AI绘画就可以,其他的稳定就好了,预算设定在了1k
AI绘画最重要的就是显卡的显存,这个我一开始就锁定了P104-100这张卡,P104-100这张卡本身就是为挖矿而设计的,拥有8G的显存,而且价格只要100,完全可以称得上是绘画的入门卡了。因为是计算卡,所以没有视频输出接口,需要CPU有核显才能点亮,于是CPU我选择的是E3神教e3 1225 V5,4核4线程,14nm的制造工艺,因为选择了这个CPU,想要在家用主板上使用,可以选择B150、H170和Z170并且要魔改bios,我最后选择的是H170,百来元的售价,比B150多了M.2的固态硬盘口,虽然比Z170丐点,但Z170主要是在声卡网卡拓展性上好点,但大多售价已经上到200了,至于魔改bios不会改可以叫店主帮你改好了在发。系统盘随手买了根西数的SN750 256G配合老电脑的1T机械存储盘。内存我选择了全新的金百达银爵DDR4 3200MHz的频率,时序也很不错,虽然我看H170最高只能跑到2400MHz但E3 1225 V5最高支持的频率也就2133MHz,选择这个的主要原因是懒得再更低的价位慢慢挑了(主要是买到过假三星内存)。散热我就随便搞了2热管散热器,因为E3 1225 V5的TDP也就80w,也没什么其他的好选择了。电源上了个全新的550w的铜牌
下面就是配置清单了:

硬件 型号 入手价格 渠道 是否二手 理由
CPU E3 1225 V5 81 TB 有核显、能用
主板 技嘉GA-H170-HD3 135 海鲜市场 有M.2硬盘位
显卡 微星P104-100 100 海鲜市场 入门级AI卡,矿卡能用一个月就稳赚
固态硬盘 西数SN750 256G 100 海鲜市场 能用,价格小贵,其实可以加50上致钛全新256G或二手512G
机械硬盘 希捷3.5英寸机械硬盘 1T 0 前机之件 资料盘,有就行
内存 金百达银爵DDR4 3200MHz 8G x2 195 某东 国产内存,这个价位买不了吃亏
散热 寒霜400 双热管塔式散热器 20 PDD 压个80W的CPU还是可以的
电源 玄武 550W 铜牌电源 188 PDD 之前看到看到有人推荐,官方称能超到640W稳定运行24小时,但我也没试过,而且我这个平台满载可能都没有400W
机箱 ATX机箱 58 海鲜市场 本来没打算换机箱的,装机的时候才发现显卡长了,原本的机箱的硬盘位挡住了,只好破点费在海鲜市场叫人送货上门了

总计:819元

硬件选择

看到这里一定会有人觉得我的硬件选择不合理,这套方案主要还是围绕着P104-100这张显卡来选择的板U,其余看到这里一定会有人觉得我的硬件选择不合理, 硬件选择
的基本都比板U显三角套高一个台阶,万一哪天真的要升级,只要我不玩游戏只需要换掉板U即可。内存选择16G主要是因为AI绘画模型的加载会从硬盘读到内存中,P104-100

硬件选择

首先先看供电,如果你和我一样用作AI绘画的,选择顺序应该是同价位下先选单6pin的卡,再看8pin的卡,再是8+6pin,最后才是8+8pin的卡。这么选择的理由主要是这张卡作为三朝元老早就被矿老板玩坏了:显卡的功耗越高,性能越强,但是P104-100这张卡的性能提升有限多口供电虽然可以提升5%~8%的性能,近乎0成本的生意来说,自然是算力越强越好,矿老板不缺这点电费,所以说这张卡供电越多但是功耗却提升了40%,但是作为挖矿这个近乎0成本的生意来说,自然是算力越强越好,矿老板不缺这点电费,所以说这张卡供电接口越多,之前做的活也越累。况且供电接口越少也方便我们把用双显卡或者是把显卡放NAS中。也许有人会说既然我用不到,。也许有人会说既然我用不到这么高的算力那我少接几根供电线然后再限制一下显卡的功耗就好了,想法很美好但显示很残酷,在不改电路和转接的情况下,这张计算卡如果供电不插满是会报错的

至于我为什么选择了微星P104-100这张8+6pin的供电呢,主要是我因为当时我也才入坑,不太了解,而且我的入手价格着实低,100包邮还要什么自行车,一个月不炸机就是赚,如果一个月炸机了还可以找老板换货。不过好在我目前也没有

为什么不选P106-100

如果是想买来打游戏的可以考虑P106-100,虽然P106-100性能更强,但显存大多只有6G,最新的SDXL模型出来后,8G显存都有点不够用了(也是因为WebUI的性能优化较差),而且P104和P106都没办法直接输出画面,都是需要核显的,输入输出延迟都比较高,只比较适合3A,不太适合网游

显卡运行模式

我们先来了解一下P104这类计算卡的运算模式::
TCC:Tesla计算群模式(Tesla Computer )

  • TCC:Tesla计算群模式(Tesla Computer Cluster)在该模式下,GPU完全用于计算,不能提供本地输出
  • WDDM:Windows图形驱动模式(Windows Display Driver Model),在该模式下GPU既渲染提供计算也的简单点,TCC我们用来绘画,WDDM用来打游戏。英伟达默认的官方驱动就是TCC模式,这个模式在任务管理器中看不到显卡,但是在设备管理器中可以想打游戏,那可以使用看到,看到,如果你买来就是打算用于AI绘画的,建议使用原版驱动

魔改驱动

如果你想打游戏,那可以使用WDDM模式,就需要使用到魔改驱动,感谢P106吧的无悔等大佬无私提供魔改驱动
所有的安装文件我会放在文末的网盘连接中

  1. 安装证书,找到文件EVRootCA.reg,直接双击,然后会提示导入到注册表,直接确认就可以了
  2. 然后就是安装驱动,因为是手动安装,所有可以不需要清除原有驱动也不需要断网什么的
  3. 找到一个rar的压缩包,解压后放到任意非中文路径,建议放到D盘根目录
  4. 按WIN+R键打开运行,在打开一栏里输入devmgmt.msc来打开设备管理器(也可以在桌面右键此电脑 -> 更多 -> 管理 -> 设备管理器
  5. 然后点开显示适配器NVIDIA P104-100上单击右键更新驱动程序。之后选择下面那个浏览我的电脑以查找驱动程序 ,之后再选择让我从计算机上的可用驱动程序表列中选取
  6. 然后进入D盘找到刚刚解压出来的驱动,进入后选择nvacig.inf这个文件,之后就会显示 CYX-patch P104-100这个型号了,然后点击下一页开始进行安装
  7. 安装中途会弹出非认证文件的提示,点安装继续就好
  8. 之后会人短暂的黑屏或闪烁,然后就安装成功了,于是你再现在就得到了一张WDDM模式的P104显卡

如果我用的魔改驱动突然想画画了改怎么办

虽然WDDM模式下也可以用于计算,但算力肯定没有TCC模式那么强,因为TCC模式下会占用Cuda核心,如果你在启动WebUI时报错提示:

1
2
RuntimeError: Torch is not able to use GPU; add --skip-torch-cuda-test to COMMANDLINE_ARGS variable to disable this check
提示:Python 运行时抛出一个错误。请检查疑难解答页面

那大概率是魔改驱动把所有的Cuda核心都分配给用于画面的渲染以增强游戏性能了,导致没有其他Cuda核心用于计算
下面提供了两种解决方法:

更换驱动

这个没什么好说的,就是从魔改驱动换回官方驱动,驱动卸载可以使用安装魔改驱动使用的那个卸载软件,值得注意点是,安装魔改驱动需要在注册表中修改的两个值记得要改回来

模式切换

更换驱动的原理其实就是把显卡的运行模式从WDDM切换成更换驱动的原理其实就是把显卡的运行模式从WDDM切换成TCC模式,那有没有一件切换的模式的方法呢,其实是有的,但也要看你用的魔改驱动可不可以使用,可以自行尝试一下,这种修改模式也省去了改注册表的繁琐:

  1. 先以管理员身份启动命令行
  2. 输入以下命令:
1
2
nvidia-smi -dm 0    # 将显卡切换至WDDM模式
nvidia-smi -dm 1 # 将显卡切换至TCC模式

切换完模式后还需重启设备,切换为TCC后,在任务管理器中就无法看到独显了
如果没办法切换,那有可能就是魔改驱动不支持,可以尝试我提供的魔改驱动

双显卡

硬件

如果你有两块显卡,一块用于用于游戏,P104-100用于AI绘画,我的建议是P104-100放在第二显卡的槽位,因为P104-100的接口速率本身已经被阉割过,只有PCIEx4的通道。关于电源的选择,主要看你第二块显卡是什么,我想这种情况下大概率是RX580或者10系的卡,如果再高点的卡就没有买P104的必要了,N卡不多说,A卡可以考虑在Linux下使用,Windows环境下只有N卡的体验好点,因此电源的话600w可以说绰绰有余,毕竟几乎不可能两张显卡同时跑满,这里的关键就是P104-100的选择了,最好就是单6pin或者单8pin,大多数低价电源的PCIE供电只有两条,要留一条给RX580使用
其实还可以买两张P104-100,但没办法化身为8G显存,但是可以两张卡分别出图,这我建议内存要上到24G及以上,不然模型一多16G肯定不够开两个WebUI,原因也很简单,我之前也说过,就是加载模型时会将模型从硬盘中读取到内存里作为缓存(有点类似于ZFS文件系统)虽然也可以通过虚拟缓存缓解,但加载模型的速度也是实打实的下降

软件

关于软件方面主要就是驱动问题

双N卡

直接用官方最新驱动就好了,这样P104-100也是运行在TCC模式下,可以出图

1N1A

这种情况A卡就正常装,N卡可以选择魔改驱动也可以直接使用官方驱动,我建议直接用官方驱动就好,省事省心,反正跑游戏又不用P104-100

P104+亮机卡

安装完魔改驱动还要去注册表中修改对应值:

  1. 按WIN+R键打开运行,在打开一栏里输入regedit来打开注册表
  2. 然后进去找到HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}点开,如果你有两张显卡的话,在下面的分支里面的0000小分支应该就是你的亮机卡,而0001是你的计算卡。可以在右边的DriverDesc字符串后面看到显卡的名字。一般第一张显卡是没有AdapterTypeEnableMsHybrid这两项的,可以自己新建DWORD(32位)值,两个都是十六进制,AdapterType的数值为4,EnableMsHybrid 的数值为2,下面的0001AdapterType数值也改成4,而EnableMsHybrid的数值改成1,然后关掉编辑器重新启动电脑,这样一来电脑就会优先使用0001的显卡来运算图形了(就是玩游戏跑测试之类的)。

还有一方面就是功耗了,有人的电源可能不太行,后面有讲怎么限制P104-100的功耗,200W也可以带动单卡

在NAS上使用

可能有人也会把卡装在NAS上,然后当做一个7×24的绘画机。我推荐的系统是Unraid,主要是这个系统可以方便的进行硬件直通,你要是会玩EXSI或者PVE那也应该不用我来交。NAS的CPU的选择既可以有核显,也可以没有,毕竟是把P104-100运行在虚拟机中,然后可以通过VNC输出画面,所以没有核显也无所谓,但NAS也有充当影音服务器端需求,有核显的U会好不少,这里我想说的是NAS有没有核显都无所谓,但PC一定要有核显
在操控方面,可以通过VNC接管整个Windows是画面,也可以通过反向代理只代理WebUI的端口

限制P104-100的功耗

在前面说过了,如果是双显卡,可能会遇到电源功率不足的问题,AI绘图并不需要太高的算力,限制功耗后体验影响不太。限制功耗后整机用200w的电源也能带的动(理论上,不过限制全新的电源最低都是550w了吧,老古董电源也有400w了吧)前面已经说过了,P104这张矿卡的功耗比是极不合理能效比极低的,首先我们需要用到一个用于显卡超频的调节工具,微星的MSI Afterburner,俗称微星小飞机。所有的安装文件我会放在文末的网盘连接中,下载安装好之后,我们就可以开始着手压显卡的电压和频率了,如果觉得风扇太吵或者是转速太低压不了温度,都可以在小飞机里面自行调节风扇速度。
安装好之后,可以在User Interfacee中找到切换中文的设置。在兼容性中找到解锁电压监管,把这个打上勾,不开就压不了电压和频率。设置好之后主界面会有一个curve editor按钮,这里就是可以高低频率压低显卡功耗的关键所在。
将所有电压的频率全都打到最低1202MHz,这样一来核心电压最高就会被锁定在0.6930V,我图上的配置把显存频率也拉低了502MHz,这个如果不压会提升8W左右的功耗,显卡温度会高出10摄氏度左右,个人建议还是压低比较好。可能有人会说显存频率不是会影响带宽吗,其实在P104-100的影响并不大,主要原因还是之前提到的接口速率只有PCIE x4。传输速率的瓶颈让显存频率并没有那么重要压和不压大概对整体性能有2%左右的影响,不挖矿的话损失这丁点的性能几乎可以忽略不计,但却可以让显卡温度降低将近10度。经过以上的调整P104的性能几乎被压低到了P106的级别,与P106相近的算力,但是功耗却只有P106的一半,仅有65w

P104-100的游戏设置

但这里可能有人会不明白,为什么打游戏上P106强于P104,但是P104降频降压后却有和P106一样的性能呢。最主要的原因还是在接口上,P106是PCIE X16,所以会出现一个奇怪的现象:明明是P104帧数更高但是P106玩起来更流畅,只能说老黄的刀法太精准。除了接口带宽问题,P106几乎是全方位落后P104的,P104的显存多了2G,枋心数比P106多了三分之一。用P104玩游戏需要进行一些特别的设置,虽然不能说超过P106,但想要玩起游戏来感觉流畅还是可以做到的
在Nvidia的设置应用中,垂直同步;关闭低延时模式;另外,各向异性过滤,平滑处理 - 模式,一定要选应用程序控制,以减少不必要的接口开销,这样一来只要不是材质太过于复杂和精细的游戏,P104还是可以畅玩的。并且游戏全程功耗只有不到40W左右,比P106帧数高,且省电又低温(除此之外全都不如P106)

体验

因为我不玩游戏这里就着重说一下Stable Diffusion的出图体验吧
这里跑一个我自己基于SD1.5练出来的大模型,SD是秋叶大佬的整合包
测试情况:

  • 外挂VAE:animevae.pt
  • 正面描述:109词
  • 反向描述:68词
  • 迭代步数:60
  • 分辨率:512x512
  • 高清修复:开
  • 放大算法:R-ESRGAN 4x+
  • 高分迭代步数:20
  • 重绘幅度:0.2
  • 总批次:4
    绘画+修复共计320步,按道理来说一般绘画不会给那么多关键词,这里算是给显卡一点压力吧,还有一点就是我再测原版驱动时为了方便是放在硬盘盒里跑的,如果放在硬盘里面可能会更快一点,为了测试变量统一,我均放在了硬盘盒里测试,大家主要是看不同组合间性能差距

原版驱动+TCC模式

  • 总用时间:6:20
  • 平均每步用时:1.18 s
  • 绘画平均速度:2.04 it/s
  • 高清修复平均速度:2.85 s/it ≈ 0.35 it/s

魔改驱动+降压降频+TCC模式

  • 总用时间:9:30
  • 平均每步用时:1.78 s
  • 绘画平均速度:1.32 it/s
  • 高清修复平均速度:4.34 s/it ≈ 0.23 it/s

魔改驱动+降压降频+WDDM模式

  • 总用时间:18:30
  • 平均每步用时:0.29 s
  • 绘画平均速度:1.27 it/s
  • 高清修复平均速度:4.36 s/it ≈ 0.23 it/s
    因为在这个模式下任务管理器可以看到显卡,所以我简单看了一下运行情况,首先是3D占用和整卡在80~99间波动,绘图过程中显存占用大概在4.2G(如果是跑SDXL应该会直接吃满)而进入高清修复阶段,直接爆显存,因此这里会浪费大量的时间,导致整体用时较长(SDXL应该就跑不了高清修复了,毕竟默认就是1024x1024)因为降频降压,温度稳定在50摄氏度附近,算是不错

魔改驱动+TCC模式

  • 总用时间:6:25
  • 平均每步用时:0.83 s
  • 绘画平均速度:2.00 it/s
  • 高清修复平均速度:2.85 s/it ≈ 0.35 it/s

总结

可以看到,在TCC模式下无论是魔改驱动还是原版驱动,性能差距都在误差范围内,降压降频后的性能只有未降频的40%左右,但是功耗却只有30%,虽然能耗比没有提升太多,但是65w的功耗放进NAS里还是不错的,毕竟大多数NAS的电源可能也就150w~250w这个范围,不过支持全高PCIE的NAS机箱应该也能发下ATX或者SFX电源吧。在WDDM模式下情况就比较糟糕,性能只有TCC模式下的,不过也可以理解,毕竟有部分CUDA核显用于画面的渲染了,所以买回来有游戏需求的建议双卡或者勤快点,每次绘画或者游戏前记得切换模式

尾声

其实我在装机时SDXL 1.0的底模已经发布了,这个地膜比SD 1.5更为强大,训练素材均为1024x1024,SD 1.5则为512x512,8G显存本身已经可以畅玩SD 1.5了,但据说想跑SDXL 1.0需要12G的显存,24G的内存起步,一方面是WebUI的优化问题,另一方面就是模型确实变得更强了,有人说SDXL目前已经逼近Midjourney了,谁能想到刚入手的P104这么快就该退出舞台了,不过目前SDXL的生态还不够完善,像是二创模型、LoRA可以说几乎没有,SDXL生态想完善我个人预测至少需要一年,这么看,我100入手的P104还是挺划算的

文件下载: