想象你住的小区门口有一台智能自助咖啡机。以前想喝咖啡得去市中心那家精品咖啡馆:下单、打车、排队、取餐,一趟下来半小时。现在这台咖啡机就在楼下,投币三秒出杯,虽然不能拉花,但解渴提神绰绰有余。这就是端侧 NPU 干的事——它把原本要送到云端数据中心去跑的 AI「冲煮工坊」,直接搬到了手机、摄像头、汽车这些设备的脚边。NPU 就是咖啡机里那套「只会做咖啡但做得飞快」的专用机关:不掺和炒菜、拖地这些杂活,只专注一件事——让 AI 模型在设备本地快速出结果。围绕这台「咖啡机」,我们会聊它的构造、体检指标、咖啡豆加工、品牌选择,以及日常保养,把端侧 NPU 加速的完整套路一次讲清楚。

岗位关联

理解端侧 NPU 是端侧 AI 工程师与边缘计算从业者的必修课。掌握它,你就能独立完成模型在手机、IoT 设备上的部署与调优,让 AI 真正「长」在设备上。

目录
  1. 可视化演示
  2. 认识端侧NPU
  3. NPU硬件原理
  4. 性能指标解析
  5. 模型轻量化
  6. 推理框架选型
  7. 部署优化实践
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

三步展示端侧NPU加速:脉动阵列MAC网格(数据在阵列内流动复用降低访存)、量化压缩(FP32→INT8/INT4配合PTQ/QAT)、主流平台性能对比(高通/联发/华为的TOPS与TOPS/W能效比)。

本节配有交互动效(进入视口后自动加载,约 3KB)。

NPU脉动阵列架构 MAC单元:矩阵乘加运算的基本单元 2D网格:权重/输入/部分和按节拍流动 数据复用:每个数据多次使用,减少访存 throughput ∝ array_size × clock_freq 脉动阵列在毫瓦功耗下提供高AI算力。

认识端侧NPU

小区的智能咖啡机,你不必雇一位咖啡师坐镇,机器里预装了一套「只会做咖啡」的专用机关。CPU 就像那位全能店员,能记账、能聊天、能扫地,但做咖啡要临时翻菜谱;GPU 像大超市的一排收银员,能同时处理很多单,可机器又大又吃电;NPU 则是那套冲煮头——它不懂别的,做咖啡的动作却快到离谱。端侧 NPU 就是装在手机、摄像头、汽车里的这套「冲煮头」。

NPU 是 Neural Processing Unit(神经网络处理单元)的缩写。云端 AI 像市中心精品咖啡馆,数据要送过去再端回来;端侧 AI 则把推理放在设备本地,照片不用上传,语音不出家门。如今手机里的苹果神经引擎(Apple Neural Engine)、华为达芬奇 NPU、高通 Hexagon DSP,都是网红款「冲煮头」。它们解决三件事:低延迟——3 秒出杯不用排队;隐私——原料不出小区;离线可用——断网照常营业。

算力怎么量化?看 TOPS(Tera Operations Per Second,每秒万亿次操作)。对 NPU 来说,它由两个数决定:MAC 单元总个数和主频。

就像评价咖啡机看「冲煮头个数 × 每分钟冲煮节奏」,TOPS 就是「理论上限」。但别高兴太早,理论值不等于实际出杯量,后面几节会看到瓶颈究竟在哪。

TOPS=NMAC×f×21012\displaystyle \text{TOPS} = \frac{N_{\text{MAC}} \times f \times 2}{10^{12}}
TOPS 公式本质是「冲煮头数量 × 每分钟冲煮节拍 × 每次出杯算两下」,再换算成每秒万亿次。
  1. 乘加单元总数 \(N_{\text{MAC}}\)NPU 里所有 MAC 单元的个数,相当于咖啡机的「冲煮头总数量」。
    NMAC=行数×列数\displaystyle N_{\text{MAC}} = \text{行数} \times \text{列数}
  2. 主频 \(f\)芯片每秒的「工作节拍」,单位赫兹(Hz),节拍越快出杯越快。
    f=2.6 GHz=2.6×109 Hz\displaystyle f = 2.6\ \text{GHz} = 2.6 \times 10^9\ \text{Hz}
  3. 乘 2 因子一次乘加包含一次乘法和一次加法,业界统计中按 2 次操作计数。
    1 MAC=1 乘法+1 加法=2 FLOPs\displaystyle 1\ \text{MAC} = 1\ \text{乘法} + 1\ \text{加法} = 2\ \text{FLOPs}
  4. 换算到万亿除以 \(10^{12}\),把每秒操作次数变成「T」这个巨头单位。
    TOPS=NMAC×f×21012\displaystyle \text{TOPS} = \frac{N_{\text{MAC}} \times f \times 2}{10^{12}}

