尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
CPU、GPU、NPU、TPU深度解析:AI芯片选型底层逻辑
这几年总有人问我“你到底是做AI的还是做芯片的为什么又是CPU又是GPU还冒出来NPU、TPU名字都长得差不多到底有啥区别”说实话这问题放在五年前还算冷门放在今天已经是每个搞大模型、做端侧AI、甚至想给电脑配个好显卡的人都躲不开的话题。AI时代算力就是硬通货而市面上绝大多数算力都由这四类芯片提供CPU、GPU、NPU、TPU。很多人看厂商发布会CPU在吹多核GPU在吹浮点NPU在吹TOPSTPU在吹云端集群越看越晕。这四类芯片到底是不是同一回事肯定不是。它们各自的出发点、硬件结构、适用场景差异非常大。这篇文章我想结合自己这些年在模型训练、推理部署、端侧加速上的实际经验把这四类AI硬件的差异化之路完整捋一遍。不搞那种参数罗列而是讲清楚底层逻辑为什么AI时代需要它们四种不同的“脑子”以及选型时你到底该看什么。1. AI计算的底层逻辑为什么大家都要围着矩阵转1.1 无论CPU还是TPU算的都是同一道题先想一个问题AI计算到底在算什么以今天大模型最核心的Transformer架构为例整个网络往前推一次绝大部分时间花在两个地方一个是矩阵乘法GEMM一个是注意力机制里的Q、K、V矩阵运算。卷积神经网络虽然名字里是“卷积”但落地到加速器上也往往被转化成矩阵乘法或者类似张量运算。可以说AI训练和推理的本质就是海量的矩阵乘法和加法的组合。有人可能会说矩阵乘法不就是算乘法再累加吗有什么难的难就难在“海量”两个字。比如一个70B参数的大模型前向推理一次要做大约10^13次浮点运算也就是10万亿次。这个数量级靠普通计算单元一个个指令去折腾耗时会十分恐怖。所以AI芯片的第一个目标非常明确想尽一切办法把矩阵相乘做快把乘累加运算做快。我习惯用一个分拣包裹的例子来理解矩阵乘法就像是仓库里的分拣流水线每个包裹要从A区送过来经过分拣员确认路线再放到B区的传送带上。分拣员乘法器本身干活很快瓶颈往往在“包裹怎么送到手边”“送完后怎么运走”。对应到芯片上就是“数据从哪来”“算完往哪去”。这就是整个AI硬件设计的第一性原理数据处理速度决定一切。1.2 两堵墙指令墙与访存墙CPU早期统治计算世界时靠的是一套非常聪明的设计把程序指令一条条取进来让计算机按顺序或者按乱序去执行。这很灵活但有个致命的代价——大量功耗和时间都花在取指令、译码、分支预测这些“指挥动作”上真正做算术运算的比例其实不高。举一个直观数据传统CPU核心在执行一条浮点乘法时可能需要几十个时钟周期去取指令、准备操作数、写回结果。如果是在神经网络里一个矩阵乘法要拆成几百万条标量指令每条指令都走一遍“取指-译码-执行”流程CPU的效率就会低到让人崩溃。这堵墙叫“指令墙”。另一堵墙是“访存墙”。CPU通常从缓存里拿数据缓存从内存里拿数据内存从硬盘里拿数据每一级之间的速度差距都是数量级的。而矩阵运算最需要的就是大规模数据的连续读取。如果数据搬运跟不上计算再快的乘法器也得干等着。这就是为什么后来GPU要配HBM高带宽显存为什么AI芯片要拼命把SRAM做到片上本质上都是在拆“访存墙”。理解了这两堵墙再回头看CPU、GPU、NPU、TPU就会清晰很多它们的差异化本质就是在面对矩阵运算时如何选择不同策略去绕过指令墙和访存墙。2. CPU和GPU一块通用芯片的“将就”与“歪打正着”2.1 CPU为什么跑AI很吃力CPU的设计目标是“什么都能干”。从操作系统调度、网页渲染、数据库查询到编译代码、控制机器人所有任务都要能处理。所以它的核心是通用核心讲究低延迟、高精度、灵活跳转。每个核里都塞了不少逻辑分支预测器、乱序执行引擎、大容量缓存。这些东西让CPU能在各种复杂任务里游刃有余但对AI的矩阵运算来说属于“全能多面手但专项很弱”。CPU不是没有做过向量化加速现代CPU普遍支持AVX、AVX-512这类向量指令集处理器一次也能处理几个浮点数据。我记得有次帮朋友跑一个生物信息项目软件直接报错“this CPU does not support AVX”这就是因为老款CPU没有现代向量指令很多科学计算软件直接拒绝运行。这说明CPU的向量能力在持续增强但它的并行规模跟GPU、NPU比仍然是小巫见大巫。在AI项目里CPU更适合的角色是“总指挥”读取数据、做数据预处理、调度GPU或NPU、执行Python逻辑、控制整个训练流程。让CPU真的去算大模型的矩阵运算理论上能跑但速度慢到你会怀疑人生。所以现在的大模型推理框架虽然也能跑CPU版本但那更多是“能跑”而不是“好用”。2.2 GPU如何从小弟逆袭成AI训练主力GPU最早是给游戏做图形渲染的。图形渲染的工作方式非常特殊屏幕上成千上万个像素点每一个都要做相似的颜色、光照、坐标计算。这种“大量并行但每个计算都简单”的模式天然适合塞满几千个小计算核心去并发干活。所以GPU硬件设计从一开始就是奔着高吞吐量去的而不是低延迟。后来人们发现神经网络里的矩阵运算和图形渲染在计算模式上惊人相似都是大吞吐、高并发、重复运算。于是英伟达推出了CUDA让GPU可以做通用计算GPGPUGPU这才从“游戏卡”摇身一变成“AI训练卡”。这里面最关键的差异在于GPU走的是SIMT单指令多线程路线一个控制器发出指令几千个计算核心同时执行同样的操作。想象一百个工人同时在做同样的分拣动作速度自然远超一个全能的老师傅一个人慢慢干。GPU另一大法宝是显存带宽。AI训练动辄要搬几十GB甚至上百GB的模型权重普通内存带宽根本喂不饱GPU。而HBM高带宽内存可以把带宽推上TB/s级别这才让大模型训练成为可能。我经常对朋友开玩笑说GPU的算力还能凑合显存和带宽才是亲爹。你要是只有一块空有算力、显存小的卡大模型根本装不下。但GPU也有明显短板它的核心是从图形渲染继承来的内部控制逻辑、缓存层级仍然不少能效比并不高。训练一块大模型电费惊人。而且芯片和显存成本极高根本不是普通人和中小公司大规模部署得起的。这就给后面NPU、TPU留出了空间。3. NPU把矩阵乘法做成硬连线的“专用加速赛道”3.1 NPU的底牌是一大片MAC阵列如果说GPU是“靠大量核心并行硬怼”那么NPU走的是另一条路线直接在芯片里放专门做矩阵运算的乘法累加单元MAC array。MAC单元做的事情很简单算完一次乘法立刻和上一次结果累加。矩阵乘法最核心的操作就是“乘加”累积起来就是一个点积。NPU的硬件里会摆上一整片规整的MAC阵列。数据从片上缓存取出来后不需要像CPU那样去“解释脚本”而是直接流进阵列里做乘累加结果再流到下一层缓冲区。整个过程像一条高度自动化的流水线中间的转移、判空、缓存路径都被刻意简化了。这样设计带来的好处非常直接功耗大幅下降。因为省掉了大量取指、译码、分支预测电路省出来的晶体管面积和电量全都可以用来塞更多的乘法器。这就是为什么端侧NPU可以在几瓦功耗范围内干出几十TOPS的算力而一块游戏GPU跑到同样算力可能得吃几百瓦的电。我用一句话总结CPU、GPU、NPU三者的差别CPU是“一个人什么都会干但只能慢慢干”GPU是“一万个工人一起干同一件简单活”NPU是“一条专属流水线专门生产‘矩阵乘法’这个标准件”。在针对AI任务时NPU的能效比天然碾压前两者。3.2 手机、汽车和PC里的NPU到底有什么用这几年无论是手机SoC、高通骁龙、联发科天玑还是Intel酷睿、AMD锐龙都在往芯片里塞NPU。为什么因为AI推理正在大规模从云端下沉到端侧。手机要实时做拍照优化、语音助手、人脸解锁汽车要实时处理多路摄像头和激光雷达数据做车道检测、行人识别、自动泊车PC上要在本地跑大模型、做智能办公。以车载芯片为例高通车载的NPU方案通常会把感知网络跑在专门的计算单元上一部分处理摄像头图像一部分处理毫米波雷达和激光雷达的点云数据。整个系统对延迟和安全冗余的要求极高不能依赖云端必须在毫秒级内完成推理。NPU的低功耗、高吞吐在这个场景下几乎是量身定做的。当然不同厂商在NPU内部具体怎么划分模块名字叫法五花八门有的强调可编程向量引擎有的强调卷积专用加速器但核心逻辑都是一样的为神经网络运算做硬连线硬化。对普通开发者来说直接调用NPU其实没有想象中那么神秘。Intel的NPU可以通过OpenVINO来调用ONNX Runtime也支持NPU执行提供者高通、联发科各自提供SDK现在像Ollama这类本地大模型工具也陆续支持指定Intel NPU作为后端。实际操作时通常就是把模型转成等效的ONNX格式再在推理引擎里把设备device切到NPU上。能不能跑得飞快还要看模型结构、量化方式、算子覆盖率毕竟NPU不像GPU有CUDA那样成熟的生态。4. TPU把专用做到极致的另一个世界4.1 脉动阵列和GPU、NPU有什么不一样如果说GPU是从图形渲染转型做AINPU是给AI做专用流水线那么TPUTensor Processing Unit就是完全为了TensorFlow生态里的张量运算而生的专用集成电路。它的核心杀手锏叫“脉动阵列”Systolic Array。脉动阵列和NPU那种“MAC阵列 控制流水线”又不太一样。NPU很多时候还是按照指令去调度而TPU走得更极端数据沿着固定的路径在阵列里“流动”起来。每个计算单元做完一次乘加后结果直接传递给邻近的下一个单元就像接力赛中接力棒不停往前传。这样做的最大好处是数据不需要反复从寄存器堆或缓存里搬运芯片内部的数据流动本身就是计算的一部分。我在看TPU相关资料时脑子里浮现的画面是流水线工厂一组“员工”站成一长排每个人只需要接住前面人递过来的半成品加上自己手里的材料再传给下一个人。每个人干的都是重复劳动但整个阵列产能惊人。这种架构省掉了大量访存功耗和延迟都极低。TPU另一大特色是“低精度路线”。训练和推理很多时候不需要FP64、FP32那样高的精度TPU直接主推BF16脑浮点16、FP16和INT8。精度降低后同样的电路面积能塞更多计算单元带宽压力也更小。这就是为什么TPU在特定模型上的性价比和能效比很强但要知道它始终是为特定算子体系服务的通用性远不如GPU。4.2 TPU的生态、可用性和应对策略TPU虽然性能亮眼但它不是你有钱就能随便买回家插主板上用的。现在普通人最容易接触TPU的方式基本就是云服务。Google Cloud上能租到TPU还有Kaggle免费提供的TPU加速器——我在Kaggle Notebook里试过运行时切到TPU然后配合JAX或者TensorFlow接口代码变动不大但训练速度提升非常明显。不过TPU对开发者并不友好。算子库覆盖度不如CUDA很多冷门算子会直接报“not supported”你就得想办法改写网络结构或者自己去写自定义算子。Google生态之外的框架支持也参差不齐。所以我的观点是TPU更像是Google用软硬一体战略做出来的“驯化马”在它自己的赛道里跑得又快又稳但要拉它去其他赛道可能就束手束脚了。用一张表把几类芯片的核心权衡放在一起看会更直观芯片类型设计思路擅长场景主要局限典型代表CPU通用指令控制 缓存抢占低延迟系统调度、数据处理、控制流并行度低算力密度差Intel Xeon、AMD EPYCGPU大规模SIMT并行核心拼带宽模型训练、云端高吞吐推理功耗高、成本高、能效比一般NVIDIA H100、A100NPU专用MAC阵列/流水线拼能效端侧推理、实时AI、车载感知算子覆盖有限、依赖量化高通NPU、Intel NPU、苹果NPUTPU脉动阵列 低精度专用定制谷歌云生态内的训练和推理生态绑定通用性弱Google TPU v5e、v45. 从训练到推理、从云端到端侧到底该怎么选5.1 大模型训练GPU仍是绝对主力说一千道一万到目前为止大模型训练这块最成熟的选择仍然是大显存的GPU。原因不只是算力强更关键的是配套生态——CUDA、cuDNN、PyTorch、DeepSpeed、vLLM这些工具链全部围绕GPU优化过。你想微调一个大模型直接pip装个支持GPU的PyTorch然后设置device为cuda基本就能跑文档和踩坑案例多到看不过来。这里只提一个很实际的估算问题7B参数的模型微调到底要多大显存如果按16位精度存储光模型权重就要14GB如果加优化器状态、梯度、激活值全参数微调轻松超过60GB单卡根本塞不下。所以普通人做7B以上模型微调通常都走LoRA这类参数高效微调技术把可训练参数降几个数量级然后可以在24GB的显卡上试一试。要训练一个真正的70B大模型那就得上多机多卡的GPU集群涉及分布式训练、通信拓扑、显存管理复杂度直接上一个台阶。5.2 推理与端侧NPU/TPU的机会所在训练和推理是两种完全不同的场景。训练要的是高精度、大吞吐、灵活调整GPU最合适推理则要考虑时延、功耗、成本大批量稳定服务时NPU、TPU这类专用加速器往往性价比更高。云上推理很多企业会考虑T4、L4这类推理卡甚至引入自研ASIC。终端推理则没有悬念NPU就是标配从手机SoC到车载智驾芯片NPU负责的都是AI推理引擎。常有人问我那到底怎么估算推理需要多少算力我一般给一个经验公式先看模型权重大小量化到INT8后一个70B模型大约70GB一张内存带宽够的卡理论上能扛住吞吐但延迟往往取决于带宽至于TOPS需求则要看每秒需要处理多少次推理。比如每秒100个并发请求每个请求大约需要1000亿次乘加那至少需要100×10^12的INT8算力也就是100 TOPS以上。这么一算很多端侧芯片其实只适合跑小模型因为功耗散热根本顶不住大模型。5.3 热门工具里的实际调用方法具体到实操我列几个最常见的动作安装PyTorch GPU版先看自己的显卡驱动支持哪个CUDA版本再执行pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121这类命令装完验证torch.cuda.is_available()是否为True。安装PaddleOCR GPU版按官方文档装paddlepaddle-gpu再装paddleocr注意CUDA、cuDNN版本要对上否则经常出现libcudart.so找不到或者版本不匹配。用Ollama跑本地大模型CPU能跑但速度很慢如果机器上有Intel NPU部分版本已经支持通过OpenVINO后端把部分算子调度到NPU上。实际效果取决于模型结构和量化位宽建议实测对比不要只看宣传。在Kaggle上白嫖TPU新建Notebook后把加速器切到TPU用JAX或TensorFlow就能在云端体验专用AI硬件的性能适合低成本学习。“能用”和“好用”之间往往差着一整个工具链的距离。这也是我特别想提醒大家的点别只看芯片的峰值算力还要看编译器、算子库、推理引擎的匹配程度。6. 常见问题与避坑心得6.1 为什么CPU、GPU、内存占用都不高但还是卡这是特别常见的困惑。很多人跑模型发现CPU也没跑满GPU也才用了20%内存也够但程序就是卡得不行。我排查过几个类似案例原因五花八门但最常见的是三类一是数据预处理和加载成了瓶颈模型在等待数据从磁盘或者内存搬运过来算力只能干等二是单线程代码卡在某个同步点比如分布式训练里频繁等待其他节点三是算子执行效率极低某些层没有用到GPU加速整个模型里如果有一个算子回退到CPU整体帧率就崩了。看任务管理器根本看不出问题必须用nvidia-smi看GPU利用率、用top看CPU单核情况、甚至要用profiler做逐层分析才知道瓶颈在哪。6.2 驱动、编译器和“不支持”引发的各种奇葩问题很多人买Tesla系列显卡P100、P40、M40这类回来装到普通电脑上结果发现要么黑屏、要么驱动装不上。这里不是显卡坏了而是驱动策略问题Tesla卡常用做计算卡官方驱动和GeForce游戏显卡驱动存在冲突有时候还需要禁用集显、设置安全启动、用DDU彻底清理旧驱动。建议是先真正搞明白自己是要它做CUDA计算还是同时想接显示器输出如果是后者尽量别选老旧的Tesla卡。另一个高频坑是老CPU跑新软件。很多科学计算软件和AI工具链要求CPU支持AVX、AVX2等指令集一旦CPU过老程序直接报illegal instruction或明确提示CPU does not support AVX。这种情况下别无他法要么换机器要么找官方或社区提供的兼容编译版硬改二进制是不现实的。6.3 选硬件前先想清楚三件事经验多了之后我现在去看任何一个AI项目的硬件选型只关注三个问题。第一你的瓶颈到底是算力还是显存/内存带宽很多时候模型跑得慢不是算力不够而是显存装不下、带宽不够用。第二你是要训练还是推理这两个对芯片的需求是相反的训练看重精度和通用性推理看重能效和成本。第三你的模型兼容性如何有些算子特别冷门专用加速器不支持强行迁移只会让你在算子改写上花掉大把时间。想清楚这三件事再去选CPU、GPU、NPU还是TPU心里就有谱了。千万不能只盯着峰值TOPS和TFLOPS看那些数字在发布会上听着爽真正落地时工具链、带宽、算子覆盖、功耗才是决定项目能不能跑起来的关键。我自己踩过的坑是刚开始做端侧部署时只看中了某款芯片的TOPS很高结果模型里一个动态形状算子直接不支持最后不得不退回CPU跑速度和宣传差了十倍。从那以后我做任何硬件选型前都会先跑一个小模型验证环境再决定要不要大规模投入。这四类芯片说到底走的都是同一个方向让矩阵乘法跑得更快、更省、更稳。区别只在于“通用”和“专用”之间的取舍。理解了这个底层逻辑再去看各种芯片的参数、各家发布会、各类论文就不会再被名词绕晕了。
RELATED

