半块RTX4090 玩转70B大语言模型
自ChatGPT发布以来,隔三岔五就有人宣称又在多么没门级的硬件上成功运行了大模型
但只要点进详情就会发现要么模型小得可怜,要么速度慢得没有实用价值
而我的目标是,半块RTX4090的预算,70B档次的量化模型,以及与在线AI相当的流畅对话!
语言模型和以往 AI 模型最大的不同在于,70B 模型量化后仍需 40G 起步的显存要求,让多卡推理成为所有人都不得不面对的问题。
如果你和我的老板一样有钱,但又没有土豪到梭哈 A100 服务器的水平,在斥巨资购入双卡 4090 “工作站”,用 llama.cpp 尝试了各种模型后就会发现,两张 4090 似乎只分担了显存占用,几乎没有加速文字生成的效果。

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

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

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

GPU 间高速通信大部分人第一反应就是 NVLink,但只推理不训练并不需要大带宽处理反向传播和参数更新。只需要显卡之间以尽可能低的延迟交换几十 KB 计算结果。
这时候就要请出大家熟悉的老朋友 PLX。PLX 只是一个品牌,这类能扩展 PCIe 通道的芯片统称 PCIe Switch。虽然这玩意儿大部分时候都被用来无脑扩展 M.2 硬盘位了,但既然它叫 Switch 而不是 Hub,就意味着它不仅能扩展 CPU 下游的 PCIe 通道数量,更能允许其扩展的 PCIe 设备之间直连通信

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

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

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

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

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

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

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

加上服务器标配的钛金效率电源加持,整机功耗空闲 350W,对话 700W。虽然没法和 NAS、一体机比节能,但至少和高端游戏 PC 仍然是一个档次的东西。不至于点亮插线板。
文字版内容部分由跑在这坨 4x P100 上的 Llama-3-70B-Instruct-q4f16_1-MLC 模型辅助完成,可能略有抽风
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

一般路过等等党
实测大战yi-1.5-34B的时候空载90w对话480w,还行,550w乞丐电源就能轻松应付
校验提示文案
vcta
校验提示文案
originoore
校验提示文案
老周师傅
校验提示文案
值友7313518908
校验提示文案
nextcar
校验提示文案
此曲传世逍遥
校验提示文案
我的曾曾曾曾祖父
校验提示文案
Hello生活
校验提示文案
dirstar
校验提示文案
若乘闲月
校验提示文案
小敏敏大明明
校验提示文案
爱如潜水
校验提示文案
上帝要包邮
校验提示文案
狐斯基
校验提示文案
年轻的大天才
校验提示文案
狐狸穹
校验提示文案
chocolatefield
校验提示文案
热爱可抵漫长岁月
校验提示文案
苏珊小雪
校验提示文案
woshishui---
校验提示文案
值友8675553924
校验提示文案
值友8352643034
校验提示文案
值友8352643034
校验提示文案
值友2998211023
校验提示文案
陈靖仇123
校验提示文案
originoore
校验提示文案
值友3204687517
校验提示文案
特长特长特长
校验提示文案
啃个橘子
有好几个问题,这个机器有训练能力吗,推理指的是什么?这篇文章是它辅助完成的吗?看完文章总觉得少了一部分内容,就是使用它的过程,如果可以讲解下这台机器如何使用70B大语言模型,就方便理解了。
校验提示文案
苏珊小雪
校验提示文案
热爱可抵漫长岁月
校验提示文案
chocolatefield
校验提示文案
狐狸穹
校验提示文案
年轻的大天才
校验提示文案
狐斯基
校验提示文案
上帝要包邮
校验提示文案
爱如潜水
校验提示文案
小敏敏大明明
校验提示文案
若乘闲月
校验提示文案