找回密码
 加入我们
搜索
      
查看: 9494|回复: 43

[装机] 半块RTX4090 玩转70B大语言模型

[复制链接]
发表于 2024-7-20 18:00 | 显示全部楼层 |阅读模式
本帖最后由 awpak78 于 2024-7-20 18:00 编辑

自Chat**发布以来,隔三岔五就有人宣称又在多么没门级的硬件上成功运行了大模型
但只要点进详情就会发现要么模型小得可怜,要么速度慢得没有实用价值

而我的目标是,半块RTX4090的预算,70B档次的量化模型,以及与在线AI相当的流畅对话!



语言模型和以往 AI 模型最大的不同在于,70B 模型量化后仍需 40G 起步的显存要求,让多卡推理成为所有人都不得不面对的问题。

如果你和我的老板一样有钱,但又没有土豪到梭哈 A100 服务器的水平,在斥巨资购入双卡 4090 “工作站”,用 llama.cpp 尝试了各种模型后就会发现,两张 4090 似乎只分担了显存占用,几乎没有加速文字生成的效果。

V0012.00_01_14_46.Still001.jpg

实际上 llama.cpp(以及ollama等) 的多卡方案很简单,就是将模型前后拆开,分别装进两张显卡,单卡显存不足的问题就迎刃而解了。但是,这也带来了一个新问题:输入的文字需要与每一层模型运算才能得到下一个字,这就意味着两张显卡永远在交替工作!这就是流水线并行, 只解决了能不能跑的问题,对对话速度完全零提升。

V0012.00_01_29_08.Still002.jpg

那么,多卡如何才能全力跑起来70B大语言模型呢?答案是,使用张量并行。理论上能达到两张 4090 24G 融合出 8180 48G 的效果,就算通信损耗多一点,也比 4090 48G 强多了。因此,张量并行也是企业级推理框架的标配。

V0012.00_02_27_17.Still003.jpg

在硬件方面,我们需要用尽量少的钱凑齐至少 40G 显存,过得去的核心性能,以及满足张量并行的互联通信能力。不到 1000 元的 Tesla P40 已经火过一轮了,但很遗憾,它除了 24G 显存外一无是处。现在流行的 AIGC 模型,无论图形还是文字,都需要 FP16 运算能力,即便是量化为 int4 的模型,也只是量化权重,嵌入向量从输入到输出始终都是 FP16 精度,全过程需要的是输出 FP16 结果的混合精度运算。而 P40 完全不支持 FP16,正好站在硬件 FP16 支持门槛上的正是P40的兄弟P100

V0012.00_04_13_06.Still004.jpg

GPU 间高速通信大部分人第一反应就是 NVLink,但只推理不训练并不需要大带宽处理反向传播和参数更新。只需要显卡之间以尽可能低的延迟交换几十 KB 计算结果。

这时候就要请出大家熟悉的老朋友 PLX。PLX 只是一个品牌,这类能扩展 PCIe 通道的芯片统称 PCIe Switch。虽然这玩意儿大部分时候都被用来无脑扩展 M.2 硬盘位了,但既然它叫 Switch 而不是 Hub,就意味着它不仅能扩展 CPU 下游的 PCIe 通道数量,更能允许其扩展的 PCIe 设备之间直连通信

V0012.00_04_45_40.Still006.jpg

通过计算卡加 PLX 的组合显卡间互讲悄悄话完全不经过 CPU,访问延迟可以干进 1.5us,达到 NVLink 同一水平,远快于RTX4090走内存复制的 10us

V0012.00_05_00_34.Still007.jpg

最后,我选择了超微 4028GR 准系统,得益于不知道哪里机房的大规模下架,PCIe Switch 底板,双层 8cm 散热风墙,2000W 钛金认证电源,全套 5500 块一站搞定。虽然没有 100 元大战 LOL 那样的极致操作,但在挥金如土的 AI 领域也算是性价比拉满了。

V0012.00_05_52_34.Still008.jpg

为了实现张量并行,我们还需要一个老硬件友好的张量并行框架 —— MLC LLM。经过格式转换、量化、编译后,以最新的 Qwen2-72B-Instruct 模型为例,int4 量化后短对话在这架航班上达到了 22tokens/s 的流畅对话。在统一生成 4096 长内容的速度测试中,平均速度达到了 13.1 tokens/s。相当于用 A100 80G 显卡价格的零头,跑出了近一半的性能。

V0012.00_06_45_59.Still009.jpg

回到视频开始的挑战,只要在装机单上适当优化,砍掉不必要的高配 CPU、大内存和固态阵列。无论是比单显卡部分还是整机总价,都能称得上是半块 4090,玩转 70B 大模型

V0012.00_07_24_22.Still010.jpg