相关推荐

nhost 仓库中的 safeexec 模块:规避 Windows 下 exec.LookPath 当前目录查找漏洞的实现解析

nhost 仓库中的 safeexec 模块:规避 Windows 下 exec.LookPath 当前目录查找漏洞的实现解析

nhost 仓库中的 safeexec 模块:规避 Windows 下 exec.LookPath 当前目录查找漏洞的实现解析 【免费下载链接】nhost The Open Source Firebase Alternative with GraphQL. 项目地址: https://gitcode.com/GitHub_Trending/nh/nhost 本篇技术指南围绕 nhost 仓…

📅 2026/9/16 16:58:57
ESP-IDF SPI Flash 可选特性指南:Auto Suspend、HPM、DPD、32-bit 地址与 OPI Flash 支持解析

ESP-IDF SPI Flash 可选特性指南:Auto Suspend、HPM、DPD、32-bit 地址与 OPI Flash 支持解析

ESP-IDF SPI Flash 可选特性指南:Auto Suspend、HPM、DPD、32-bit 地址与 OPI Flash 支持解析 【免费下载链接】esp-idf Espressif IoT Development Framework. Official development framework for Espressif SoCs. 项目地址: https://gitcode.com/GitHub_Trendi…

📅 2026/9/16 16:58:57
Python爬虫气象数据实时发布系统:从采集到可视化全流程

