移动端推理引擎赛道
数据核实:2026-06-23 · 风险项目见 选题策略
第一次来? 直接进入 → 30 章系统性导读(42 万字,从 ARM NEON 基础到六大框架精读到竞赛实战)
6 个项目:ncnn、MNN、ONNX Runtime、TNN、Paddle-Lite、MACE
核心问题:如何在手机上高效运行神经网络?从 ARM NEON 汇编优化到 GPU Shader,从算子融合到内存复用,各框架在性能与兼容性之间的权衡。
阅读路线
竞赛路径(优先 ncnn):行业全景 → 赛道深度分析 → 精读 ncnn → 竞赛指南 → 技术挑战
深度学习路径:行业全景 → 赛道深度分析 → 逐项精读 → 技术挑战 → 扩展研究
MNN → ncnn 桥接路线:精读 mnn → MNN 与 ncnn 对照 → 精读 ncnn
研究笔记
| 层次 | 文档 |
|---|---|
| 行业全景 | 行业全景 |
| 深度分析 | 赛道深度分析 · 技术挑战 |
| 项目精读 | ncnn · MNN · ONNX Runtime · TNN · Paddle-Lite · MACE |
扩展研究
| 文档 | 用途 |
|---|---|
| 竞赛指南: ncnn 贡献 | ncnn 贡献路径、Issue 分析、第一周行动 |
| 端侧部署流水线 | PyTorch 到手机的完整链路 + 失败模式 |
| MNN 与 ncnn 对照 | 学完 MNN 再读 ncnn 的概念映射 |
更多深度材料(侧边栏隐藏):端侧 LLM 推理横评、跨赛道 YOLO 到端侧。
跨赛道关联:目标检测赛道的 Edge AI 生产全景 串联两赛道全图。
竞赛速查
完整竞赛指南 → 竞赛指南: ncnn 贡献
目标项目:ncnn(腾讯端侧推理框架,C++,nihui 主导维护)
第一周 checklist:
- Day 1:Mac/Linux 编译 ncnn + 跑 benchncnn + 安装 Python 包
- Day 2:读 docs/developer-guide/ 5 篇核心文档(elempack、Layer 结构)
- Day 3:选 1 个 PNNX 相关 issue 复现,写复现报告
- Day 4–5:基于复现写 FAQ/troubleshooting PR 或修 PNNX pass → 响应 CI 反馈
环境矩阵摘要:
| 环境 | 能做什么 | 不能做什么 |
|---|---|---|
| Mac(Apple Silicon) | 编译(不含 Vulkan)、benchncnn、Python bindings、文档 PR | Vulkan shader 测试、交叉编译端到端 |
| Linux x86_64 + Vulkan | 全功能(含 Vulkan、CI 复现、PNNX 算子开发) | — |
| 无 GPU | 代码阅读、文档、CPU-only 推理测试 | Vulkan/GPU Layer 验证 |
已知风险:强个人维护者模式,PR review 周期不可控——描述务必简洁清晰。
读完竞赛路径后你应能…
- ncnn 的算子优化策略(NEON intrinsic vs 汇编)与 MNN 的差异是什么?各自适合什么场景?
- 从一个 PyTorch 模型到 ncnn 推理的完整链路中,哪些步骤最容易出错?
- 给你一个 ncnn 的 good-first-issue(如新增算子),你知道需要修改哪些文件、遵循什么代码规范吗?