NPU硬件原理

打开咖啡机外壳,你会看到豆仓、研磨刀、冲煮头、水箱。NPU 的内部也是这套结构:权重的「豆仓」放在片外 DDR 内存里,真正干活的是成百上千个乘加单元(MAC)排成的阵列。它们像一排同时工作的冲煮头,每个周期完成一次「乘加」——这是神经网络最基础的动作,就好比把咖啡粉压平、注水、萃取,一步到位。

为了不让数据在内存和计算单元之间来回跑,NPU 采用脉动阵列(Systolic Array):数据像水流一样从一侧流入,逐拍流过每个计算单元,每经过一个单元就贡献一次乘加,最后从另一侧流出结果。整个过程是「数据流」而非「数据取」,类似工厂流水线传送带,全程不回头。这就是 n2b「脉动数据流」的硬件直觉。

数据要吃饱,得靠带宽。搬运时间的公式非常直观:

所以 NPU 通常配备大块片上 SRAM,把常用权重和中途结果养在自家「水箱」里,减少去 DDR「拉水」的次数;同时支持低精度计算(INT8/FP16),让同样带宽能运更多数据包。水流不回头,数据也不回头;水箱够大、水管够粗,咖啡才能连绵不断。

tmem=DataSizeBandwidth\displaystyle t_{\text{mem}} = \frac{\text{DataSize}}{\text{Bandwidth}}
数据搬运时间 = 要搬的数据量 ÷ 每秒能搬的量。带宽是「水管粗细」,水管太细,冲煮头再好也会空转。
  1. DataSize(数据量)要搬运的模型权重和中间特征图大小,单位字节(B)。模型越重,搬运越久。
    DataSize=num_params×bytes_per_param\displaystyle \text{DataSize} = \text{num\_params} \times \text{bytes\_per\_param}
  2. Bandwidth(带宽)单位时间内内存能搬运的数据量,单位 GB/s,决定「水管有多粗」。
    Bandwidth=25.6 GB/s\displaystyle \text{Bandwidth} = 25.6\ \text{GB/s}
  3. 相除得到搬运耗时时间 = 数据总量 ÷ 每秒搬运量,这就是内存侧的延迟。
    tmem=DataSizeBandwidth\displaystyle t_{\text{mem}} = \frac{\text{DataSize}}{\text{Bandwidth}}

性能指标解析

选咖啡机,你不可能只看噪音,得看每小时多少杯、每度电多少杯、上水管多粗、投币到拿杯多久。NPU 也有四张「体检单」:TOPS(算力)、能耗比、内存带宽、端到端延迟。它们分别回答:峰值能冲多快?电费扛不扛得住?原料喂得进来吗?用户实际要等多久?

TOPS 刚刚讲过;内存带宽决定数据喂食速度;端到端延迟则包括预处理、搬运、计算、后处理,是用户真正感受到的「出杯时间」。而对手机、耳机这类电池驱动的设备,能耗比往往是比 TOPS 更关键的指标——耗电太高,咖啡机再香也留不住。

一杯咖啡的「出杯时间」取决于研磨、萃取、倒杯全链路,而不是冲煮头单点速度。调优要从四张体检单同时下手:TOPS 不够就换芯片,带宽不足就做量化,延迟超标就做算子融合,功耗过高就降频降压。

η=TOPSPpower\displaystyle \eta = \frac{\text{TOPS}}{P_{\text{power}}}
能耗比 = 每瓦功耗能换来多少万亿次操作,是「省电能力」的核心体检项。
  1. TOPS(算力)芯片的理论峰值吞吐,代表「最快出杯速度」。
    TOPS=NMAC×f×21012\displaystyle \text{TOPS} = \frac{N_{\text{MAC}} \times f \times 2}{10^{12}}
  2. \(P_{\text{power}}\)(功耗)芯片实际消耗的功率,单位瓦(W),像咖啡机的「电表读数」。
    Ppower=3 W\displaystyle P_{\text{power}} = 3\ \text{W}
  3. \(\eta\)(能耗比)两者相除,得到每瓦算力,单位通常是 TOPS/W。
    η=5 TOPS3 W≈1.67 TOPS/W\displaystyle \eta = \frac{5\ \text{TOPS}}{3\ \text{W}} \approx 1.67\ \text{TOPS/W}