Python爬虫气象数据实时发布系统:从采集到可视化全流程

简介:基于Python网络爬虫的陕西省气象数据实时发布系统毕业设计资料包,面向计算机及相关专业完成毕设、课程设计的学生,提供完整项目源码与配套毕业论文。资源聚焦气象数据采集、处理与实时发布流程,涵盖爬虫脚本、后端逻辑、前端…

📅 2026/9/16 16:58:57
MORE NEWS

更多资讯

📰

大语言模型system prompt泄露原理与防御实战

1. 项目概述:什么是 system_prompts_leaks?它为什么突然被频繁讨论?最近在多个技术社区、AI开发者群组和模型调优论坛里,“system_prompts_leaks”这个短语出现频率明显升高——不是作为某个开源项目名,也不是某家公司…

📰

Corsair You.com 插件解析:把 LLM 就绪的网页搜索接入你的 AI 应用

Corsair You.com 插件解析:把 LLM 就绪的网页搜索接入你的 AI 应用 【免费下载链接】corsair Connect your users to their apps 项目地址: https://gitcode.com/GitHub_Trending/corsa/corsair Corsair 是一个帮助用户接入其第三方应用的 TypeScript 授权/插…

📰

Zephyr 开发指南:emtrion emSBC-NEON-CM7 板卡支持与 STM32F769NI 实战