如果再过分一点,按矿机的标准对待未来的硅基老婆,还能更省。随便什么亮机U,配上亮机主板。再加上由 OLDMONSTER 设计的开源 PLX 扩展卡。现在一块 4090 的预算已经够抱 3 套整机回家,直接开建数据中心了。

V0012.00_07_40_38.Still011.jpg

估计前面已经有不少人刷电表倒转了,不过非常反直觉的一点是,P100 其实相当省电。当年正值老黄站在继续堆 FP64 专攻科学计算、数值仿真,还是转向 FP16 押注人工智能、AI 大模型的十字路口。在 P100 的构架中,绿色的 FP32/FP16 核心,和黄色的 FP64 核心平分秋色,Tensor Cores 更是还在娘胎里。

V0012.00_07_53_20.Still012.jpg

所以 250W 的标称 TDP 虽然看起来不低,但实际运行 AI 时候很少能达到这个数,大部分时候都在 120W 左右跳动,4 块运行 AI 的 P100 加一起,才略超正在全力光追打游戏的 4090。

V0012.00_08_17_21.Still013.jpg

加上服务器标配的钛金效率电源加持,整机功耗空闲 350W,对话 700W。虽然没法和 NAS、一体机比节能,但至少和高端游戏 PC 仍然是一个档次的东西。不至于点亮插线板。




以上文字版内容由跑在这坨 4x P100 上的 Llama-3-70B-Instruct-q4f16_1-MLC 模型辅助完成,可能略有抽风

评分

参与人数 2邪恶指数 +15 收起 理由
猪圈 + 10 就是NB
烨庆 + 5 就是NB

查看全部评分

发表于 2024-7-20 18:12 | 显示全部楼层
这套方案自己折腾着玩玩可以,真要放生产环境里运维得累死
家庭小作坊个人感觉还是单4090或者双3090nvlink更好
发表于 2024-7-20 18:19 | 显示全部楼层
我4090+64g ddr5跑72b的q4只有1t/s多一点
发表于 2024-7-20 18:23 来自手机 | 显示全部楼层
manwomans 发表于 2024-7-20 18:19
我4090+64g ddr5跑72b的q4只有1t/s多一点

显存不够 需要不停载入参数到显存  io开销和延迟太大了
发表于 2024-7-20 18:25 | 显示全部楼层
zcyandrew 发表于 2024-7-20 18:12
这套方案自己折腾着玩玩可以,真要放生产环境里运维得累死
家庭小作坊个人感觉还是单4090或者双3090nvlink ...

性价比 双3090最好 就是3090现在矿太多
 楼主| 发表于 2024-7-20 18:27 | 显示全部楼层
zcyandrew 发表于 2024-7-20 18:12
这套方案自己折腾着玩玩可以,真要放生产环境里运维得累死
家庭小作坊个人感觉还是单4090或者双3090nvlink ...

硬件倒是没什么问题,CPU的ECC和显卡的ECC都没有报错

还是软件的BUG太多了,最近vllm也支持Pascal老卡了我试试能不能好点
发表于 2024-7-20 18:28 | 显示全部楼层
P100的FP16性能18T……

这4张加起来打不打得过INT8总计120Tops的LNL(FP16也许60T)?
 楼主| 发表于 2024-7-20 18:29 | 显示全部楼层
af_x_if 发表于 2024-7-20 18:28
P100的FP16性能18T……

这4张加起来打不打得过INT8总计120Tops的LNL(FP16也许60T)? ...

除非你去给LNL焊上HBM内存
发表于 2024-7-20 19:12 | 显示全部楼层
科学计算里面GPGPU加速对模型的要求太高了,在abaqus中只有标准隐式求解器可以用,其他情况都是CPU默默的扛下了所有

也不难想老黄为什么转向半精度计算
发表于 2024-7-20 19:40 | 显示全部楼层
牛!!!!!!!!
发表于 2024-7-20 19:57 | 显示全部楼层
感受到了当年diy的乐趣  ,应该说乐趣大于应用吧
发表于 2024-7-20 20:48 | 显示全部楼层
hanyou7 发表于 2024-7-20 18:25
性价比 双3090最好 就是3090现在矿太多

3090背板显存发热太大,玩游戏夏天有时候都可能热到花屏。
发表于 2024-7-20 21:01 来自手机 | 显示全部楼层
比起红蓝站队大战,这才是更具DIY精神的一集,根据自己的需求选择合适的硬件
搞得我也想捡垃圾试试了
发表于 2024-7-20 21:25 | 显示全部楼层
怎一个牛字了得
发表于 2024-7-20 21:56 | 显示全部楼层
这套方案最大的问题是开机以后散热噪音起飞
不带降噪耳机人会受不了
发表于 2024-7-20 22:03 | 显示全部楼层
心痒痒的搞一套?但是不知道干嘛?
做询证医学?
发表于 2024-7-20 22:12 来自手机 | 显示全部楼层
PLX的用法长见识了,牛
发表于 2024-7-21 01:08 | 显示全部楼层
G-P-T4o mini的API很便宜了,web版也免费了,自己折腾意义不大了......
发表于 2024-7-21 01:37 来自手机 | 显示全部楼层
本帖最后由 用户 于 2024-7-21 02:17 编辑