模型轻量化

咖啡机只认速溶包,你再好的豆子不磨成粉它就无福消受。NPU 同样「挑食」:它偏爱低精度整数,跑不动庞大浮点模型。于是模型轻量化登场——把「精品咖啡豆」加工成「速溶包」。这就要用到四把手术刀:量化、剪枝、知识蒸馏、算子融合。

最常用的是量化(Quantization)。FP32 原本用 32 位浮点表示权重,像用试金天平称咖啡粉,又慢又占地方;INT8 只用 8 位整数,像用台秤粗称,分量大差不差,但内存和计算都快了 4 倍。对称量化的公式如下:

剪枝则是把接近零的权重当「坏豆」剔除,得到稀疏矩阵;知识蒸馏让大模型当师父,用它的「软标签」教小徒弟,小模型也能逼近师父的水平;算子融合把研磨、萃取、加热多道工序合成一个集成操作,减少中间环节。一包包速溶包塞进咖啡机,出杯速度和续航都上去了。口味略有一点损失,但换来的是「随时能喝」。

q=round(clamp(xs,−127,127)),s=∣x∣max⁡127\displaystyle q = \text{round}\left( \text{clamp}\left( \frac{x}{s}, -127, 127 \right) \right), \quad s = \frac{|x|_{\max}}{127}
量化公式就是「用一把刻度有限的台秤去称所有咖啡粉」:先定刻度,再称重,超量程的截断,最后取整。
  1. 定标因子 \(s\)由数据绝对值最大值决定,代表「台秤的刻度」——把浮点范围映射到整数范围。
    s=∣x∣max⁡127\displaystyle s = \frac{|x|_{\max}}{127}
  2. 缩放 \(x/s\)把浮点数压缩到 \([-127, 127]\) 的可称量区间。
    xs∈[−127,127]\displaystyle \frac{x}{s} \in [-127, 127]
  3. clamp 截断超出边界的值拉回边界,防止像秤杆打翻一样溢出。
    clamp(v,−127,127)\displaystyle \text{clamp}(v, -127, 127)
  4. round 取整四舍五入成整数,这就是 INT8 真正存储的值。
    q=round(v)\displaystyle q = \text{round}(v)

推理框架选型

买咖啡机还要挑品牌:连锁店的机器出品稳定,万能转换插头什么粉都兼容,社区手冲店轻快开源,互联网大厂定制商用款各有人爱。推理框架就是模型与 NPU 之间的「菜单翻译官」——它把训练好的模型编译成 NPU 能跑的指令,并管理内存与算子调度。

TFLite(TensorFlow Lite)是 Google 出品,模型生态庞大,移动端一哥;ONNX Runtime 是微软的跨平台引擎,能跑 TensorFlow、PyTorch 等多种框架导出的模型,像万能转换插头;NCNN 是腾讯开源,主打手机 CPU/GPU/NPU 全平台轻量部署;MNN 是阿里巴巴自研,在电商和 IoT 场景打磨得很成熟。选型看三点:算子覆盖(菜单全不全)、硬件适配(咖啡机型号对不对得上)、包体积(占不占厨房台面)。

挑对了品牌,咖啡机才不至于「粉盒对不上」;挑错了框架,算子不支持,模型等于拿了一包塞不进去的咖啡粉。工程上常常要跑一遍 benchmark,用真实加速比说话,而不是只看宣传页。

Speedup=TbaselineTnpu\displaystyle \text{Speedup} = \frac{T_{\text{baseline}}}{T_{\text{npu}}}
加速比 = 原来的耗时 ÷ NPU 耗时。框架选得好不好,直接反映在这个数字上。
  1. \(T_{\text{baseline}}\)(基线耗时)用 CPU 跑同一个模型所花的时间,单位毫秒(ms)。
    Tbaseline=100 ms\displaystyle T_{\text{baseline}} = 100\ \text{ms}
  2. \(T_{\text{npu}}\)(NPU 耗时)同一模型交给 NPU 推理的时间。
    Tnpu=20 ms\displaystyle T_{\text{npu}} = 20\ \text{ms}
  3. 相除得加速比100 ÷ 20 = 5,表示 NPU 比 CPU 快 5 倍。
    Speedup=10020=5\displaystyle \text{Speedup} = \frac{100}{20} = 5

