AI硬件08-推理芯片:低延迟、低功耗与低成本的三角平衡
推理芯片 vs 训练芯片:架构为什么要做减法
本文为《AI 硬件体系深度调研》系列第 08 篇。上一篇我们盘点了训练芯片的"肌肉量"——3nm 制程、HBM3E、1.8TB/s 互联。但训练芯片再猛,也不能拿来直接扛线上推理。本篇转向推理芯片,看它为什么反其道而行之,用"减法"在低延迟、低功耗、低成本之间找到平衡。
黄金 100 字开头
你是否用昂贵的训练卡去扛线上推理,月底账单吓一跳?很多人以为"芯片越猛越好",却忽略了推理场景的功耗与成本。本文讲清推理芯片为何反其道行之——靠"减法"把延迟和成本压下来。
一、推理芯片的"减法哲学"
先说一个反直觉的结论:推理芯片的架构逻辑,和训练芯片是"相反"的。
1.1 训练要"猛",推理要"省"
训练芯片追求的是高算力——因为它要在有限时间内,把几万亿参数反复"算个遍",算力就是生产力。所以训练芯片拼命堆晶体管、堆 HBM、堆互联,功耗几百瓦也不在乎,因为训练是"一次性投入、批量产出"。
推理芯片完全不同。推理是要线上长期服务的:用户每发一条消息,芯片就要跑一次前向计算。这个场景的核心矛盾不是"算得够不够快",而是:
- 延迟要低:用户等不了,回复要快;
- 功耗要低:芯片 7×24 小时开机,功耗直接变成电费;
- 成本要低:一台服务器要塞尽可能多的推理卡,卡越贵、越耗电,服务就越亏本。
于是推理芯片的设计哲学,凝结成一句话:“够用算力 + 极致数据传输效率”。它不追求算力峰值,而是追求单位算力下更低的延迟、功耗和成本。
1.2 为什么"够用"就行
推理的计算量远小于训练,这是"够用"的前提。训练时,每个样本都要做前向 + 反向传播,反向传播的计算量约是前向的 2-3 倍;而推理只有前向,没有反向。再加上推理时 batch 通常较小(线上服务往往一次只处理几个请求),对算力的绝对需求,天然比训练低一个量级。
所以推理芯片根本不需要训练芯片那种"2000 TFLOPS"的怪兽算力——它需要的算力,是"刚好覆盖峰值请求"的量,多出来的都是浪费。砍掉冗余算力,省下来的面积和功耗,正好投给更关键的东西:数据搬运和延迟控制。
💡 一句话:训练芯片是"赛车",追求极限速度;推理芯片是"网约车",追求油耗低、起步快、拉客多。两种车都要会跑,但优化的目标完全不同。
再用一组数字把这个"够用"量化。训练一个 700 亿参数的大模型,假设数据量是 10 万亿 token,总的浮点运算量大约是 10^24 次 FLOP 量级——这是天文数字,必须靠几千张训练卡、跑几个月。而同样这个模型,做一次单条推理,前向计算量只有约 10^12 次 FLOP,差了 12 个数量级。
同样是算,训练是"搬一座山",推理是"搬一粒沙"。搬山需要挖掘机和卡车(训练芯片的峰值算力),搬沙只需要一把小铲子(推理芯片的够用算力)。拿挖掘机去一粒一粒搬沙,不是不行,而是"贵得离谱、笨得要命"——这就是拿训练卡跑推理的真实写照。
1.3 “减法"不是"阉割”
这里要澄清一个误区:推理芯片砍算力,不是"偷工减料",而是"把钱花在刀刃上"。砍掉的是训练专属的冗余(反向传播、梯度累积、超大 batch 吞吐),省下来的晶体管和功耗,被重新投向了三个方向——低精度计算、KV Cache 管理、动态功耗控制。这三个方向,正是接下来三章要展开的内容。
顺着"减法哲学",再看推理芯片的真实落地场景,会更有体感。推理芯片不是只给"聊天机器人"用的,它已经渗透进无数条业务链路:
- 手机端侧的语音助手:唤醒词识别、语音转文字,延迟要毫秒级,功耗要低到不烫手、不耗电;
- 自动驾驶的实时感知:摄像头画面要在毫秒内完成目标检测,延迟高一点就是事故;
- 推荐系统的排序模型:每秒上百万次请求,单次延迟几十毫秒,成本必须低到几乎忽略;
- 边缘端的工业质检:产线上实时判定产品瑕疵,需要小体积、低功耗、够用的推理算力。
这些场景有一个共同点:它们都不需要训练芯片那种"把算力堆到极致"的能力,但都极度在意延迟、功耗和成本。理解了这些场景,也就理解了推理芯片为什么一定要做减法——因为它服务的,从来不是"算得更猛",而是"用得刚刚好"。
二、计算单元裁剪:小而精
推理芯片的第一处"减法",砍在计算单元上。
2.1 阵列更小
训练芯片的脉动阵列,边长动辄 256、512,恨不得越大越好,因为训练是"计算密集型"。而推理芯片的阵列明显更小——因为推理的单次计算量小,阵列太大了,反而会有大量 PE 闲置,纯属浪费面积和功耗。
更小的阵列意味着什么? 更少的晶体管、更低的漏电、更小的散热压力。把这些省下来的资源,用在更精准的地方,比"堆大阵列"划算得多。
2.2 定向优化低精度:INT8/FP8
推理芯片的计算单元,几乎为低精度而生。训练芯片在 FP16/BF16 上发力,而推理芯片直接押注 INT8/FP8:
- INT8:8 位整数,推理的主力精度。权重和激活都量化到 8 位整数,乘加器可以做得极小极省电;
- FP8:8 位浮点,给对精度更敏感的部分(如某些大模型的首尾层)留一点余量。
为什么要低精度?因为低精度 = 高算力密度。同样面积的晶体管,做 8 位乘加,数量是 16 位的两倍、32 位的四倍。推理芯片靠 INT8/FP8,把算力密度提升了一倍以上——也就是说,用更少的面积,拿到了足够的算力。
⚠️ 避坑警告:推理的 INT8 不是"随便截断"的,而是要经过量化校准。直接用 FP32 权重硬转 INT8,精度会暴跌。工程上要用少量校准数据,统计每层权重的数值分布,确定合适的缩放系数,才能"量而不损"。
量化校准的常见做法有两种,各有取舍:
- 训练后量化(PTQ):不重新训练,直接用少量校准数据统计每层的缩放系数。成本低、速度快,但对敏感层可能掉精度;
- 量化感知训练(QAT):在训练阶段就模拟低精度效果,让模型"学会"在 INT8 下工作。精度保持最好,但需要重新训练、成本高。
💡 一句话:PTQ 是"事后补救",QAT 是"先天预防"。实际落地时,通常先上 PTQ 快速验证,敏感层再用 QAT 或保留 FP16 兜底——混合精度思路,再次出现。
2.3 砍掉训练专属模块
推理芯片的减法,还体现在物理上砍掉了训练专属的模块。训练芯片里那些为反向传播、梯度计算、优化器服务的硬件单元,推理芯片统统不要。因为这些功能在推理时一次都用不上,留着就是白耗电。
这也是为什么推理芯片的"有效算力占比"反而更高——它没有为"永远不会执行的功能"浪费任何晶体管。砍掉无用的,留下的都是有用的,这正是"小而精"的由来。
除了砍模块和降精度,推理芯片的计算单元还常叠加两类"省算力"的技巧,值得一并记住:
- 稀疏化(Sparsity):模型权重里大量数值接近零,这些"零权重"乘任何数都是零,根本不用算。推理芯片支持结构化稀疏,直接把整块零权重跳过,算力消耗进一步下降;
- 算子融合(Operator Fusion):把多个相邻的小算子(比如矩阵乘 + 激活函数)合并成一个大算子,一次算完,减少中间结果的读写次数,既省算力又省带宽。
💡 一句话:砍模块是"做减法",降精度是"换小号",稀疏化是"跳过零",算子融合是"合并同类项"。四管齐下,推理芯片的计算单元才能做到又小又省、又足够快。
三、内存优化:只留权重与 KV Cache
推理芯片的第二处"减法",砍在内存系统上。
3.1 只存两样东西:权重 + KV Cache
训练芯片的显存里,塞满了权重、梯度、优化器状态、激活缓存……五花八门,动辄几百 GB。而推理芯片的显存,只需要存两样东西:
- 模型权重:这是"知识"本身,必须常驻;
- KV Cache:这是"上下文记忆",推理时动态生成、不断增长。
没有梯度、没有优化器状态、没有反向激活缓存——训练芯片里占大头的那几样,推理芯片统统不用存。于是推理芯片的显存需求,天然比训练芯片低了一个数量级。
3.2 KV Cache 是什么
这里必须把 KV Cache 讲清楚,因为它是推理芯片内存设计的核心。在大模型推理的 Decode 阶段,每生成一个 token,都要和之前所有的 token 做注意力计算。如果没有缓存,就得把前面所有 token 的 Key 和 Value 重新算一遍——计算量随生成长度平方级增长,慢得没法用。
KV Cache 的做法是:把每个 token 的 Key 和 Value 向量算出来后,存进显存,下次直接用。这样每生成一个新 token,只需算新 token 的 K/V,再和缓存里的历史 K/V 做注意力,计算量从平方级降到线性级。
💡 一句话:KV Cache 是推理芯片的"草稿纸",把已经算过的注意力中间结果存下来,避免反复重算。它省的是计算,但代价是占用显存——这正是推理芯片内存系统的核心矛盾。
KV Cache 到底吃多少显存?我们算一笔账。假设一个 70B 参数、80 层、64 头的大模型,用 INT8 做 KV Cache,每生成一个 token,每层每头会产生一对 128 维的 K 和 V 向量。粗略估算,单个 token 的 KV Cache 约几百 KB 到 1 MB。
生成长度一拉长,问题就来了:生成 4096 个 token,KV Cache 就会累积到几个 GB;如果同时服务几十个并发用户,KV Cache 直接吃掉几十 GB 显存。所以推理芯片的显存,真正的大头往往不是权重,而是这堆"越用越多"的 KV Cache。
这也解释了为什么推理芯片要集成专用的 KV Cache 控制器——因为 KV Cache 的读写模式非常特殊:它一边增长、一边被高频随机访问,传统的通用内存控制器根本吃不消,必须用专门硬件来优化这个"持续增长的草稿纸"。
3.3 片上缓存更小 + 专用 KV Cache 控制器
推理芯片的内存优化,具体落在两处:
- 片上缓存更小:推理的复用模式更规整,不需要训练芯片那么大的 SRAM 缓存,小缓存就够用,省面积省功耗;
- 集成 KV Cache 控制器:用一个专门的硬件单元来管理 KV Cache 的读写、淘汰、分块,把 KV Cache 的访存效率做到极致。
这个"KV Cache 控制器"是推理芯片的独门设计——训练芯片根本不需要它,因为训练没有"历史上下文不断增长"这个问题。专门为推理的内存模式定制硬件,正是推理芯片"极致数据传输效率"的体现。
3.4 内存优化的本质
推理芯片内存优化的本质,是**“精准”**:训练芯片的内存系统是"大而全",什么都要装;推理芯片的内存系统是"小而准",只装权重和 KV Cache,并把这两样的访问效率做到极致。省掉不必要的内容,专注必要内容的吞吐,这就是推理的"数据效率哲学"。
这里再补一个容易被忽略的点:推理芯片的"数据效率",还藏在批处理(Batching)里。线上推理的单个请求算力需求很小,如果一次只处理一个请求,芯片的大部分算力和带宽都会被浪费。所以推理芯片会做动态批处理——把多个到达时间接近的请求,拼成一批一起算。
拼批有两个直接好处:一是提高算力利用率,让裁剪后的小阵列也能跑满;二是摊薄权重读取成本——权重读进片上缓存后,一批请求共享同一次读取,均摊到每个请求的带宽开销就小了。这就是"极致数据传输效率"的另一个侧面:不是让单次访问变快,而是让每一次访问都被更多请求复用。
💡 一句话:推理芯片的"省",一半靠砍(去掉不需要的),一半靠复用(让需要的一次用够)。砍出面积和功耗,复用出效率和延迟,两者合起来才是完整的推理芯片内存哲学。
四、功耗控制:动态调度到 1/10
推理芯片的第三处"减法",砍在功耗上,这也是最狠的一刀。
4.1 功耗为什么要压到 1/10
训练芯片功耗动辄 300-500W,但它不是 7×24 小时满载——训练任务跑完就停机,或者阶段性满载。推理芯片不一样,它要长期在线、随时待命,功耗直接转化为电费账单。
一个数据中心如果塞满几百瓦的推理卡,电费和散热成本会高到离谱。所以推理芯片的功耗,必须压到训练芯片的 1/10 以内——也就是 1W 到 100W 这个量级。单卡功耗压下来,数据中心才能"多塞卡、少烧钱"。
4.2 动态调度:不用的部分就"断电"
推理芯片压功耗的绝招,是动态调度。它有三个维度的"动态":
- 动态阵列规模:请求少时,只启用阵列的一小部分,其余部分直接关断(power gating),几乎不耗电;
- 动态电压/频率(DVFS):负载低时,降低电压和频率,功耗随负载弹性伸缩;
- 动态精度:简单请求用 INT8,复杂请求才上 FP8/FP16,按需分配精度。
这三招的核心思想是一致的:负载有多重,就用多少电,绝不为"闲置的算力"付电费。
💡 生活化类比:训练芯片是"随时全油门"的赛车,推理芯片是"带启停系统的汽车"——红灯一停就熄火,绿灯一踩就走。平时怠速几乎不耗油,需要动力时再唤醒。这就是推理芯片功耗能低到 1/10 的秘密。
这三招在工程上各有讲究,展开说:
- Power Gating(电源门控):不是"降频",而是直接切断电路供电。关断的模块几乎零功耗,但唤醒需要重新上电,延迟通常在微秒级。适合"长时间闲置"的场景;
- DVFS(动态电压频率调节):不切电,而是降低电压和频率。切换速度快、延迟小,但省电幅度不如关断彻底。适合"短时间轻载"的场景;
- 时钟门控(Clock Gating):最细粒度的一招,关掉暂时不用的时钟信号,让寄存器不再翻转。几乎零延迟、零副作用,是推理芯片里用得最多的基础省电手段。
💡 一句话:Power Gating 是"关总闸",DVFS 是"调小电流",Clock Gating 是"随手关灯"。三招组合,才能把推理芯片的功耗从几百瓦一路压到个位数瓦特。
4.3 功耗与延迟的平衡
当然,动态调度不是没有代价的——"断电"和"唤醒"都需要时间。如果为了省电把阵列关得太彻底,突发流量来了,唤醒来不及,就会造成延迟飙升。
所以推理芯片的功耗控制,本质上是在低功耗和低延迟之间走钢丝:关得越狠越省电,但唤醒越慢;关得越浅延迟越稳,但越费电。好的推理芯片,靠的是精准的负载预测和快速唤醒机制,让这条钢丝走得又稳又省。
这根"钢丝"到底有多细?我们拆一下推理的延迟预算。线上推理对延迟通常有硬性约束,比如首 token 延迟要控制在 500ms 以内、后续每个 token 要在 30-50ms 以内。这几十毫秒里,芯片要完成:取数、矩阵乘、激活、写回、再取数……任何一环慢半拍,用户就会感觉"卡顿"。
而动态功耗控制的"唤醒"恰好就发生在这个紧张的时间窗口里。如果请求突然涌入,芯片要从深度省电状态拉满算力,唤醒时间哪怕只多几毫秒,都可能让首 token 延迟超标。所以推理芯片在省电和延迟之间,通常要保留一个"浅睡眠"的中间态——不彻底关断,而是降到低功耗待命,保证唤醒够快。这正是工程上最见功力、也最容易被外行忽略的细节。
五、与训练芯片的架构对照
最后,把推理芯片和训练芯片并排放一起,做一个系统对照。
5.1 三大差异一张表
| 维度 | 训练芯片 | 推理芯片 |
|---|---|---|
| 计算单元 | 大阵列、FP16/BF16 为主 | 小阵列、INT8/FP8 定向优化,算力密度翻倍 |
| 内存系统 | 权重+梯度+优化器+激活,大而全 | 只存权重+KV Cache,配专用控制器 |
| 功耗 | 300-500W | 动态调度,压到训练芯片 1/10 以内(1-100W) |
这三大差异,正好对应推理芯片的"减法三刀":砍计算、砍内存、砍功耗。砍完之后的推理芯片,不再是"训练芯片的缩水版",而是一个为推理场景重新设计的、逻辑完全不同的新物种。
5.2 底层逻辑的分野
更深一层看,训练芯片和推理芯片的分野,源自它们面对的核心矛盾不同:
- 训练芯片的核心矛盾是**“算力 vs 带宽”**——算力强,但带宽追不上,所以拼命堆带宽、做数据复用;
- 推理芯片的核心矛盾是**"延迟、功耗、成本"的三角平衡**——三者互相制约,必须在它们之间找到最优解。
这就解释了为什么两者的架构会走向不同方向:训练往"大而猛"走,推理往"小而省"走。不是谁更高级,而是各自解决了各自场景的痛点。
再往成本这个维度深挖一步。推理服务的账,是这么算的:假设一张训练卡卖 20 万元、功耗 400W,用它跑推理,一台服务器塞 8 张卡,光硬件就要 160 万,电费一年还要吃掉几十万。而推理芯片因为砍了算力和功耗,单卡价格可以降到训练卡的几分之一,功耗降到 100W 以内——同样一台服务器,能塞更多卡、电费更少,单位请求的服务成本直线下降。
推理是一门"走量"的生意:单次请求赚得再少,只要成本够低、能服务海量请求,总量就很可观。反之,单次请求算得再快,如果成本降不下来,规模一大就亏。所以推理芯片的"减法",最终落点是把单位算力的成本打下来——这才是推理芯片在商业上真正的胜负手。
5.3 三角平衡的工程艺术
推理芯片的终极命题,是低延迟、低功耗、低成本三者的平衡:
- 低延迟:用户要快,延迟是体验的底线;
- 低功耗:电费要省,功耗是成本的底线;
- 低成本:芯片要便宜,否则推理服务不赚钱。
这三者互相拉扯:要低延迟,就得保持算力在线,功耗就下不来;要低功耗,就得动态关断,延迟就可能抖动;要低成本,就得砍面积砍工艺,但性能和功耗又受影响。推理芯片的设计,就是在这三条线围成的三角形里,找一个最划算的落点。
💡 一句话总结:训练芯片比的是"峰值",推理芯片比的是"平衡"。谁能在延迟、功耗、成本之间取得最优平衡,谁就能在推理这个"走量"的市场上胜出。
落到具体选型上,这个"三角平衡"会分化出不同的产品取向:云端推理芯片优先保吞吐和并发,功耗可以放宽到 100W 量级;边缘推理芯片优先保功耗和成本,延迟要稳、电要省,算力够用即可;端侧推理芯片则把功耗压到 1W 以下,靠 NPU 与主芯片协同。同一个"推理"需求,落点不同,三角的侧重就不同——这再次印证,推理芯片没有"万能解",只有"最合适解"。
配图
图 1:推理芯片三大差异模块图(裁剪阵列 / KV Cache / 功耗控制)
flowchart TB
subgraph 推理芯片三大差异
A[裁剪阵列<br/>小而精 INT8/FP8] --> C[低延迟]
B[专用内存<br/>权重+KV Cache控制器] --> C
D[动态功耗控制<br/>阵列/电压/频率调度] --> C
C -->|三角平衡| E[低延迟 低功耗 低成本]
end
推理芯片通过裁剪计算阵列、定制 KV Cache 内存、动态功耗控制三大模块,共同支撑低延迟、低功耗、低成本的三角平衡。
图 2:训练芯片 vs 推理芯片 功耗与精度对照
xychart-beta
title "训练芯片 vs 推理芯片:功耗与精度"
x-axis ["训练芯片", "推理芯片"]
y-axis "相对值" 0 --> 10
bar [10, 1]
line [6, 8]
柱状为功耗对比(训练芯片满额,推理芯片压到约 1/10);折线为算力密度随精度优化(推理芯片 INT8/FP8 密度更高,故折线略高)。
写在最后
推理芯片的本质,是一场精打细算的"减法革命":砍掉冗余算力、砍掉训练专属内存、砍掉不必要的功耗,换来低延迟、低功耗、低成本的三角平衡。它不追求"最强",只追求"最合适"——在推理这个走量的战场上,合适比强大更重要。
下一篇,我们深入推理的"卡脖子"阶段——Decode 阶段的内存带宽瓶颈,看看推理时芯片到底卡在哪、又该怎么破。
【思考题】
推理芯片砍了算力,遇到突发流量峰值算力不够怎么办?靠什么弹性兜底?欢迎探讨。(提示:可以从批处理、队列、混合部署、云上弹性扩容等角度想想。)
【系列文章预告】
下一篇深入推理的"卡脖子"阶段——Decode 阶段的内存带宽瓶颈。
标签:推理芯片、INT8、KV Cache、低功耗、架构裁剪、AI推理、芯片对比
推理芯片逻辑为"够用算力 + 极致数据传输效率",与训练本质不同;差异一为计算单元裁剪(阵列更小、定向优化 INT8/FP8 低精度、算力密度提升一倍以上);差异二为内存系统定向优化(只存模型权重 + KV Cache、片上缓存更小、集成 KV Cache 控制器);差异三为功耗控制模块(动态调度阵列规模/电压/频率、功耗压到训练芯片 1/10 以内)。
更多推荐


所有评论(0)