谁能拿8490H+amx跑一个比比,现在单路8490H好像7000人刀能拿到了

双路8490H功耗高点,但不会有显存焦虑
发表于 2024-7-21 01:55 | 显示全部楼层
本帖最后由 ljy1414 于 2024-7-21 01:58 编辑
dsanke 发表于 2024-7-20 22:12
PLX的用法长见识了,牛


lz这个有点看不太懂,大佬能不能帮忙翻译一下

相当于lz买了一个带plx的拆分卡,然后把P100插在转接出来的PCIE,避免延迟?
发表于 2024-7-21 04:06 | 显示全部楼层
现在的大模型还用不上TensorCore吗?如果用得上的话P100算力应该没有优势啊。
发表于 2024-7-21 06:53 | 显示全部楼层
性价比最高的是3090,能耗比加性价比综合最佳的是咸鱼收一台m1 ultra

发表于 2024-7-21 09:58 | 显示全部楼层
ljy1414 发表于 2024-7-21 01:55
lz这个有点看不太懂,大佬能不能帮忙翻译一下

相当于lz买了一个带plx的拆分卡,然后把P100插在转接出来 ...

plx相当于交换机啊,就比如说路由器底下连着交换机,交换机连着两台电脑,这两台电脑互传数据是不经过路由器的,延迟降低,并且上层没有负载。。

PLX就这样,两个显卡传数据不经过CPU,这样CPU负载就低多了。。。

延迟最高的一种情况就是双路CPU分别负责两个显卡,这样不仅经过CPU,还经过CPU的互联总线,延迟可以高到爆表
发表于 2024-7-21 10:06 | 显示全部楼层
rico19375 发表于 2024-7-21 09:58
plx相当于交换机啊,就比如说路由器底下连着交换机,交换机连着两台电脑,这两台电脑互传数据是不经过路 ...

懂了,所以PLX卡也是LZ这套配置当中需要花多点$$的必要设备
发表于 2024-7-21 10:39 | 显示全部楼层
ljy1414 发表于 2024-7-21 10:06
懂了,所以PLX卡也是LZ这套配置当中需要花多点$$的必要设备

其实如果双卡x16或者四卡x8,不用买这套平台,以前有不少老旗舰就是带PLX的,z77,z87,z97都有
发表于 2024-7-21 10:42 | 显示全部楼层
rico19375 发表于 2024-7-21 10:39
其实如果双卡x16或者四卡x8,不用买这套平台,以前有不少老旗舰就是带PLX的,z77,z87,z97都有 ...


我只是在想用屏蔽嘉的X99服务器主板 + 2696V3,是不是有搞头

主要是P100散热问题,可能要买3D打印支架的套装改散热
发表于 2024-7-21 10:47 | 显示全部楼层
ljy1414 发表于 2024-7-20 21:06
懂了,所以PLX卡也是LZ这套配置当中需要花多点$$的必要设备

要不是老黄故意阉割SLI/nvlink哪有这些东西什么事啊。当然老黄也是为了把带nvlink的显卡卖多一位数
发表于 2024-7-21 22:37 来自手机 | 显示全部楼层
只要空间够,不怕吵,有的是洋垃圾可以折腾啊
发表于 2024-7-21 22:42 | 显示全部楼层
zcyandrew 发表于 2024-7-20 18:12
这套方案自己折腾着玩玩可以,真要放生产环境里运维得累死
家庭小作坊个人感觉还是单4090或者双3090nvlink ...

4028GR基本上就是那个时代的生产环境No 2-3了。。。。。
甚至可以一定程度摸到No1。。

不管配什么卡,一套正经的平台都非常重要。。。
发表于 2024-7-22 08:45 | 显示全部楼层
本帖最后由 搞基薛定谔 于 2024-7-22 08:47 编辑

家里现在的双4090可以跑 llama3:70b 到1625tok/s左右。基本够用了。
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

Archiver|手机版|小黑屋|Chiphell ( 沪ICP备12027953号-5 )沪公网备310112100042806 上海市互联网违法与不良信息举报中心

GMT+8, 2024-11-23 05:11 , Processed in 0.018367 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2007-2024 Chiphell.com All rights reserved.

快速回复 返回顶部 返回列表