部署优化实践

咖啡机买回家还要保养:多路供电避免跳闸,内胆复用别反复冲洗,高峰期多咖啡师顶班,过热自动降频。端侧部署也是这套功夫。模型文件拷进去只是开始,真正的挑战在于搞掂性能、功耗、发热三堵墙之间的微妙平衡。

异构调度——CPU 负责图像解码、预处理这类「杂活」,NPU 专心跑神经网络主干,GPU 偶尔客串图形计算,各司其职。内存复用——提前申请一块 tensor 池,推理时反复读写同一片内存,避免频繁 malloc 造成卡顿和碎片。多核并行——把输入数据切块,多线程同时喂给多个计算核心,像多个咖啡师同时开三台机器。功耗热控——手机温度一高就降频,NPU 必须动态调整频率,防止「过热停机」。

保养得当,咖啡机十年如一日;部署调优得当,NPU 才能一直顶在生产第一线。温度墙、功耗墙、性能墙,三堵墙之间,要走出最优的「咖啡量产路线」。

Pdynamic=αCV2f\displaystyle P_{\text{dynamic}} = \alpha C V^2 f
动态功耗公式是 NPU 的「电费账单」:电压一降,功耗平方级下降;频率一降,功耗线性下降。
  1. \(\alpha\)(信号翻转率)数据翻转的活跃程度,数据复用越充分,翻转率越低。
    α=0.2\displaystyle \alpha = 0.2
  2. \(C\)(电容负载)晶体管数量与连线带来的电容,芯片规模越大电容越大。
    C=10−9 F\displaystyle C = 10^{-9}\ \text{F}
  3. \(V^2\)(电压平方)电压微降,功耗会平方级下降,这是低电压设计的最大红利。
    V=0.8 V\displaystyle V = 0.8\ \text{V}
  4. \(f\)(频率)动态调频可以线性省电,热控降频就是动这一项。
    f=1.5 GHz\displaystyle f = 1.5\ \text{GHz}

AI 应用场景

手机端实时文档扫描 OCR

阶段:端侧推理部署与优化

解决的问题:传统 OCR 要上传云端,网络差时等待时间长,文档内容还有隐私泄露风险。端侧 NPU 让检测和识别模型在手机本地运行,即扫即得,断网也能用。

具体案例:某办公 App 在骁龙 8 系列芯片上用 NPU 跑 TFLite 转换后的 OCR 模型,经过 INT8 量化和算子融合,单帧识别耗时从 2.3 秒降到 0.4 秒,精度仅下降 0.5%。用户在地铁、飞机上也能顺畅扫描合同。

智能门禁人脸识别

阶段:边缘 AI 计算

解决的问题:门禁对延迟和可靠性要求极高,弱网或断网时云端方案直接瘫痪;人脸数据敏感,上传云端还有合规风险。端侧 NPU 把整条人脸比对链路锁在本机。

具体案例:某园区门禁设备内置 NPU,本地完成人脸检测、特征提取、特征比对全流程,识别延迟小于 200 毫秒,整机功耗低于 3 瓦。遇到网络中断,闸机照常开门,事后补传日志即可。

智能音箱语音唤醒

阶段:低功耗端侧推理

解决的问题:音箱必须 7×24 小时待机监听唤醒词,若全靠 CPU 或云端,功耗爆炸、响应迟钝。NPU 的低功耗特性恰好匹配「always-on」场景。

具体案例:某智能音箱在 DSP/NPU 上运行 1MB 以内的唤醒词模型,平均功耗仅几十毫瓦,唤醒延迟小于 100 毫秒。只有当用户说出「你好小智」后,才会联网上传后续语音指令。

Python 演示

