边缘推理:Apple 神经引擎、Qualcomm Hexagon、WebGPU/WebLLM 与 Jetson 本节摘要:边缘推理的核心约束是内存带宽,不是算力。移动 DRAM 在 5090 GB/s;数据中心 HBM3 可达 23 TB/s——3050 倍的鸿沟。Decode 是内存受限的,所以这道鸿沟是决定性的。2026 年的格局分四路。Apple M4/A18 神经引擎(ANE)峰值 38 TOPS,统一内存(无 CPU↔NPU 拷贝);Qualcomm 骁龙 X Elite / 8 Gen 4 Hexagon 达 45 TOPS;WebGPU + WebLLM 在 M3 Max 上跑 Llama 3.1 8B(Q4)约 41 tok/s(约为原生的 7080%),GitHub 17.
本节摘要:边缘推理的核心约束是内存带宽,不是算力。移动 DRAM 在 5090 GB/s;数据中心 HBM3 可达 23 TB/s——3050 倍的鸿沟。Decode 是内存受限的,所以这道鸿沟是决定性的。2026 年的格局分四路。Apple M4/A18 神经引擎(ANE)峰值 38 TOPS,统一内存(无 CPU↔NPU 拷贝);Qualcomm 骁龙 X Elite / 8 Gen 4 Hexagon 达 45 TOPS;WebGPU + WebLLM 在 M3 Max 上跑 Llama 3.1 8B(Q4)约 41 tok/s(约为原生的 7080%),GitHub 17.6k 星、OpenAI 兼容 API、约 70~75% 移动覆盖;NVIDIA Jetson Orin Nano Super(8GB)装得下 Llama 3.2 3B / Phi-3,AGX Orin 经 vLLM 跑 gpt-oss-20b 约 40 tok/s,Jetson T4000(JetPack 7.1)性能是 AGX Orin 的 2 倍。TensorRT Edge-LLM 支持 EAGLE-3、NVFP4、分块 prefill——在 CES 2026 由 Bosch、ThunderSoft、联发科演示。
对应原课程:Phase 17 · Lesson 12 ·
12-edge-inference(原英文phases/17-infrastructure-and-production/12-edge-inference/docs/en.md)。
阅读完本节,你应当能够:
某客户想要一个端上聊天机器人:语音优先、隐私默认、可离线。在 MacBook Pro M3 Max 上,Llama 3.1 8B Q4 跑约 55 tok/s——没问题。在 iPhone 16 Pro 上,同模型跑 3 tok/s——不行。在中端骁龙 8 Gen 3 安卓上,7 tok/s。浏览器经 WebGPU 在 Chrome Android v121+ 上,依设备 4~8 tok/s。
吞吐差异不是移植问题。它是带宽鸿沟 × 量化格式 × NPU 能否从用户态访问的乘积。2026 年的边缘推理是四个不同问题,有四个不同解。
Decode 每 token 都要读全部权重。一个 7B Q4 模型是 3.5 GB。50 GB/s 读 3.5 GB 要 70 ms——理论上限约 14 tok/s。90 GB/s(高端移动 DRAM)上限约 25 tok/s。在这数字之下,多少算力都帮不上忙。
数据中心 HBM3 在 3 TB/s 下,同样 3.5 GB 只要 1.2 ms——上限 830 tok/s。同模型、同权重,不同内存子系统。
.mlmodel 访问,或经 Metal Performance Shaders(MPS)走 PyTorch。| 目标 | 格式 | 备注 |
|---|---|---|
| Apple ANE | INT4 权重 + FP16 激活 | Core ML 转换路径 |
| Qualcomm Hexagon | QNN INT8 / INT4 | AI Hub 转换器 |
| WebGPU / WebLLM | Q4 MLC(q4f16_1) | 用 mlc_llm convert_weight + 编译 .wasm;不支持 GGUF |
| Jetson Orin Nano | Q4 GGUF 或 TRT-LLM INT4 | 内存受限 |
| Jetson AGX / Thor | NVFP4 + FP8 KV | Edge-LLM 路径 |
Llama 3.1 的 128K 上下文是数据中心特性。8 GB RAM 的手机上,4 GB 模型 + 32K token 的 2 GB KV 缓存 + 系统开销 = OOM。边缘部署把上下文压到 4K~8K,除非接受激进的 KV 量化(Q4 KV)。
语音 Agent 延迟敏感(首 token < 500 ms)。本地推理彻底消除网络延迟。配合语音转文字(Whisper Turbo 变体可在边缘跑),边缘推理就成了生产级语音回路。
原课程 code/main.py 跨边缘目标,从带宽受限算式算理论 decode 天花板,对比实测基准,标出哪是带宽瓶颈而非算力。下面给最小可读骨架。
def decode_ceiling(weight_gb, bandwidth_gbs): """带宽受限下的理论 decode tok/s 上限。 参数: weight_gb: 需逐 token 读取的权重 GB(量化后) bandwidth_gbs: 内存带宽 GB/s 返回: tok/s 上限 """ ms_per_token = (weight_gb / bandwidth_gbs) * 1000 return round(1000 / ms_per_token, 1) if ms_per_token else float("inf") # 案例:Llama 3.1 8B Q4 ≈ 3.5 GB,跨设备带宽 for label, bw in [("iPhone(50 GB/s)", 50), ("高端安卓(90 GB/s)", 90), ("M3 Max(400 GB/s)", 400), ("HBM3(3000 GB/s)", 3000)]: print(f"{label}: 8B Q4 天花板 {decode_ceiling(3.5, bw)} tok/s") # 这解释了为什么 iPhone 16 Pro 上 8B 只有 3 tok/s——带宽天花板 ~14,加上 NPU 访问开销
💡 在边缘上,「换更快的 NPU」往往不涨 tok/s——因为带宽才是天花板。提升量化档位(把 3.5 GB 压到 2 GB)比加算力更直接。
| 目标 | 算力 | 内存模型 | 量化路径 | 杀手用例 |
|---|---|---|---|---|
| Apple ANE | 38 TOPS | 统一内存,无拷贝 | Core ML INT4+FP16 | iOS 应用的隐私默认聊天 |
| Qualcomm Hexagon | 45 TOPS | 独立内存域 | QNN INT8/INT4 | Windows on ARM、安卓旗舰 |
| WebGPU/WebLLM | 依设备 GPU | 浏览器沙箱 | MLC Q4(q4f16_1) | 无安装的浏览器内推理 |
| NVIDIA Jetson | 依型号(Thor 2× AGX) | 统一/独立 | GGUF Q4 / TRT NVFP4 | 机器人、车载、边缘服务器 |
心法:iOS → Core ML ANE;安卓/Windows ARM → QNN Hexagon;浏览器 → WebLLM;机器人/车载 → Jetson + TRT Edge-LLM。统一推理栈要靠 OpenAI 兼容 API 在应用层抹平差异。
本节产出 outputs/skill-edge-target-picker.md(原课程目录)。给定平台(iOS/安卓/浏览器/Jetson)、模型、延迟与内存预算,它选出量化格式与转换流水线:
跑通计算器:运行 code/main.py。对骁龙 8 Gen 3(约 77 GB/s)上的 7B Q4,算 decode 天花板。对比实测 6~8 tok/s——运行时高效吗?
WebGPU 降级:Android 上 WebGPU 需要 Chrome v121+。为旧浏览器设计一个降级——服务器端经同一 OpenAI 兼容 API。
iOS 内存:你的 iOS 应用要 4K 上下文流式。哪个模型/格式组合能让你在 iPhone 16 上保持在 4 GB 活跃内存内?
统一栈:AGX Orin 跑 gpt-oss-20b 在 40 tok/s,Nano 只装 3B。如果你的产品同时瞄准两者,如何统一推理栈?
论证 WebLLM:论证「2026 年 WebLLM 是否生产就绪」。引用覆盖率、性能与 Firefox Android 缺口。
下一节,我们转向「看得见」的问题——LLM 可观测性:看如何用 Langfuse / Arize / Helicone 这类栈,把提示、响应、延迟、成本、质量一次性收进可查询的存储。