本帖最后由 HENRY1 于 2024-4-7 17:18 编辑
在今天经济大环境下每个人都应该多多少少学点AI,为了攒一台携带方便的AI PC,首先抛弃了笔记本电脑,一方面移动显卡性能一般,另一方面更加重要的是笔记本空间和散热限制跑一个模型稍微微调一点就要长时间不关机明显笔记本稳定性不靠谱,用起来还是台式机舒服。所以一台携带轻便、散热给力、适合长时间运行的AI PC生产力台式机DIY就是今天主角。
为了带出去低调选择了之前闲置在家至少10多年,很老的带光驱的办公用半高IBM机箱^_^,所以显卡就只能上半高,可选的除了老掉牙的A2000,就只有**的GeForce RTX™ 4060 OC Low Profile 8G和RTX 4000SFF Ada一共三块。考虑要用来AI生产力开发最终选了贵的RTX4000 SFF Ada,这块小卡8500 RMB确实不便宜,但70W的功耗和20G的显存以及专业卡的驱动和颜值还是物有所值的。小机箱cpu还不能差,选择了铭凡 BD790i ITX主板,搭载Ryzen 7 7945HX 16核32线程的小主板+U,内存最高只能上96G为了稳定兼容DDR5 5200(这U和板子最高极限,AMD后面大概也不会升级内存最高限制)2 x 48GB,费了点功夫,参考了老外在美亚的评论,最终从美亚选择MushkinEnhanced Redline 96GB(2 x 48GB) DDR55200套装。SSD对于生产力特别是大量用图片和文字语料微调模型非常重要,最终上了2块固态,一块上了T700 PCIE 5.0的2T盘兼顾大模型的连续拷贝速度,另外一块上了心心念很久的傲腾905P 1.5T兼顾4k随机性能,本来之前考虑960G的,但突然美蛋1.5T U2版本全新的特价399美刀,正好下单一块1.5T。全套AI PC 配置如下:
等待开箱的配件
主板+CPU: 铭凡 BD790i Mini ITX主板,搭载Ryzen 7 7945HX CPU
显卡:NVIDIA RTX 4000 SFF Ada Generation
内存:Mushkin Enhanced Redline 96GB (2 x 48GB) DDR5 5200
硬盘:Crucial T700 PCIe Gen5 NVMe M.2 SSD 2TB
Intel Optane SSD 905P 1.5TB U.2
铭凡 BD790i这块主板自带散热器和SSD散热器风扇,颜值还不错,小巧可爱
主板
操作系统上了windows 11和Ubuntu 22.0.4 Linux双系统,在windows下简单测试如下:
AMD Ryzen 7 7945HX CPU 还是很强的,这么一台小主机这样的cpu多核性能足矣
上面是内存测试成绩,毕竟只有5200一般一般吧
硬盘windows下只跑了镁光T700这一块,先来一个娱乐跑分随便看看,后面会有Linux下Fio比较多的SSD测试项目
由于主板BIOS cpu内存所有都用默认值,只要稳定不会为了一点点性能提升影响稳定,所以T700在BD790i上成绩稍稍比chiphell 的官方测试慢一点,chiphell官方T700测试
尽管是一块半专业显卡但不影响跑游戏测试下^_^,赛博朋克2077和古墓丽影,参数和成绩见下图:
赛博朋克2077开了光追中等DLSS自动,高画质1920*1200下有差不多60FPS成绩;古墓丽影开了光追平衡高画质1920*1200有189的平均帧率,还不错哦
接下来就是这台扮猪吃老虎的AI PC的重点测试了,启动Ubuntu 22.0.4 Linux先进行Fio的SSD磁盘测试,傲腾905P 1.5TB和镁光T700进行了5项测试,具体测试脚本如下:
(1) 4k下100%顺序写入,队列深度1: fio --directory=/data-direct=1 -iodepth 1 -thread -rw=write -ioengine=psync -bs=4k -size=10G-numjobs=50 -runtime=180 -group_reporting -name=sqe_100write_4k
1
这块905P盘4k顺序写入有2233MB/s的速度,计算成IOPS=571K 计算公式为:IOPS=( MB/s的速度 * 1024 * 1024) / 4096
(2) 4k下100%顺序读取,队列深度1: fio --directory=/data-direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=4k -size=10G-numjobs=50 -runtime=1000 -group_reporting -name=sqe_100read
2
4k顺序读取有2309MB/s的速度,计算成IOPS=591K
(3) 4k下100%随机写入,队列深度1: fio --directory=/data-direct=1 -iodepth 1 -thread -rw=randwrite -ioengine=psync -bs=4k -size=10G-numjobs=20 -runtime=180 -group_reporting -name=rand_100write_4k
3
4K下随机写入1402MB/s,IOPS=342k
(4) 4k下100%随机读取,队列深度1: fio --directory=/data-direct=1 -iodepth 1 -thread -rw=randread -ioengine=psync -bs=4k -size=10G-numjobs=50 -runtime=180 -group_reporting -name=rrand_10write_4k
4
4K下随机读取2330MB/s,IOPS=569k
(5) 4k下100%随机70%读,30%写,队列深度1: fio--directory=/data -direct=1 -iodepth 1-thread -rw=randrw -rwmixread=70 -ioengine=psync -bs=4k -size=10G -numjobs=20-runtime=180 -group_reporting -name=randrw_70read_4k
5
4k下70%随机读30%随机写:读1419MB/s IOPS=363k ,写608MB/s IOPS=155k
镁光T700 2T也是队列深度1的上面5项测试,直接给成绩懒得截图了
(1)4k顺序写入:8986MB/s, IOPS=2300K (2)4k顺序读取:7868MB/s, IOPS=2014K (3)4k随机写入: 351MB/s, IOPS=90K (4)4k随机读取: 86MB/s, IOPS=22K (5)4k下70%随机读,30%随机写:读82MB/s ,写23MB/s;读IOPS=21K ,写IOPS=9K 可以看到在4k下连续读写T700由于PCIE5.0接口速度明显比傲腾905P的PCIE3.0快4倍左右,但如果是4k随机读或写优势就是号称4k随机怪兽的傲腾905P,特别在4k随机7度3写的情况下905P比T700的成绩高出17倍以上,所以在Linux下重度负荷读写混合磁盘应用场景下傲腾优势还是很明显的,当年傲腾诞生的时候如果能够尽快出廉价版在数据中心市场特点很鲜明,后面停产确实可惜了,如果换成p5800的PCIE4.0傲腾估计4k随机性能还要更强。
目前AI领域无论文字生成图片的Stable diffusion还是Chat**一类的大语言模型,底层都基于transformers架构,所以transformers性能的高低很大程度上影响了目前生成式AI应用的性能,感谢李沐老师在github开源了transformers-benchmarks( https://github.com/mli/transformers-benchmarks),可以用它进行transformers的性能测试,由于测试成绩和驱动、cuda版本、Pytorch版本相关,所以以下测试成绩是在:
11
NVIDIA 550版本驱动,CUDA12.1,Pytorch2.2.2下测试的
22
33
测试结果汇总并且和主流AI卡对比如下:
| A100 | A6000 | V100 | 3090 Ti | 4090 | RTX 4000 SFF Ada | CUDA Cores | 6912 | 10752 | 5120 | 10496 | 16384 | 6144 | Theory TF32(FP32) / FP16 | 156 / 312 | 75 / 150 | 16 / 125 | 80 / 160 | 82.6/165.2 | 19.2/38.4 | Memory (GB) / Bandwidth (GB/s) | 80 / 2039 | 48 / 768 | 32 / 900 | 24 / 1008 | 24 / 1008 | 20/280 | Matrix Multiplication FP32 / FP16 | 116 / 230 | 60 / 95 | 14 / 95 | 42 / 81 | 86 / 172 | 10.8/40.4 | Vector Multiplication (TFLOPS) | 0.202 | 0.082 | 0.098 | 0.107 | 0.117 | 0.035 | Bert Layer Forward / Forward+Backward | 110 / 136 | 60 / 70 | 53 / 64 | 56 / 62 | 99 / 109 | 27/34 | **-2 Layer Forward / Forward+Backward | 45 / 53 | 35 / 38 | 32 / 36 | 37 / 39 | 48 / 54 | 13/16 | T5 Encoder Forward / Forward+Backward | 44 / 56 | 34 / 41 | 31 / 38 | 36 / 41 | 47 / 55 | 12.5/14.6 |
在多轮AI测试中显卡温度66度如图:
总结:BD790i的U应该就是限制功耗和缓存的7950X的旗舰移动U性能非常满意。RTX 4000 SFF Ada这块卡游戏性能在3070到3070Ti之间,如果开光追和DLSS3性能还要强上不少,整体这台AI PC温度、噪音和稳定性都还不错,在下一代NPU能堪大用之前GPU还是目前AI PC必须要考虑的方案,而且20G带ECC显存和70W半高的设计是一块兼顾空间合格的推理卡,轻度AI开发足够了,重度训练现在还是离不开云端算力,大家可以去AUTODL上去租用比腾讯和阿里云的GPU云便宜很多,就是有时候不太容易抢到。以上的SSD Fio测试和transformers-benchmarks提供了脚本和链接,有兴趣的同学也可以自己测试一下自己的机器具体什么性能。
|