资讯动态

CPU/GPU/TPU/NPU/LPU:AI计算架构核心解析与选型实践

发布时间:2026/10/27 13:10:28 来源:尧图企业网站定制
前几天有个朋友找我聊天说准备买一台工作站跑本地的大模型微调预算三万上下问我到底该上什么卡。我脑子里马上冒出一长串问题你主要是训练还是推理模型多大并发量多少功耗和散热撑不撑得住他愣了半天说不就是选个算力大的吗这个想法我太熟悉了。这两年AI硬件市场热闹得不行CPU、GPU、TPU、NPU、LPU这几个词高频出现在各种评测和云服务套餐里很多人的第一反应是看算力数字、看显存大小很少有人意识到这五种架构是设计哲学完全不同的东西——它们解决同一个问题的方式、成本结构、适用场景天差地别。这篇文章我想把这五个词彻底讲透。不是简单报参数而是告诉你怎么根据自己的真实需求做判断。无论你是准备入手个人机器、给团队选云实例还是做端侧部署决策读完应该都能建立起一套自己的选型坐标。我会把每个架构擅长的东西、不擅长的东西、以及实际使用中才会暴露的坑一次说清楚。1. 先看清问题AI计算负载到底吃什么资源很多人搞混架构选型根源在于没有理解AI工作负载的本质特征。在讨论买什么之前先花几分钟把底层的计算需求拆开看后面所有决策都会变得清晰。1.1 矩阵乘法的统治地位现代深度学习模型不管是CNN、Transformer还是各类多模态架构核心计算量集中在矩阵乘法上。拿大语言模型来说一个token从输入到输出要经历几十层Transformer块每一层都有若干个巨大的矩阵乘法操作注意力机制的QKV投影、注意力权重与V矩阵的相乘、前馈网络的两次线性变换。这些操作本质上就是大量浮点数的乘加运算。以70B参数规模的模型为例生成一个token所需的计算量大约是模型参数量的两倍——也就是140 GFLOPs左右。如果生成2000个token合计就是280 TFLOPs的计算量。这个数字之大导致单纯靠CPU去算根本不现实算到天荒地老。但关键在于矩阵乘法的计算模式是高度规则且并行的。一个矩阵乘可以拆成成千上万个独立的乘加操作每个输出元素的计算互不依赖。这意味着只要硬件够多、并行度够高就能以极高的效率完成计算。这就是为什么AI硬件设计特别强调并行两个字。1.2 训练与推理在架构需求上的分裂这里有个经常被忽视的点训练和推理对硬件的需求其实是分叉的甚至可以说是两套逻辑。训练阶段是前向传播加反向传播的反复迭代。反向传播需要保存中间激活值对显存容量极其贪婪同时梯度更新又需要频繁的参数通信对芯片间互联带宽要求非常高。训练负载通常是批量处理可以大规模并行所以追求的是芯片间协同能力和持续计算吞吐。推理阶段则完全不同。在线推理要求逐token生成前一个token的结果会影响后一个token的输入这种顺序依赖导致推理很难被完全并行化。推理的实际瓶颈很多时候不在算力数字而在内存带宽——因为每生成一个token都需要把模型的全部权重从显存或内存中读一遍。举个直观例子一个70B模型在FP16精度下权重占显存约140GB即使带宽高达2TB/s的HBM3显存把权重全部过一遍也要70毫秒。这还没算计算时间纯读取就已经卡住了时延上限。这个权重搬运的特性直接决定了GPU、TPU、LPU这三类架构在推理场景下会走上完全不同的设计路线。理解了这两点就能明白为什么纯粹比拼算力数字没有意义你要么被内存带宽卡住要么被显存容量卡住要么被互联瓶颈卡住——五个架构各自的解法不一样踩坑的方式也不一样。2. 五种架构的设计哲学都是算力出发点完全不同这一节我会逐一拆解CPU、GPU、TPU、NPU、LPU的架构本质。注意这里讲的不是谁更强而是谁为什么这样设计。理解了design philosophy你才能知道哪种架构适合解决你的问题。2.1 CPU整机的大脑和调度中枢CPU是通用计算的核心它的设计目标是处理复杂、分支密集、依赖性强的工作负载。你写一段含大量if-else逻辑、循环、函数调用的代码CPU是第一个能高效执行的硬件。它靠的是强大的控制单元、深层的乱序执行逻辑、庞大的缓存层次结构。在AI场景里CPU的作用更像总指挥而不是主力工人。数据预处理、模型加载、任务调度、与外部系统交互这些环节都需要CPU来做。小规模模型推理或者对延迟不敏感的批量推理CPU也能跑只是效率偏低——因为CPU单核虽然很强但并行核心数相对少大规模矩阵运算能力天然不够。有一种常见误解是AI任务完全不需要CPU。实际上即使是最高端的GPU服务器CPU性能不够同样会拖后腿。数据在GPU和内存之间搬运之前总得先过CPU这道关卡。我自己在部署推理服务时吃过这个亏选了某款旗舰GPU结果CPU主频不够数据预处理慢了一截最终端到端时延被拉高了30%。所以别轻视CPU它决定了系统的上限之外的底盘。2.2 GPU为并行吞吐而生但代价是功耗与生态绑定GPU起初是为图形渲染设计的但它的大规模并行架构恰好撞上了深度学习的计算特性。一块GPU上有几千个计算核心每个核心都能同时执行简单的运算指令这让它在矩阵乘法这类高度并行的任务上效率极高。现代GPU还专门为AI加了私货组件。以某主流厂商的GPU为例它的Tensor Core可以在一个周期完成大量矩阵乘加运算配合FP16/BF16/FP8等混合精度支持让训练和推理的速度大幅提升。显存也从传统的GDDR演进到HBM系列带宽动辄几个TB/s这是大模型能装进去、权重能被快速读取的关键。GPU的弱点也很明显。第一功耗极高。一块旗舰级GPU满载功耗可以逼近400W甚至更高数据中心整柜功耗经常压到机房的供电子系统的极限。第二成本高。不仅卡贵配套的服务器、散热、机房租金都是大头。第三软件生态锁定。深度学习领域最成熟的加速库基本都围绕某一家GPU厂商构建一旦用了就很难迁移到其他硬件上这个后面我会专门展开讲。2.3 TPU类矩阵加速器把乘法做成流水线TPU这类芯片的出现是基于一个非常根本的观察既然深度学习工作量主要是矩阵乘法那为什么不让硬件为矩阵乘法做专门的优化与其用几千个通用核心去模拟矩阵运算不如在硬件层面直接实现一个脉动阵列Systolic Array。脉动阵列的核心思路是让数据在计算单元之间流动着完成运算减少数据搬运的次数。传统GPU的做法是每个计算单元自己去读取数据、计算、写回TPU的做法类似一条流水线权重和激活值像流水一样流过阵列沿途不断与行/列中的数据相乘并累加。这种设计大大减少了访存次数让计算单元可以更长时间地专注于计算所以在矩阵乘法这类规则计算上能效比远高于GPU。TPU在超大规模训练场景里的优势非常明显。训练大模型时计算资源的需求极其密集TPU的高效矩阵运算配合高带宽的芯片间互连可以在不牺牲过多功耗的前提下维持极高的训练吞吐。但它不完美。第一编程模型和生态相对封闭你熟悉的某些GPU加速库不一定能直接跑在TPU上需要专门的框架适配技术支持主要依赖于供应商的工具链。第二它强在矩阵乘这个大项但一旦负载里掺杂了大量非矩阵运算、动态分支或不规则访存优势就会被削弱。换句话说TPU是专才而不是通才适合场景单一、架构明确的超大规模训练项目。2.4 端侧NPU把模型塞进手机和嵌入式设备的关键NPU的全称是Neural Processing Unit但它的设计目标和TPU不太一样。TPU往往为了云端的高算力而生NPU更常见于手机SoC、IoT设备、车载芯片、摄像头模组这类功耗严苛的端侧场景。端侧AI负载有几个鲜明特点模型规模相对小通常几亿到几十亿参数、计算量有限、但对单位功耗的算力TOPS/W极度敏感因为它靠电池供电。此外端侧还讲究低延迟——如果你用手机做人脸解锁或实时翻译响应时间必须被压到几十毫秒内而且全程不能把数据传回云端否则既慢又涉及隐私问题。为此NPU通常采用异构计算架构在同一个设备里集成多种专用计算单元有的专门做卷积、有的处理Transformer里的矩阵乘、有的负责向量化激活函数运算。配合INT8甚至INT4量化技术NPU可以在保证精度的前提下把计算量降到FP16的几分之一大幅提升能效。我给一个直觉参考一块旗舰手机上的NPU算力可能在30-50 TOPS左右听起来还不如一块GPU的零头但它的功耗可能只有几瓦。一块几百瓦的GPU在手机上完全不可行所以NPU的价值不在于绝对算力而在于**够用且省电**。如果你在做移动端AI应用、边缘盒子或者嵌入式视觉检测NPU几乎是唯一现实的选择。2.5 LPU类LLM专用处理器从训练很重转向推理很快LPU这一类架构是最近一年多才开始频繁出现的主要是针对大语言模型推理延迟所做的极致优化。它的核心洞察是推理时的瓶颈不在算力而在显存带宽和权重读取效率。前面提到过推理过程中每个token都需要把模型权重读一遍。如果芯片的存储体系设计得不够好那么大多数计算单元会处于等待数据的闲置状态。LPU的思路是把大量SRAM做成片上缓存把权重尽可能塞进离计算单元更近的地方减少对片外DRAM的依赖从而大幅降低权重读取的时间。这种设计的直接效果是在纯LLM推理场景下每token生成的时延迟可以做到很低特别适合需要快速响应、低并发、小批量交互的场景。你可以把它理解成为对话式AI专门定制的快速通道。但LPU现阶段有不少局限。第一生态还很新模型格式和推理框架的支持远不如GPU生态成熟遇到新模型可能需要等社区适配。第二它只擅长推理训练能力没法跟GPU比。第三如果负载变成超高并发、超大batch的离线批量推理LPU省带宽的优势可能会被其他瓶颈盖过。所以它在整个架构坐标系里的定位是窄而深——特定场景下的尖兵而不是全能选手。为了让大家能直观看清区别我把这五种架构的关键差异整理成了一个对比表架构设计目标核心擅长主要弱点典型使用场景CPU通用逻辑控制控制流、分支密集任务大规模并行矩阵运算效率低系统调度、数据预处理、小模型推理GPU大规模并行计算训练与推理通用生态最成熟功耗高、成本高、生态锁定训练主力、云端推理、通用AI加速TPU类定向加速矩阵乘法超大规模训练的吞吐与能效定制化强、生态封闭、特化于单一操作大模型预训练、数据中心专用负载NPU端侧低功耗推理单位功耗算力极高量化支持好绝对算力有限适合模型较小场景手机、IoT、边缘视觉、端侧语音LPU类LLM推理极致低延迟权重读取效率高时延低只擅长推理飞训能力弱生态新对话式AI在线推理、轻并发场景这张表只是一个起点。真实项目里没有人只选一个架构大多数系统都是CPUGPU或者CPUNPU的组合搭配。规划任何一个AI基础设施时先分清主算力和辅助算力再按场景对号入座会省掉很多折腾。3. 真实选型坐标不同玩家、不同阶段到底该怎么选光看懂架构还不够因为选型永远是在需求、预算、人力、业务阶段的约束下做权衡。我把选型拆成四个典型场景来聊大规模训练、在线推理服务、端侧边缘部署、个人与中小团队分别给出决策依据。3.1 大规模训练算力之外互联和显存才是隐形天花板如果你要做的是模型预训练或者持续的大规模微调最核心的指标不是我常听人说的单卡算力有多高而是以下三件事第一显存容量。模型参数、优化器状态、梯度、中间激活值全都要放进显存。按照经验估算训练一个7B参数的模型FP16混合精度下显存需求大约在50-80GB70B模型单靠一张卡很难放下基本都要走张量并行或多卡分片。显存不够再强的算力都是空转。第二芯片间互联带宽。多卡训练的核心假设是梯度同步和激活传递足够快。如果卡之间的NVLink这类高速互联带宽不足或者干脆走PCIe总线那么训练吞吐会被通信严重拖累。我见过一个小团队用8张高性价比消费级显卡琢磨着搞张量并行结果因为PCIe带宽太低通信时间占了整个迭代时间的60%以上整体吞吐还不如两张中高端数据中心卡来得快。第三软件栈的成熟度。分布式训练框架、混合精度策略、故障恢复机制是否稳定直接决定了你的团队是三天跑通还是三条天天熬夜。在这件事上生态更成熟的GPU架构确实有压倒性优势这也是为什么绝大多数训练集群最终都落在GPU上的原因。所以大规模训练场景的选型我的建议非常简单粗暴在预算允许的范围内优先保证每张卡的显存足够容纳模型主体同时重点考察卡间互联方案再验证一下团队最依赖的训练框架是否对该硬件做了充分适配。至于TPU这类架构除非你有专门的工程团队去解决生态适配问题否则不要随意踏入。3.2 模型推理服务吞吐、时延、成本三者的取舍如果说训练是把饼烙大那推理就是把饼卖好。推理服务的选型逻辑和训练差别很大我会按三个维度来判断时延敏感型。比如智能客服、语音交互、代码补全这类在线服务用户等待超过1秒就会明显感到卡顿。这种场景按照经验应该优先选择带宽高、权重吞吐快的硬件。GPU是稳妥之选LPU这类架构在纯LLM推理时延上可能有惊喜但要提前验证你的模型格式和推理框架是否已适配到生产级质量。吞吐优先型。比如离线批量分析、内容审核、日志总结这类负载不要求单条响应快而是要单位时间内处理尽可能多的请求。这时就可以加大batch size并发计算硬件的算力利用率会成为关键。GPU在这类场景依然是绝对主力因为它能同时处理大量请求配合成熟的推理优化工具可以把吞吐做到很高。成本敏感型。推理是一项长期持续性开销和训练这种一次性投入不一样。如果业务对延时不那么苛刻可以考虑CPU批处理或选用更小规模的GPU实例也可以用模型量化加蒸馏的方式缩小权重体积让更多请求压进同一张卡。我还见过不少团队通过GPU做在线主力、CPU承接削峰填谷、端侧NPU承接简单重复请求的混合部署来摊薄成本效果很不错。还有一点容易被忽略推理服务要计算的是整机成本和收益。有些人习惯只盯着单张卡的算力结果买了一张特别贵的卡每天只有两三个小时的峰值负载剩余时间都在闲置——这时它的单位成本效率反而不如按量付费的云实例。做推理选型前先看一下负载曲线和日请求量再做决定。3.3 端侧与边缘部署功耗比和量化支持是第一约束如果你的目标是把AI模型部署到手机App、摄像头、智能音箱或者工控设备上那NPU基本是绕不开的主角。端侧场景的选型逻辑可以总结成一句话在预算功耗内找到算力够用、工具链齐全的方案。说几个前端开发者常踩的坑。第一个坑是只盯着NPU顶尖的TOPS数字忽视了真实模型跑起来能否充分利用算力。很多时候模型的算子图里有大量np缓冲和内存搬运NPU的标称算力被闲得发慌。第二个坑是量化精度损失被低估。端侧NPU几乎都是INT8/INT4为主如果你的模型对精度极度敏感比如医学影像或者工业质检一刀切量化可能会让效果崩盘最好在选型前做一个量化的端到端效果验证。第三个坑是NPU驱动和编译器的成熟度。同一套模型在GPU上能跑到了NPU上可能需要做算子适配、内存调优工作量不容小觑。实际操作中我建议先选定一两款搭载不同类型NPU的开发板和设备把量化后的模型端到端跑通、测真实功耗和真实时延再决定是否量产。标称参数的参考价值有限只有实测数字才是决策依据。3.4 个人开发者与中小团队租用、通吃方案与混合部署最后聊一下预算有限的情况。个人搞大模型、做本地演示、跑中小规模微调我的建议是分三档来考虑。第一档预算1-2万。选一张24GB显存左右的GPU就够了。它基本能覆盖7B到13B模型的推理和LoRA微调。别追求高算力小显存的卡显存不够时你连最小的大模型推理都做不了还谈什么性能。第二档预算5-10万。可以考虑双卡或四卡的小型工作站同时配上足够的内存和海量SSD。训练小模型或做多卡LoRA微调基本没有太大压力。这个阶段比起提升单卡性能更值得把预算花在互联方案、散热和供电稳定性上因为小型化环境最容易在这里翻车。第三档不买卡租云。如果不是每天都跑重负载训练我更建议按量租用云端GPU实例。把省下来的钱花在调试效率和数据方案上。很多人有一种买卡一次投入比租云便宜的错觉实际算上电费、折旧、维护、闲置率云往往是更优解。你自己算一笔账对比一个月的实际使用时长答案会很清楚。此外如果你是做独立产品或者小型AI服务GPUCPUNPU的混合部署可能是兼顾成本与体验的路线主力交互模型放GPU或LPU类服务上高频简单任务丢到CPU端侧App再内置NPU推理做秒级响应。三种架构各管一段总比把所有负载都压在一个架构上更合理。4. 我踩过的几个坑性能评估与架构认知的误区写这一节之前我在心里翻了翻过去几年的真实项目经历挑了四个最有代表性的失误和误判来聊。这些坑如果你提前知道至少能帮你在做选型时少走几周弯路。4.1 只盯FLOPS忽略内存带宽导致的荒谬结论大概是两年前我在做一个模型推理性能测试项目当时拿到的两块候选硬件标称算力数字上有一块明显高出近一倍。按很多评测博主的思路应该闭眼选算力高的。结果真把同一个70B模型跑起来高算力那块卡的每token生成速度只比低算力卡快了不到20%。复盘时才发现这个模型在推理时内存带宽早已成为瓶颈算力根本没有被充分用上。很多情况下模型越大、batch越小、精度越高带宽瓶颈越严重。FLOPS这个指标只是理论峰值衡量的是一个芯片在纯计算时能有多快而真实负载往往是存储受限的。从那以后我给自己定了一条规矩评估推理性能至少要看三个数字——算力FLOPS、显存带宽GB/s、软件栈实测结果。任何只看单一指标的评测都要打问号。4.2 把训练卡当推理卡用延迟与吞吐是两套指标曾经有个团队主攻在线客服机器人为了图省事直接买了几张顶级的训练用GPU来做推理。结果让他们惊讶的是$1600/张的专业显卡跑起在线对话的响应时延居然不如另一台普通消费级显卡配了精心优化的推理服务。原因在于训练卡大量显存和算力被用于支撑大batch和高吞吐但它们在做小batch、低延迟推理时反而会因为模型太大、权重读取链路复杂而导致额外开销。训练评测里用的指标大多是吞吐多少TFLOPs或者多少秒完成1000步而在线推理服务真正关心的是首token时延TTFT和每token时延TPOT。我的建议是架构选型时把训练负载和推理负载分开来做基准测试。不要用一套PPT式的参数去套两种完全不同的需求。训练阶段追求高吞吐推理阶段追求低时延高并发两者的优化目标和硬件偏好很可能指向不同的架构这正是LPU这类专用架构存在的意义。4.3 量化带来的精度回落在专用架构上会被放大NPU和LPU这类专用架构为了省电和提升算力往往把低精度计算做得很激进。但在实际项目里我发现量化精度的损失并不是一个恒定的东西它会随着模型的类型、任务难度、输入分布而剧烈波动。举一个真实的例子。我做过一个合同信息抽取模型在GPU上FP16效果极好准确率达到98.5%以上。后来为了部署到端侧设备我把模型量化成INT8后用NPU跑准确率掉到了96%左右。听起来差别不大但业务方要求的是错误抽取等于索赔风险1个百分点的下降都会被无限放大。最后我们不得不回到FP16 GPU方案重新调整部署策略。所以我的经验是只要模型涉及强业务风险、高精度要求、或者长尾分布明显的数据在决定使用NPU/LPU之前务必先做一个完整的量化效果实验。不要被量化只掉1%精度的漂亮话骗了1%在真实业务里可能是完全不可接受的代价。4.4 生态锁定比硬件本身更难换我在早期做过一个项目从零搭了一套基于某GPU架构的深度学习推理流程框架选型、算子优化、部署脚本全部围绕那个生态做了深度绑定。后来因为成本和供货原因试图迁移到另一类硬件结果连框架支持都要打补丁很多算子跑不起来的怪问题一一浮现。一套原本能跑的成熟的系统迁过去用了整整一个多月才勉强稳定下来。这件事让我学会了一个重要的选型原则硬件成本只是第一部分迁移成本往往被低估。如果你在某个架构上积累了大量工具、脚本和团队经验轻易换架构的沉没成本可能是惊人的。选型决策时一定要把现有团队的技能栈开源社区对该架构的支持程度工具链的成熟度放进权重里。GPU生态最成熟所以大家总选择它不是没有道理的因为它能帮你省下最多的工程时间。5. 拿不准时的一步从工作负载反推架构讲到这里你可能会觉得信息量有点大。那如果我还是不知道怎么选怎么办我的做法是先别急着对号入座而是把选型变成一道反推题从工作负载出发逐步把候选架构过滤出来。5.1 一个简单的决策流程我给自己定了一个五步走的评估流程每次做架构选型时都会过一遍明确负载类型是训练、微调、在线推理还是离线批处理确认精度与量化容忍度模型能接受FP16、INT8等哪一级精度推算显存/内存需求模型参数、激活值、优化器状态加起来需要多大容量量测时延与吞吐目标响应时间、并发数、日均请求各是多少评估团队工程能力与生态匹配度你们对哪套工具链最熟悉有没有专门的人能处理不常用架构的适配问题做完这五步再回到我上面给出的那四种经典场景基本上候选架构就缩小到一两个了。比如一个7B模型、在线服务、100并发、需要快速迭代的需求大概率落在GPU或LPU类的区间一个1B模型、端侧App、离线运行、INT8可接受的需求则应该明确指向NPU。5.2 实际案例模拟项目X的两次架构切换最后分享一个我最近在做的小项目的真实经历项目代号叫模拟项目X——一个轻量级的智能文档问答助手。一开始我图省事直接买了块中端GPU做推理时延和成本都还算能接受。但业务扩张后日请求量从几千涨到了几十万GPU的按量成本开始让我吃不消。第一次切换我把高频的摘要类请求拆出来跑到了CPU批处理队列上用异步任务池削峰填谷。效果非常明显GPU负载降了四成CPU资源利用率从10%提到了70%左右整体账单下降了接近三分之一。第二次切换我把端侧App里嵌了一个1.8B蒸馏小模型用NPU做本地推理只把低置信度、需要高精度的超长文档任务传回云端GPU。配合INT8量化端到端时延从之前无线网络波动影响的2秒多降到了本地瞬时响应的0.3秒左右。用户体验提升巨大云端推理成本又砍了一截。这个项目让我深刻体会到一件事选型不是一次定终身而是一个持续优化的过程。没有哪个架构是永远的最优解关键在于每个阶段都搞清楚当前的真实瓶颈在哪然后针对性地调整计算资源的分配。最后再给一个小技巧。无论你是选GPU、NPU还是LPU在最终下单或者租用之前都先用手头最小可复现的负载跑一个基准测试。别只看厂商的performance报告那些数字在理想条件测出来的比例往往和你的真实负载差距很大。拿同一个模型、同一组请求、同一个量化方式分别跑一轮自己手里有数了再付钱也不迟。这套方法我用了很久稳得很。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