python36 行
"""模拟 FP32 与 INT8 量化模型在端侧设备上的推理差异"""import numpy as np  def symmetric_quantize(tensor, bits=8):    """对称量化: 把浮点张量映射到 [-127, 127] 的整数域"""    bound = 2 ** (bits - 1) - 1    scale = np.max(np.abs(tensor)) / bound    quantized = np.clip(np.round(tensor / scale), -bound, bound)    return quantized.astype(np.int8), scale  def main():    np.random.seed(42)    inputs = np.random.randn(16, 64).astype(np.float32)    weights = np.random.randn(64, 8).astype(np.float32)    bias = np.random.randn(8).astype(np.float32)     # FP32 推理    y_fp32 = inputs @ weights + bias     # INT8 量化推理    in_q, in_scale = symmetric_quantize(inputs)    w_q, w_scale = symmetric_quantize(weights)    acc_int = in_q.astype(np.int32) @ w_q.astype(np.int32)    y_int8 = acc_int * (in_scale * w_scale) + bias     mse = np.mean((y_fp32 - y_int8) ** 2)    print(f"FP32 首个输出: {y_fp32[0][:3]}")    print(f"INT8 首个输出: {y_int8[0][:3]}")    print(f"均方误差: {mse:.4f}")    print(f"权重大小: FP32={weights.nbytes}B -> INT8={w_q.nbytes}B, 压缩 {weights.nbytes // w_q.nbytes}x")  if __name__ == "__main__":    main()
目的:用 NumPy 模拟 INT8 对称量化推理,对比 FP32 与 INT8 在输出精度和权重体积上的差异,直观展示「速溶包」加工过程。
  1. bound = 2 ** (bits - 1) - 1计算 INT8 的表示上限 127,相当于台秤的最大刻度。
  2. scale = np.max(np.abs(tensor)) / bound定标系数,决定浮点映射到整数域的比例尺。
  3. quantized = np.clip(np.round(tensor / scale), -bound, bound)缩放、四舍五入并截断,模拟 NPU 的 INT8 算子。
  4. in_q.astype(np.int32) @ w_q.astype(np.int32)核心整数矩阵乘,用 int32 累积避免溢出,等价于 MAC 阵列的乘加操作。
  5. y_int8 = acc_int * (in_scale * w_scale) + bias反量化,把整数结果换算回浮点并加上偏置,完成端侧推理的最后一步。
  6. print(f"权重大小: ...")展示量化带来的 4 倍存储压缩比。

常见误区

误区买芯片只看 TOPS,数字大一倍就觉得性能翻倍,选型单上谁是老大一眼定生死。

正解TOPS 只是峰值算力的天花板。实际推理速度还受内存带宽、算子支持、功耗墙限制。就像咖啡机标称每分钟 100 杯,但上水管太细、豆仓太小,实际只能出 30 杯。要综合看能耗比、端到端延迟、框架适配度,最好跑真实模型 benchmark。

为何常见:厂商宣传页都印着大 TOPS,数字最好比较,小白自然容易只盯这一个指标。

误区INT8 量化不就是把模型文件压成原来的四分之一,方便打包下发吗?

正解体积缩小只是副产物。量化真正的价值在于:MAC 阵列用整数运算替代浮点运算,同周期算更多数据;数据量减小后内存带宽压力骤降;低精度硬件可以降低电压和功耗。NPU 的 INT8 算力往往是 FP32 的 4 倍甚至更高,这才是加速的本体。

为何常见:压缩比最直观可见,而速度和功耗提升需要对比实验才能感受到,初学者容易忽略。

误区NPU 算力这么猛,以后手机不用装 CPU 和 GPU 了,一颗 NPU 打天下。

正解NPU 是专用加速器,只擅长矩阵乘加这类神经网络算子。图像解码、系统调度、网络协议栈还得靠 CPU;游戏渲染还得靠 GPU。NPU 是「冲煮头」,不是整个咖啡店。实际端侧方案都是异构协同:CPU 管杂活,GPU 管渲染,NPU 专攻推理。

为何常见:把「专用」理解为「更厉害的通用」,对硬件分工缺乏整体认知。

误区模型转成 .tflite 或 .onnx 直接塞进手机,就能自动跑得飞快。

正解端侧部署要处理算子兼容、量化校准、精度回退、内存复用、多线程调度、功耗热控等问题。一个算子不兼容,整条链路可能 fallback 到 CPU,性能一落千丈。就像咖啡粉再好,研磨度不对照样出不了杯。

为何常见:现代工具链越来越自动化,让初学者误以为「转换即完成」,直到上线才发现性能问题。

面试题

Q1. 端侧 NPU(如手机里的神经网络处理器)相比云端 GPU 推理,最核心的优势是?

单选题 · easy

  • A.峰值算力更高
  • B.离线低延迟推理← 正确答案
  • C.支持所有大模型
  • D.模型训练更快速

答案:B。端侧推理数据不出设备,省去了网络往返时间,断网也能运行,这是它存在的根本理由。云端 GPU 的峰值算力更强,能承载的模型规模和训练能力也远超端侧。

