想象你走进一家米其林三星餐厅的后厨:主厨老陈的炒锅能驾驭任何菜式,但做一道低温慢煮牛腩要花 40 分钟;甜点师小美一小时能烤出 200 个一模一样的纸杯蛋糕;而角落里的分子料理师傅小林,围着液氮罐和真空机,只做招牌菜“云雾虾球”——又快、又省气、味道还稳。餐厅经理阿杰的职责,就是在客人点单时想清楚:这道菜该交给谁?要不要让谁先备料?灶台火力怎么分配?这就是“异构厨房团队”的智慧。 Qualcomm AI Engine,就是骁龙手机里的这位“餐厅经理”。它以 Hexagon NPU 为灵魂,把 CPU、GPU、DSP 这些风格各异的“厨师”组织起来,让 AI 模型——比如相册里的人像抠图、语音助手的唤醒词——在手机本地跑得又快又省电。它不只是一个芯片模块,而是一整套“后厨管理体系”:有硬件(各位师傅)、有菜谱(QNN 工具链)、有调度策略(运行时分配)。这篇文章,我们就用这间后厨作比喻,把 Qualcomm AI Engine 的架构、开发流程和算力演进,一次讲明白。
对 AI 从业者而言,理解 Qualcomm AI Engine 意味着你掌握了在安卓设备上落地端侧 AI 的钥匙——从模型优化到异构调度,这些能力直接决定你的产品能否在用户掌心里毫秒级响应。
可视化演示
展示骁龙平台Hexagon NPU异构架构、QNN SDK开发流程与各代骁龙AI算力演进,步进切换查看高通AI引擎核心机制。
本节配有交互动效(进入视口后自动加载,约 3KB)。
异构架构:Hexagon NPU+GPU+CPU Hexagon NPU(HTP)执行矩阵运算算力最高 Adreno GPU并行处理适合高吞吐场景 AI = HTP + GPU + CPU 异构调度器按任务特征分配最优单元
异构引擎
餐厅经理阿杰最清楚:主厨老陈的全能炒锅虽好,但让他在客人高峰时段去做 200 个纸杯蛋糕,反而会拖垮整条出菜线。手机芯片也一样——骁龙平台里住着各种“师傅”,没有谁可以包打天下。CPU 是那位全能主厨,适合处理各种逻辑控制;GPU 是甜点师,擅长成千上万次重复运算;而 Hexagon 则像分子料理师傅,专攻 AI 推理这道招牌菜。所谓“异构引擎”,就是让不同专长的计算单元各司其职,再由调度器统一协调。
这套异构思想正是 Qualcomm AI Engine 的灵魂。它不是一个新芯片,而是一整套硬件与软件协同的“后厨管理制度”。AI Engine 会根据任务特征,把工作分派给最合适的计算单元:模型推理的交给 Hexagon,图像渲染的交给 GPU,系统逻辑留给 CPU。调度器还实时盯着功耗和温度,就像阿杰会估计后厨的火力和排队情况,不让任何一位师傅过载。
从技术上看,异构计算的收益可以用 Amdahl 定律来理解:整个任务的加速比受限于串行部分。哪怕 HTP 把神经网络推理加速了 100 倍,如果数据搬运、预处理这些串行环节占比太大,整体收益依然有限。所以 AI Engine 的调度器不仅要选对人,还要尽量压缩串行环节——这也是为什么它与内存、缓存、GPU 之间的通道设计得特别宽。
回到那间后厨:阿杰再会调度,客人等位和结账的串行环节也省不掉。异构引擎的价值,是把 P 做得足够大——让能并行的活儿尽量并行,同时把串行瓶颈压到最小,团队的整体出菜速度才能起飞。
- 可并行比例 P指任务中能被多个计算单元分摊的部分。神经网络的卷积层天然适合并行,而数据整理、结果汇总这类逻辑属于串行。
- 并行单元数 N可以参与任务的计算单元个数,比如 CPU+GPU+HTP 三路并行时 N=3。
- 串行占比 (1-P)无法并行、必须一步步执行的耗时比例,Amdahl 定律里它是加速比的天花板。
- 加速比 S使用多单元并行后,整体耗时相对于单单元的倍数。
Hexagon 核心
分子料理师傅小林的厨房为什么特别?因为他有液氮罐、真空机、恒温浴槽这种专用设备。隔壁主厨的万能炒锅虽然什么都能做,但做低温慢煮既慢又费气。Hexagon 之于骁龙,正是这样一间“专用厨房”。
Hexagon 的名字源自高通早期的 DSP(数字信号处理器),那时它主要处理音频、传感器这类低功耗信号任务。随着 AI 浪潮到来,高通把 Hexagon 升级为 HTP(Hexagon Tensor Processor)——新增了专门的张量处理单元。这个“张量单元”就像小林的那台液氮罐,专门为神经网络里铺天盖地的矩阵乘法而生。HTP 内部同时拥有标量、向量、张量三类处理核心,分别应对不同粒度的运算。
HTP 的杀手锏是“用最低的功耗,跑最重的 AI 推理”。以 int8 量化为例,HTP 对 int8 数据有硬件的加速指令,相比 CPU 跑同样模型,吞吐可以提升数倍,功耗却只有几分之一。这也让 HTP 成为端侧 AI 推理的首选执行者——就像分子料理师傅做招牌菜,又快又省气。
就像液氮罐一次能处理海量食材分子,HTP 的张量单元在招牌菜(卷积、矩阵乘法)上就是比万能炒锅快几个数量级。这也是为什么高通敢说“HTP 是 AI Engine 的心脏”。
- MACs(乘加次数)硬件每个周期能同时执行的“乘+加”对数量,张量单元越大,这个数越大。
- 频率硬件运行的时钟速度,单位 GHz。
- 乘以 2 的原因一次乘加(MAC)被业界计为两次运算(FLOPs),所以算力要翻倍。
- TOPS 单位Tera Operations Per Second,即每秒 \(10^{12}\) 次操作。
QNN 工具链
米其林的菜谱是法文的,小林的厨房只认中文指令。要让小林做出一道标准的“云雾虾球”,得有个翻译官把菜谱转成小林的操作手册。QNN(Qualcomm Neural Network)SDK 就是这位翻译官。
QNN 工具的完整流程是这样的:开发者先用 PyTorch 或 TensorFlow 训练好模型,导出成 ONNX 或 TFLite 的通用格式——这相当于米其林总店发来的法文菜谱。接着,QNN 的模型转换器(如 qnn-onnx-converter)把菜谱翻译成 QNN 自己的网络描述格式;然后经过量化编译器,把浮点参数压成 int8,最终生成 HTP 能直接执行的二进制文件——一本图文并茂的中文操作手册。
到了设备端,QNN Runtime 负责“照着手册做菜”:它加载二进制、分配内存、驱动 HTP 执行推理,并向上层提供 C/C++ 与 Python API。如果你的模型里有 HTP 不支持的算子,调度器还能自动回退到 CPU 或 GPU——就像小林缺一把特殊模具时,阿杰会协调主厨用炒锅顶上,保证出菜不中断。这个“精度回退”机制,让开发者可以放心大胆地让模型跑在端侧。
翻译官不仅要翻语言,还得把“每份菜 180 克”换算成“3 号量勺舀两勺”这种师傅们能执行的指令。QNN 的价值,就是让任何主流框架训练的模型,都能在高通平台上找到最合适的“做法”,把 AI 从云端实验室端进千万台手机。
- 浮点输入 x模型权重或激活值,通常是 FP32 的连续数值。
- 缩放系数 scale每个整数刻度代表的浮点步长,由权重分布范围决定。
- 取整 round把 x/scale 的结果四舍五入到最近的整数,模拟硬件只认整数的特性。
- 零点 zero_point浮点 0 在量化域中的映射值,确保浮点数 0 能无损表示。
算力演进
这间后厨不是一天建成的。十年前它还是街边小馆,只有一个万能炒锅;如今已升级为米其林三星,设备一代代迭代——从柴火灶到煤气灶,再到电磁炉、分子料理全套装备。骁龙平台的 AI 算力,也走过了同样的跃迁之路。
回看骁龙 AI Engine 的代际演进:骁龙 845 时代,AI 算力大约 3 TOPS;骁龙 865 直接跳到 15 TOPS;骁龙 888 达到 26 TOPS;到了骁龙 8 Gen 2、Gen 3,不仅总 TOPS 突破 40,能效比更是翻了数倍。每一次跃升,背后都是 Hexagon 张量核心规模的扩大、内存带宽的提升以及调度策略的优化。就像小林的厨房,从一台液氮罐发展到一整套恒温设备矩阵。
但要警惕一句行话:“算力不是只看 TOPS。” 更重要的指标是能效比——每瓦功耗能提供多少算力。HTP 的核心竞争力恰恰在于此:同样跑一个 MobileNet 分类模型,CPU 可能要 3 瓦功耗,HTP 只需要不到 1 瓦,速度还更快。这也解释了为什么端侧 AI 必须依赖专用硬件:单纯堆 CPU 算力,手机会烫成暖手宝。
米其林评委不只看一道菜做得多快,更看重后厨不会烧掉房子。骁龙每一代升级,本质上都是在“同样的功耗预算里,做出更多道菜”——这就是能效比竞赛的真正意义。
- TOPS(算力)理论峰值算力,每秒万亿次整数操作。
- 功耗 W芯片实际消耗的电功率,单位瓦特。
- 能效比每瓦算力,衡量硬件把“电”转化为“计算”的效率。
端侧推理
客人点完菜,最好的体验是“菜在厨房里做好直接端上来”,而不是让外卖车跑一趟城里再送回来。端侧推理,就是这个“不出后厨”的闭环——整个 AI 模型在手机本地执行,数据不出设备。
一次典型的端侧推理流程,可以拆成四步。第一步是预处理:图片要被缩放、归一化,转成模型需要的张量格式——相当于把食材洗净切好。第二步是模型加载:通过 QNN 的 API 创建 Context 和 Graph,把编译好的 HTP 二进制载入内存——相当于师傅们各就各位、锅已热好。第三步是推理执行:张量数据送入 HTP,卷积、激活、池化层层推进——这是真正掌勺的过程。第四步是后处理:把输出张量解析成人类可读的结果,比如画个框、贴个标签——相当于摆盘上桌。
这四步在 QNN 的代码里对应着一组明确的 API 调用:从 QnnContext_create 到 QnnGraph_create,再到 QnnTensor_setData 与 QnnGraph_execute。每一步都有大量工程细节:内存对齐、buffer 复用、异步调用……但开发者不需要关心 HTP 内部的每条指令——QNN 已经把这些细节封装成了稳定的接口,就像师傅们不需要知道菜谱为什么这么设计,照章执行即可。
端侧推理的“上菜”体验,核心诉求就是快且稳。数据不出设备,既省去了网络往返的延迟,也保护了隐私——这就像在自家后厨用餐,菜品新鲜、上菜快、配方不外泄,比叫外卖车靠谱得多。
- 原始得分 \(z_i\)模型对第 i 类的输出值,未归一化。
- 自然指数 \(e^{z_i}\)把得分映射成正数,且拉开差距。
- 分母求和对所有类别的指数求和,作为归一化系数。
- 概率输出归一化后每个值都在 0~1 之间,总和为 1。
调优策略
同样一道招牌菜,有的店翻台率特别高,秘诀往往不是多雇厨师,而是优化流程:减少等位时间、缩短传菜距离、控制煤气开销。端侧 AI 的性能调优,玩的是同样的游戏。
第一板斧是量化。把 FP32 模型转成 int8,模型体积直接缩到原来的 1/4,推理速度也因为 HTP 的 int8 加速指令而大幅提升。第二板斧是算子融合:把“卷积+批归一化+ReLU”三个步骤合并成一个算子,减少对内存的反复读写——就像把“洗菜、切菜、焯水”三个动作合并成一条流水线,省去中间摆放的环节。第三板斧是内存复用:神经网络每一层的中间结果用完即弃,让后续层直接覆盖同一块 buffer,大大降低内存峰值。第四板斧是异步流水线:让数据搬运和计算重叠起来,就像厨师一边炒菜,帮厨一边备下一道菜,不浪费一秒空档。
这四条策略组合起来,正是“端侧 AI 落地”的核心技能。它们的目标只有一个:在有限的内存、功耗和算力预算内,把推理做到最快。对于 AI 工程师来说,调优不是锦上添花,而是端侧产品能否流畅运行的生死线——模型再准,卡成幻灯片也没人会用。
优秀的店长不是无限添置设备,而是把每个环节的冗余砍掉:统一备料(算子融合)、缩短传菜距离(内存复用)、错峰开火(异步流水线)。调优的意义,就是让每一毫瓦电和每一个字节内存,都花在“出菜”这件正事上。
- FP32 体积原始模型权重以 32 位浮点存储的总字节数。
- 除以 4int8 每个参数只占 1 字节,是 FP32 的 1/4。
- 内存压缩比量化前后的体积之比。
AI 应用场景
相册离线人像虚化
阶段:端侧推理(模型部署与执行)
解决的问题:传统人像虚化需要把照片上传云端处理,一等就是几秒,还面临隐私泄露风险。AI Engine 在本地完成人像分割推理,数据不出手机。
具体案例:用户在小米手机上打开相册编辑,点一下“人像虚化”,背后是 HTP 在执行一个 MobileNet 风格的语义分割模型。从点击到预览出效果,全程不到 100 毫秒——就像后厨在客人眼皮底下完成了一道分子料理的摆盘。
息屏免唤醒语音助手
阶段:低功耗始终在线感知
解决的问题:手机息屏时,如果靠 CPU 一直监听语音,一天就没电了。Hexagon DSP 的低功耗核心能以毫瓦级功耗持续监听“唤醒词”。
具体案例:用户把手机揣兜里,说一声“小馋猫”,手机立刻亮屏响应。这个唤醒词的识别完全在 Hexagon 上跑,功耗不到 10 毫瓦——相当于后厨里留了一位守夜师傅,不开大灶、不费气,只等着那句暗号。
短视频实时超分
阶段:模型压缩与推理加速
解决的问题:网络不佳时视频模糊,云端超分延迟高。HTP 的张量单元对 3D 卷积加速显著,可以在本地实时把 540P 视频超分到 1080P。
具体案例:某短视频 App 在骁龙 8 Gen 2 设备上开启“画质增强”,用户观看直播时画面自动变清晰。QNN 工具链把超分模型量化编译后部署到 HTP,30 帧每秒的推理吞吐让画面如丝般顺滑——分子料理师傅开足马力,一晚上能稳定出品上千道招牌菜。
Python 演示
"""mini_qnn_demo.py - 模拟 Qualcomm AI Engine 的异构调度与量化推理""" class ComputeUnit: """计算单元基类:名称、速度(MACs/ms)、功耗(瓦)""" def __init__(self, name, speed, power): self.name = name self.speed = speed self.power = power def execute(self, macs): """返回执行 macs 次乘加所需的毫秒数""" return macs / self.speed class CPUUnit(ComputeUnit): def __init__(self): super().__init__("CPU", 200.0, 3.0) class GPUUnit(ComputeUnit): def __init__(self): super().__init__("GPU", 800.0, 2.0) class HTPUnit(ComputeUnit): def __init__(self): super().__init__("Hexagon HTP", 1600.0, 0.8) class Quantizer: """FP32 到 INT8 的量化与反量化""" def __init__(self, scale, zero_point): self.scale = scale self.zero_point = zero_point def quantize(self, matrix): return [[int(round(v / self.scale)) + self.zero_point for v in row] for row in matrix] def dequantize(self, matrix): return [[(v - self.zero_point) * self.scale for v in row] for row in matrix] def conv2d_single_channel(image, kernel, size=3): """3x3 卷积:输入 5x5 特征图,输出 3x3 特征图""" out = [] for i in range(len(image) - size + 1): row = [] for j in range(len(image[0]) - size + 1): acc = 0 for ki in range(size): for kj in range(size): acc += image[i + ki][j + kj] * kernel[ki][kj] row.append(acc) out.append(row) return out class AIEngine: """调度器:根据任务类型选择最优计算单元""" def __init__(self): self.units = {"CPU": CPUUnit(), "GPU": GPUUnit(), "HTP": HTPUnit()} self.schedule_count = 0 def dispatch(self, task): self.schedule_count += 1 if task == "tiny_audio": return self.units["HTP"] if task == "video_frame": return self.units["GPU"] return self.units["CPU"] def main(): image = [[1.0, 2.0, 3.0, 4.0, 5.0]] * 5 kernel = [[0.1, 0.2, 0.1], [0.2, 0.5, 0.2], [0.1, 0.2, 0.1]] quantizer = Quantizer(scale=0.05, zero_point=128) engine = AIEngine() macs = 5 * 5 * 3 * 3 unit = engine.dispatch("tiny_audio") q_image = quantizer.quantize(image) q_feature = conv2d_single_channel(q_image, kernel) feature = quantizer.dequantize(q_feature) print("[调度] 唤醒词任务分派到 %s,耗时 %.2f ms" % (unit.name, unit.execute(macs))) print("[量化] 浮点 1.0 -> int8 %d,输出特征图首像素 %.3f" % (q_image[0][0], feature[0][0])) if __name__ == "__main__": main()
class ComputeUnit定义计算单元的公共接口,对应高通平台上 CPU/GPU/HTP 的抽象class HTPUnit(ComputeUnit)模拟 Hexagon HTP:速度 1600 MACs/ms、功耗仅 0.8W,最擅长 AI 推理def quantize(self, matrix)实现量化公式round(x / scale) + zero_point,把浮点矩阵压成 int8def conv2d_single_channel手动实现 3x3 卷积,模拟神经网络最核心的张量运算class AIEngine.dispatch模拟调度器策略:唤醒词给 HTP、视频帧给 GPU、其余给 CPUengine.dispatch("tiny_audio")端侧唤醒词任务被分派到 HTP,对应真实场景中 Hexagon 低功耗监听
常见误区
误区我一直以为 Hexagon 是高通手机里的音频处理芯片,专门用来降噪和听歌的,跟 AI 有什么关系?做 AI 推理不还是靠 GPU 吗?
正解Hexagon 确实从音频 DSP 起家,但早已进化为 HTP(Tensor Processor)。它内部新增了张量处理单元,专门加速矩阵乘法这类神经网络核心运算,是骁龙 AI Engine 真正的王牌。音频处理只是它众多技能之一,就像分子料理师傅也会切菜,但招牌是液氮虾球。
为何常见:Hexagon 的品牌名沿用多年,早期 DSP 的音频/传感器标签太深入人心,很多人没注意到它内部架构早已换代。
误区QNN 不就是把 PyTorch 模型转成高通格式的命令行工具吗?转换完就完事了,剩下的交给 App 调用就行。
正解QNN 是一套完整工具链,包括离线转换器(Model Converter)、量化编译器(Quantization Compiler)和运行时(QNN Runtime + HTP Backend)。设备端推理时的内存分配、图执行、输出读取,全都要靠运行时 API 驱动。只转换不调度的“翻译官”,交不了差。
为何常见:很多人跑完 qnn-onnx-converter 就以为大功告成,真正落地时才发现还要写大量运行时调度代码,于是产生了“离线工具”的片面印象。
误区买手机就看 AI 跑分,TOPS 数字大一倍,跑 AI 就应该快一倍。骁龙 8 Gen 3 的 45 TOPS 肯定比前代 30 TOPS 流畅一半吧?
正解TOPS 是理论峰值算力,实际推理速度还受内存带宽、算子支持度、调度开销、利用率多重影响。而且高 TOPS 若伴随高功耗,手机两秒就发热降频,实际体验反而更差。真正该看的是能效比(TOPS/W)和实测帧率,就像后厨设备再豪华,传菜通道太窄照样翻车。
为何常见:TOPS 是厂商宣传最醒目的数字,消费者天然拿它做横向比较,忽略了“理论”二字。
误区既然 QNN 都封装好了,那我在安卓里写几行代码调用推理 API,不就能跑起来了吗?性能不好是芯片的问题。
正解QNN 只提供执行引擎,真正决定性能的是上游优化:模型量化精度选择、算子融合、内存复用、异步调用、多线程调度……这些都需要开发者精心设计。同样的模型,不同团队的调优水平可以让推理速度差出 3 到 5 倍。就像同样的菜谱,有人做出米其林,有人做出大排档。
为何常见:SDK 封装越来越友好,让入门者误以为“能跑通”等于“跑得好”,等到要落地上线才体会到调优的艺术。
面试题
Q1. 下面哪个不属于骁龙 AI Engine 的核心计算单元?
- A.CPU 通用核心
- B.GPU 渲染核心
- C.Hexagon HTP
- D.云端 TPU 服务← 正确答案
答案:D。AI Engine 是设备端的异构计算体系,由 CPU、GPU、Hexagon HTP 组成。云端 TPU 是谷歌数据中心的芯片,跟手机本地推理无关。就像后厨团队再豪华,也不包括隔壁餐厅的外聘大厨。
Q2. Hexagon HTP 的张量单元最擅长加速哪类运算?
- A.字符串模糊匹配
- B.神经网络矩阵乘法← 正确答案
- C.底层文件系统读写
- D.HTTP 网络请求解析
答案:B。HTP 的张量单元专门为卷积、矩阵乘法这类神经网络核心运算设计。字符串匹配是 CPU 的强项,文件读写靠存储控制器,网络请求由调制解调器处理。就像液氮罐不能拿来炒青菜,专用设备各有所长。
Q3. 将 FP32 模型量化为 INT8 后,模型体积大约缩小为原来的多少?
- A.缩小为 1/2
- B.缩小为 1/4← 正确答案
- C.缩小为 1/8
- D.体积不变化
答案:B。FP32 每个参数占 4 字节,INT8 只占 1 字节,所以参数总量变为原来的 1/4。量化是端侧 AI 最常用的省内存手段,相当于把大份食材统一切成小丁,既省冰箱空间,下锅也更快。
Q4. QNN SDK 把模型部署到 HTP 的正确主流程是?
- A.训练后直接部署无需转换
- B.转换器转 QNN 再量化编译← 正确答案
- C.纯手工重写全部底层算子
- D.运行时临时动态转换模型
答案:B。标准流程是:ONNX/TFLite 模型经 Model Converter 转成 QNN 描述格式,再编译成 HTP 可执行的二进制。运行时临时转换不现实,因为编译开销太大;纯手工重写算子则完全违背 SDK 的意义。
Q5. 下面哪项不属于常见的端侧推理性能调优策略?
- A.卷积与激活算子融合
- B.中间张量内存复用
- C.模型整体量化到 INT8
- D.无限增大推理批次大小← 正确答案
答案:D。算子融合、内存复用、量化都是经典优化手段。但“无限增大 Batch”是陷阱:HTP 内存有限,Batch 过大会导致内存溢出或排队延迟增加,反而拖慢单次推理。就像后厨一次接 1000 桌订单,锅台根本摆不下。
Q6. 端侧推理时,图像缩放和归一化这类预处理最好放在哪里做?
- A.每次推理临时在 CPU 上做
- B.在数据进入 HTP 前用向量单元做← 正确答案
- C.把图片上传云端做预处理
- D.完全不做直接送入模型
答案:B。预处理虽然是串行环节,但可以利用向量单元(如 Hexagon 的 HVX)高效完成,避免 CPU 成为瓶颈。端侧推理的精髓是“整个后厨闭环”,把预处理交给专业单元,主厨才能专心掌勺。
Q7. 根据 Amdahl 定律,可并行比例 P=0.8、并行单元数 N=4 时,理论加速比是多少?
- A.2.5 倍← 正确答案
- B.4.0 倍
- C.3.2 倍
- D.1.6 倍
答案:A。代入公式 S = 1 / ((1-0.8) + 0.8/4) = 1 / (0.2 + 0.2) = 2.5。即使有 4 个计算单元并行,串行的 20% 仍然锁死了加速比上限。这提醒我们:异构引擎再强,也要尽量减少串行环节。
Q8. 骁龙 AI Engine 的 AI 推理能力由哪些单元共同贡献?
- A.CPU 通用计算核心← 正确答案
- B.GPU 图形渲染核心← 正确答案
- C.Hexagon HTP 张量核← 正确答案
- D.基带通信调制解调器
答案:ABC。AI Engine 提倡异构协作:CPU 做控制,GPU 做并行渲染,HTP 做低功耗推理。基带芯片负责蜂窝通信,不参与 AI 计算。就像后厨的接单小哥、备菜阿姨和掌勺师傅各司其职,收银台不负责炒菜。
Q9. 关于 QNN 工具链,下列说法正确的有哪些?
- A.可以导入 ONNX 格式模型← 正确答案
- B.提供运行时推理 API← 正确答案
- C.只能发布高通自研模型
- D.支持量化编译与部署← 正确答案
答案:ABD。QNN 支持 ONNX/TFLite 等主流格式导入,提供 C/C++/Python 运行时 API,并包含量化编译器。它不是封闭的私有框架,恰恰相反,兼容主流生态是它的核心卖点。就像翻译官能翻译法文、英文、日文菜谱,不只会高通的母语。
Q10. 与 CPU 相比,HTP 在跑神经网络时具备哪些优势?
- A.单位功耗吞吐更高← 正确答案
- B.专用张量指令加速← 正确答案
- C.网络断开依旧可用
- D.应用层无需任何修改
答案:AB。HTP 的专用张量单元和 int8 指令让它在算力与能效上都远超 CPU。“断网可用”是端侧推理的通用优势,并非 HTP 相对 CPU 的特有优势;应用层代码需要针对 QNN API 重写,不是零修改。就像分子料理设备做招牌菜又快又省气,但你不能指望它自动把菜单全包了。