Zephyr 开发指南:emtrion emSBC-NEON-CM7 板卡支持与 STM32F769NI 实战 【免费下载链接】zephyr Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures. 项目地址…

📰

OpenVINO:开源AI推理优化与部署工具,PyTorch与ONNX模型本地高效运行指南

OpenVINO:开源AI推理优化与部署工具,PyTorch与ONNX模型本地高效运行指南 【免费下载链接】openvino OpenVINO™ is an open source toolkit for optimizing and deploying AI inference 项目地址: https://gitcode.com/GitHub_Trending/op/openvino OpenVINO™ 是一个用…

📰

深度解析 cuda-samples 之 alignedTypes:结构体对齐如何决定 GPU 全局内存访问带宽

深度解析 cuda-samples 之 alignedTypes:结构体对齐如何决定 GPU 全局内存访问带宽 【免费下载链接】cuda-samples Samples for CUDA Developers which demonstrates features in CUDA Toolkit 项目地址: https://gitcode.com/GitHub_Trending/cu/cuda-samples …

📰

基于Flask+Vue3的二手书商城系统开发实践

1. 项目背景与核心需求二手书籍交易市场近年来呈现爆发式增长,尤其在高校学生群体中需求旺盛。传统线下交易模式存在信息不对称、交易效率低等问题,而现有电商平台对二手书籍的专项支持又显不足。这正是我们选择开发一个专注二手书籍交易的在线商城系统的…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