ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

为什么大模型要跑在 GPU 主机上?CPU 主机行不行?

为什么大模型要跑在 GPU 主机上?CPU 主机行不行? 一、先理解清楚概念GPU、显卡、显存与大模型参数1. GPU 是芯片显卡是板子显存是显卡上专用的内存很多人把 GPU 和显卡混着叫。其实严格说它们是三样不同的东西而且和一台主机里的部件一一对应CPU主机GPU主机各自的职责CPU芯片GPU 芯片大脑负责算内存显存VRAM给「算」的那颗芯片放数据主板显卡 PCB 板把芯片、存储装在一起所以可以这样理解GPU是一块专门负责并行计算的芯片相当于主机里的 CPU显卡是一块把 GPU、显存、供电、散热装在一起的电路板相当于一台完整的「主机」显存是显卡上专用的内存用来给 GPU 放要算的数据相当于主机里的内存。也就是说GPU 是芯片显卡是板子显存是显卡上专用的内存。所谓 GPU 主机就是插了很多张专业 GPU 显卡的服务器。它同样有 CPU、内存、硬盘、网络重点在于插了 1 张、4 张、8 张甚至更多 GPU 卡。平时说「这台机器配置了 8 卡」意思就是里面插了 8 块 GPU 显卡。2. CPU 主机 vs GPU 主机差在核心与存储的配比对比CPU 主机GPU 主机计算核心几十个擅长复杂逻辑几千个擅长并行计算存储内存容量大但带宽相对低显存容量有限但带宽极高适合任务调度、逻辑、串行矩阵乘法、AI 训练 / 推理跑大模型能跑但极慢适合但要看显存和多卡显存没有独立显存或共享内存每张卡有自己的显存多卡扩展一般不靠多 CPU 并行多 GPU 分片、并行典型场景办公、数据库、普通服务大模型、渲染、科学计算用这个视角几个老问题就顺了为什么 GPU 比 CPU 快这么多架构是同一套差在配比CPU 是「少数强核 中等带宽的内存」GPU 是「几千个弱核 高带宽的显存」。为什么显存这么重要就像内存决定你的电脑能同时开多少程序显存决定能放多大的模型。内存不够程序会卡甚至崩显存不够模型根本装不进去。核显和独显的区别也用这个视角一眼能看懂集成显卡核显把一块小 GPU 直接塞进 CPU 芯片里它没有自己的显存只能和 CPU 共用主机内存独立显卡独显单独一块卡自带显存插在主板插槽上自己干自己的活。很多人说「我这电脑没 GPU」通常真正意思是没有独立显卡只有集成显卡。但现代电脑几乎都有 GPU否则连桌面显示、视频播放、浏览器加速都会很吃力。3. 显存里到底装了什么显存就是 GPU 的工作台。大模型跑起来显存里主要放三样东西模型权重模型本身的「知识」最大头KV 缓存聊天记忆越聊越长中间激活值计算过程中的临时结果。对应到普通电脑上这三样大致像「程序本体」「运行时的数据」和「临时的中间变量」。显存大小决定能放多大模型显存带宽决定 GPU 取数据算得快不快。所以 GPU 主机跑大模型不是只看「有没有 GPU」而是看三件事显存够不够大、带宽够不够高、多卡之间通信快不快。4. 大模型552B 和 552GB两个 B 不是一回事552B 里的 B 是 Billion十亿。所以 552B 5520 亿个参数。参数可以理解成模型里的「旋钮」或「记忆单元」—— 参数越多模型通常越大越强但也越吃显存。GB 里的 B 是 Byte字节。GB Gigabyte十亿字节是存储容量单位。所以552B数的是参数「个数」552GB数的是「占多少空间」。两者根本不是一回事千万别混。5. 552B 参数到底占多少显存这要看每个参数用多少字节来存。同样是 552B 参数换一种精度存显存需求能差 4 倍精度每个参数占552B 参数大约占FP162 字节约 1104 GB也就是约 1.1 TBFP8 / INT81 字节约 552 GBFP40.5 字节约 276 GB注意这只是模型权重。实际跑起来还要放 KV 缓存、中间结果、框架开销所以真实占用更大。一张常见的企业卡是 80GB 显存。552B 参数用 FP8 存光权重就要约 552GB至少 7 张 80GB 卡实际还要留余量通常 8 张或更多。用 FP16至少 14 张实际可能 16 张。这就是为什么大模型要「多卡部署」。6. 大模型跑起来时到底是 CPU 还是 GPU 在算这里纠正一个常见误解不是 CPU 从 GPU 显存里取模型内容去算而是 GPU 自己直接从显存里取模型内容去算。一次调用大概是这样用户发来一句话CPU 和推理程序把这句话处理成 token这些 token 被送到 GPU 显存里GPU 开始计算读显存里的模型权重和之前的 KV 缓存聊天记忆做矩阵乘法生成下一个 token结果写回显存再传回内存返回给用户。多卡时同理每张卡只读自己显存里的那部分权重卡与卡之间再通信交换结果。主机里是 CPU 从内存取数据来算显卡里就是 GPU 从显存取数据来算 —— 结构一样只是主角换了。二、为什么大模型需要部署在 GPU 主机上概念都清楚了答案其实就藏在两个词里装得进和算得快。1. 装得进显存容量是硬前提一个 552B 参数的大模型光模型权重用 FP16 存就要约 1.1TB 显存用 FP8 也要约 552GB。而一张企业级显卡的显存通常只有 80GB——一张卡连模型都装不进去更别提跑了。CPU 主机没有独立显存模型要么放内存里让 CPU 慢慢取要么根本放不下。所以第一步的「装得进」就把大模型指向了带大显存的 GPU。2. 算得快并行算力决定速度与吞吐就算把模型勉强放进 CPU 主机大模型的核心计算是海量矩阵乘法天生适合并行。CPU 只有几十个核心逐个算下去极慢GPU 有几千个核心可以同时开工速度差出几个数量级。落到实际使用上就是CPU 跑大模型生成一个 token 可能要很久同时服务不了几个用户GPU 才能做到低延迟、高吞吐。对生产环境来说算得慢就等于成本高、体验差。三、那 CPU 主机到底行不行能但要分情况。小模型、量化模型可以跑在 CPU 上。比如小参数模型、经过高度量化的模型配上 llama.cpp 之类的 CPU 推理框架在个人测试、边缘设备、极低成本场景下CPU 主机确实能跑只是速度慢、吞吐低。大模型跑在 CPU 主机上问题很大。如果模型很大比如 552B 这种级别CPU 主机基本不现实 —— 显存放不下、并行能力弱落到使用上就是速度极慢、吞吐低、生产环境不划算延迟高、成本高、体验差。四、总结大模型需要部署在 GPU 主机上核心就两个原因显存足够大模型才「装得进」核心足够多并行算力才「算得快」。单张卡装不下就多卡分片协同跑起来也是 GPU 自己从显存取数来算。CPU 主机能跑小模型但跑不快大模型的生产部署必须靠 GPU 主机。
返回列表