Q2. TOPS 这个指标表示的是什么?

单选题 · easy

  • A.每秒万亿次操作← 正确答案
  • B.每秒千亿字节传输
  • C.每秒百万次乘法
  • D.每秒十亿次周期

答案:A。TOPS 是 Tera Operations Per Second 的缩写,即每秒万亿次(\(10^{12}\))操作,用来衡量 NPU 的峰值算力。字节传输对应带宽,乘法只是操作中的一种,周期是时钟概念。

Q3. NPU 内部最核心的「劳动单元」是什么?

单选题 · mid

  • A.通用算术逻辑单元
  • B.乘加运算单元MAC← 正确答案
  • C.图形渲染专用管线
  • D.内存管理控制单元

答案:B。神经网络的基本操作是乘加(MAC),NPU 把成千上万个 MAC 单元排成阵列,专门执行矩阵乘加运算。GPU 的图形管线、CPU 的 ALU 和内存管理单元都不是 NPU 的核心组件。

Q4. 把 FP32 模型量化成 INT8 后,权重存储体积大约是原来的?

单选题 · mid

  • A.二分之一
  • B.四分之一← 正确答案
  • C.八分之一
  • D.十六分之一

答案:B。FP32 用 4 字节表示一个权重,INT8 只用 1 字节,因此体积变为原来的 1/4。这和速溶包对应咖啡豆的浓缩比例一样:量少了,但有效成分保留了大半。

Q5. 下列哪些属于模型轻量化的常用方法?

多选题 · mid

  • A.权重量化← 正确答案
  • B.结构剪枝← 正确答案
  • C.知识蒸馏← 正确答案
  • D.数据增强

答案:ABC。量化降低数值精度,剪枝剔除冗余连接,蒸馏用小模型模仿大模型输出,三者都是轻量化手段。数据增强是训练阶段的技巧,不改变模型大小和计算量。

Q6. 脉动阵列(Systolic Array)最主要的优势是什么?

单选题 · mid

  • A.数据流动减少访存开销← 正确答案
  • B.支持任意整数精度
  • C.自动生成训练数据
  • D.压缩模型参数量

答案:A。脉动阵列让数据像流水一样在相邻计算单元间传递,权重驻留在片内,大幅减少对 DDR 内存的访问。访存往往是端侧推理的瓶颈,减少访存就是直接降低延迟和功耗。

Q7. 以下哪些属于可在移动端运行的端侧推理框架?

多选题 · hard

  • A.TFLite推理引擎← 正确答案
  • B.NCNN推理引擎← 正确答案
  • C.MNN推理引擎← 正确答案
  • D.OpenCV图像库

答案:ABC。TFLite、NCNN、MNN 都是成熟的端侧推理引擎,能把模型编译成 NPU/CPU 指令。OpenCV 是计算机视觉处理库,负责图像预处理,本身不做神经网络推理。

Q8. 知识蒸馏中,「教师模型」的作用是什么?

单选题 · easy

  • A.为学生模型生成软标签← 正确答案
  • B.直接替代学生模型推理
  • C.负责给训练数据做增强
  • D.控制模型量化尺度

答案:A。教师模型是大而精的模型,它输出的概率分布包含类别间的相似关系,称为「软标签」。学生模型模仿软标签,能学到比硬标签更丰富的知识,从而以小体积逼近大模型精度。

Q9. 端侧 NPU 部署时,影响「端到端延迟」的因素包括?

多选题 · mid

  • A.模型推理计算时间← 正确答案
  • B.内存数据搬运时间← 正确答案
  • C.框架运行时调度开销← 正确答案
  • D.训练数据标注时间

答案:ABC。端到端延迟 = 预处理 + 数据搬运 + 计算 + 调度 + 后处理。推理计算、内存搬运和框架调度都是部署阶段的关键项,而训练数据标注发生在离线环节,与推理延迟无关。

Q10. 关于对称量化与非对称量化,下列说法正确的是?

单选题 · extreme

  • A.对称量化的零点固定为0← 正确答案
  • B.非对称量化没有缩放因子
  • C.对称量化只支持INT4
  • D.两种量化效果完全一样

答案:A。对称量化把浮点范围对称映射到 \([-127,127]\),零点为 0,适合分布近似零对称的数据;非对称量化额外引入零点(zero point),适合偏置分布的数据,但计算稍复杂。两者都依赖缩放因子,且不止支持 INT4。