2025-11-20T22:43:14.952401

Hardware optimization on Android for inference of AI models

Gherasim, Sánchez
The pervasive integration of Artificial Intelligence models into contemporary mobile computing is notable across numerous use cases, from virtual assistants to advanced image processing. Optimizing the mobile user experience involves minimal latency and high responsiveness from deployed AI models with challenges from execution strategies that fully leverage real time constraints to the exploitation of heterogeneous hardware architecture. In this paper, we research and propose the optimal execution configurations for AI models on an Android system, focusing on two critical tasks: object detection (YOLO family) and image classification (ResNet). These configurations evaluate various model quantization schemes and the utilization of on device accelerators, specifically the GPU and NPU. Our core objective is to empirically determine the combination that achieves the best trade-off between minimal accuracy degradation and maximal inference speed-up.
academic

Hardware optimization on Android for inference of AI models

基本信息

  • 论文ID: 2511.13453
  • 标题: Hardware optimization on Android for inference of AI models
  • 作者: Iulius Gherasim, Carlos García Sánchez (Complutense University of Madrid)
  • 分类: cs.LG (Machine Learning), cs.PF (Performance)
  • 发表时间: 2025年11月17日 (arXiv提交)
  • 论文链接: https://arxiv.org/abs/2511.13453

摘要

本文研究了AI模型在Android系统上的硬件优化推理问题。针对移动计算中AI模型的普遍集成(从虚拟助手到高级图像处理),研究者聚焦于两个关键任务:目标检测(YOLO系列)和图像分类(ResNet)。通过评估不同的模型量化方案以及设备加速器(GPU和NPU)的利用,本文的核心目标是实证确定在最小精度损失和最大推理加速之间实现最佳权衡的配置组合。

研究背景与动机

1. 要解决的问题

随着AI模型在移动设备上的广泛应用,如何在保证模型精度的前提下实现低延迟、高响应性的推理成为关键挑战。具体包括:

  • 如何充分利用移动设备的异构硬件架构(CPU、GPU、NPU)
  • 如何选择合适的模型量化方案平衡精度与速度
  • 如何针对不同AI任务(分类vs检测)优化执行配置

2. 问题的重要性

  • 能源消耗: Google估计2019-2021年间AI相关任务占其总能耗的10-15%,其中推理阶段消耗60%的能量;Meta报告推理占AI能耗的70%
  • 增长趋势: Google能耗年增长21%,Meta更是达到32%
  • 用户体验: 移动AI性能已成为核心差异化因素,需要满足严格的实时性和精度要求

3. 现有方法的局限性

  • 早期解决方案主要依赖GPU卸载计算,但未充分利用专用NPU加速器
  • 缺乏针对移动设备异构架构的系统性优化研究
  • 量化方案的选择缺乏针对不同任务和硬件的实证指导

4. 研究动机

  • 采用MLPerf基准测试原则,在商用Android设备上系统评估性能
  • 选择工业标准模型(ResNet用于分类,YOLO用于检测)作为代表性评估
  • 填补移动端AI推理优化的实证研究空白

核心贡献

  1. 系统性硬件评估: 首次在商用Android设备(Samsung Galaxy Tab S9)上系统评估CPU、GPU、NPU三种计算单元在AI推理任务中的性能表现
  2. 量化方案分析: 全面比较了7种量化方案(FP32、FP16、INT8、INT16、FINT8、FINT16、Dynamic)在不同硬件上的精度-速度权衡
  3. 任务特定优化建议:
    • 针对ResNet分类任务:NPU + INT8量化可实现130×加速,精度损失<3%
    • 针对YOLO检测任务:NPU + FP16量化为最优,避免INT8带来的6.5 mAP精度损失
  4. Pareto前沿分析: 提供多目标优化视角,明确不同配置在精度-延迟空间的最优权衡点
  5. 实践发现:
    • NPU在所有配置中表现最优,最高可达298×加速(YOLOv8x)
    • 动态量化在NPU上失败,揭示了硬件兼容性问题
    • CPU多线程扩展性受限(最高3.4×),归因于非对称核心架构

方法详解

任务定义

本研究聚焦两个核心计算机视觉任务:

  1. 图像分类: 输入单张图像,输出类别标签及置信度(使用ResNet系列)
  2. 目标检测: 输入单张图像,输出多个边界框、类别和置信度(使用YOLO系列)

目标是在Android移动设备上找到最优的硬件配置和量化方案组合。

实验架构

硬件平台

设备: Samsung Galaxy Tab S9 SoC: Qualcomm Snapdragon 8 Gen 2 (SM8550-AC)

CPU (Kryo): 8核big.LITTLE配置

  • 3个小核: ARM Cortex-A510 @ 2.0 GHz
  • 4个中核: 2×Cortex-A710 + 2×Cortex-A715 @ 2.8 GHz
  • 1个大核: Cortex-X3 @ 3.36 GHz

GPU: Qualcomm Adreno 740

  • 12个着色器处理单元 @ 719 MHz
  • 支持FP32和FP16精度执行

NPU (Hexagon Processor):

  • 专用张量、标量、向量运算单元
  • 共享内部内存架构
  • 支持Micro Tile Inferencing技术(将模型层分区并行执行)

软件环境

框架: LiteRT (TensorFlow Lite的品牌重塑)

  • CPU/GPU: LiteRT Next 2.0.2
  • NPU: LiteRT 1.4.0(由于2.0.2版本NPU管道存在问题)

模型转换流程:

PyTorch模型 → ONNX格式 → TFLite格式
  • 使用PyTorch内置导出工具生成ONNX
  • 使用Katsuya Hyodo的onnx2tf包转换为TFLite
  • 量化在onnx2tf转换阶段完成

量化方案详解

本研究评估了7种量化配置(见表II):

方案名称I/O数据类型操作精度激活值权重
FP32FP32FP32FP32FP32
FP16FP32FP32FP32FP16
INT8FP32INT8INT8INT8
INT16FP32INT8INT16INT16
FINT8INT8INT8INT8INT8
FINT16INT16INT8INT16INT16
DYNFP32MixedFP32Mixed

关键技术点:

  1. 静态量化: 权重离线转换为目标数据类型(如INT8),固定存储
  2. 动态量化(DYN): 权重存储为8位,但激活值在运行时才量化,引入运行时开销但精度保持更好
  3. INT16限制: LiteRT缺乏优化的INT16内核实现,导致性能极差

技术创新点

  1. 混合框架方法: 针对软件兼容性约束,采用LiteRT Next (CPU/GPU)和标准LiteRT (NPU)的混合方案,确保全面评估
  2. 系统性配置空间探索:
    • 3种硬件×7种量化×多种模型尺寸
    • 涵盖5个ResNet变体(18/34/50/101/152)
    • 涵盖5个YOLOv8变体(n/s/m/l/x)
    • 涵盖5个YOLO11变体(n/s/m/l/x)
  3. Pareto优化视角: 不追求单一最优,而是提供精度-延迟权衡的Pareto前沿,支持多目标决策
  4. 框架转换损失量化: 明确测量PyTorch到LiteRT转换引入的精度损失(ResNet: 0.83-1.77%; YOLO11: 0.2-0.4 mAP)

实验设置

数据集

  • ResNet分类: 使用标准ImageNet验证集
  • YOLO检测: 使用COCO验证集

评价指标

  1. 推理延迟: 平均推理时间(毫秒)
  2. 加速比: 相对于FP32 CPU单线程基线的速度提升倍数
  3. 分类精度: Top-1准确率(ResNet)
  4. 检测精度: mean Average Precision (mAP) @ IoU=0.5:0.95(YOLO)
  5. 精度损失: 相对于FP32基线的精度下降百分比

对比配置

执行设备:

  • CPU-SC: CPU单线程
  • CPU-MC: CPU多线程(8核)
  • GPU32: GPU FP32模式
  • GPU16: GPU FP16模式
  • NPU: 神经处理单元

量化方案: FP32、FP16、INT8、INT16、FINT8、FINT16、DYN

实现细节

  • 开发定制Android应用执行模型并记录结果
  • 每个配置执行多次推理取平均值
  • 使用pycocotools计算mAP
  • 使用标准top-1计算方法评估分类准确率

实验结果

主要结果

ResNet性能表现

ResNet18推理时间(毫秒):

配置CPU-SCCPU-MCGPU32GPU16NPU
FP3279.0626.3413.685.541.20
INT823.265.6321.7722.680.61

关键发现:

  • NPU在FP32上实现65.9×加速,INT8上达到129.6×加速
  • INT16量化表现极差(>800ms),被排除在后续分析外
  • FINT8量化精度灾难性下降至0.08% Top-1,也被排除

ResNet50性能分析:

  • NPU + INT8: 121.5×加速,精度损失仅0.41%
  • GPU16模式相比GPU32提供约2×加速
  • CPU多线程最高加速3.4×(INT8),远低于理论8×

量化影响(表X):

模型INT8精度损失DYN精度损失
ResNet182.94%0.10%
ResNet500.41%0.19%
ResNet1520.20%0.07%

趋势: 更大模型对INT8量化更鲁棒,精度损失从2.94%降至0.20%

YOLO性能表现

YOLOv8n推理时间对比:

  • NPU展现最佳性能
  • FP32: 29×加速
  • INT8: 46.8×加速
  • 延迟高于ResNet(任务复杂度更高)

YOLOv8精度损失(表XII):

模型INT8损失(mAP)DYN损失(mAP)
YOLOv8n6.50.1
YOLOv8s6.20.0
YOLOv8x6.10.1

关键洞察:

  • INT8对检测任务伤害显著(平均6.5 mAP损失)
  • 动态量化几乎无损(≤0.1 mAP)
  • 检测任务需要更多信息(定位+分类),对量化更敏感

YOLO11 vs YOLOv8:

  • YOLO11在小模型上精度更高
  • NPU执行略慢(架构更复杂)
  • 动态量化在NPU上完全失败
  • INT8损失略增至平均7.2 mAP

消融实验

CPU多线程扩展性(表XV)

模型FP32FP16INT8DYN
ResNet183.0×3.0×14.0×10.6×
ResNet502.0×2.0×9.5×7.2×
YOLOv8x2.7×2.1×13.4×10.1×

分析:

  • INT8提供最佳多线程加速
  • 浮点精度扩展性差(2-3×)
  • 非对称核心架构限制并行效率

GPU精度模式影响(表VIII)

ResNet50上GPU32 vs GPU16:

  • 量化方案对GPU速度影响极小
  • GPU16模式提供稳定的2×加速
  • 更大模型在GPU16上优势更明显

NPU动态量化失败分析

  • 动态量化模型包含混合精度层
  • NPU缺乏运行时数据类型转换支持
  • 需要频繁NPU-CPU数据传输
  • 导致严重性能退化(ResNet50: 仅2.3×加速 vs INT8的121.5×)

Pareto前沿分析

ResNet Pareto前沿(图6):

  • INT8配置主导前沿:延迟大幅降低,精度损失可接受
  • 最优配置:NPU + INT8,适用于所有ResNet尺寸
  • FP16在GPU上提供精度-速度平衡点

YOLO Pareto前沿(图7):

  • FP16配置主导前沿:INT8精度损失过大
  • 最优配置:NPU + FP16
  • YOLO11s在小模型中表现突出
  • 大模型(l/x)中YOLOv8与YOLO11差异缩小

实验发现总结

  1. NPU绝对优势: 所有场景下NPU提供最佳性能,最高298×加速(YOLOv8x + INT8)
  2. 任务特定量化策略:
    • 分类任务(ResNet):INT8最优
    • 检测任务(YOLO):FP16最优
  3. 硬件特性:
    • GPU: 量化影响小,FP16模式关键
    • CPU: 多线程扩展性受限,INT8提供最佳并行性
    • NPU: 不支持动态量化,需静态优化
  4. 模型尺寸效应:
    • 大模型对量化更鲁棒
    • GPU在大模型上加速比更高(YOLOv8x: 39×)
  5. 框架转换损失: 不可忽视的精度下降(1-2%),需纳入优化考量

相关工作

主要研究方向

  1. MLPerf基准测试: 本文采用MLPerf原则评估ML推理系统,从嵌入式设备到数据中心,实现软件框架和架构中立的评估
  2. 移动AI框架演进:
    • PyTorch, ONNX, TensorFlow: 通用AI开发框架
    • TensorFlow Lite → LiteRT: 移动端轻量化运行时
    • LiteRT Next: 原生支持加速器卸载
  3. 异构计算范式:
    • Edge-to-Cloud模型:边缘本地处理优化延迟,复杂任务云端卸载
    • DSA (Domain-Specific Architecture): NPU作为专用张量运算加速器
  4. 量化技术:
    • 训练后量化(本文采用)
    • 量化感知训练
    • 混合精度策略

本文相对优势

  1. 系统性评估: 首次在商用Android设备上全面评估CPU/GPU/NPU三种硬件
  2. 实证指导: 提供针对不同任务的具体配置建议,而非理论分析
  3. Pareto视角: 多目标优化方法,揭示精度-速度权衡空间
  4. 问题发现: 识别动态量化NPU兼容性、CPU扩展性等实际部署问题
  5. 工业相关性: 选择MLPerf标准模型,结果直接适用于生产环境

结论与讨论

主要结论

  1. NPU是最佳执行设备: 相比CPU单核基线实现高达120×加速,确认其在低延迟边缘AI中的关键作用
  2. 最优量化是权衡问题:
    • ResNet: INT8最优,NPU上速度增益超过精度损失
    • YOLO: FP16最优,INT8精度损失(6.5 mAP)不可接受
    • GPU: 量化对速度影响微小,FP16平衡精度和速度
  3. 模型性能与扩展性:
    • YOLO11s在Pareto前沿表现优异,FP16量化下提供最佳速度/精度折衷
    • YOLO11在小模型上精度优于YOLOv8,但复杂度略增
  4. 系统限制识别:
    • 动态量化在NPU上失败(缺乏原生支持)
    • CPU多线程扩展性差(最高3.4×),归因于非对称核心架构
    • 框架转换引入约1%精度损失

局限性

  1. 单一硬件平台: 仅在Snapdragon 8 Gen 2上测试,结论对其他SoC的泛化性未验证
  2. 有限任务范围: 仅覆盖计算机视觉(分类和检测),未涉及NLP、语音等其他AI任务
  3. 缺失能耗分析: 未测量功耗,Pareto分析未包含能效维度
  4. 软件版本依赖: NPU需使用旧版LiteRT 1.4.0,可能影响性能
  5. 静态工作负载: 未考虑动态批处理、模型切换等实际应用场景
  6. INT16评估不完整: 由于LiteRT缺乏优化内核而早期排除,未深入分析

未来方向

  1. 能耗集成: 完成包含功耗的三维Pareto分析(精度-延迟-能效)
  2. 软件优化:
    • 缓解NPU动态量化兼容性问题
    • 消除框架转换精度损失
  3. 任务扩展: 研究MLPerf基准中的其他任务(NLP、图像分割)
  4. 硬件泛化: 在多种移动SoC上验证结论
  5. 量化感知训练: 探索训练时量化以减少INT8精度损失
  6. 实时应用: 评估视频流、多模型并发等实际场景

深度评价

优点

  1. 实验设计严谨:
    • 系统性配置空间探索(3硬件×7量化×15模型变体)
    • 明确基线和对比维度
    • 多次测量取平均值保证可靠性
  2. 实用价值高:
    • 针对商用设备和工业标准模型
    • 提供可操作的配置建议
    • 识别实际部署问题(如动态量化失败)
  3. 分析深入:
    • Pareto前沿提供多目标决策支持
    • 量化框架转换损失
    • 揭示硬件特性(如CPU非对称架构影响)
  4. 结果详实:
    • 大量定量数据(多个表格)
    • 清晰的可视化(Pareto图、速度对比图)
    • 不同模型尺寸的趋势分析
  5. 方法透明:
    • 详细描述硬件规格
    • 说明软件版本和转换流程
    • 承认局限性(如软件兼容性问题)

不足

  1. 泛化性受限:
    • 单一硬件平台(Snapdragon 8 Gen 2)
    • 结论对其他移动芯片(如Apple A系列、华为麒麟)适用性未知
  2. 能耗缺失:
    • 标题强调"优化"但未测量功耗
    • 对于移动设备,能效与速度同等重要
    • Pareto分析不完整
  3. 统计显著性:
    • 未报告置信区间或标准差
    • 缺乏显著性检验
    • 多次运行的样本量未明确
  4. 对比不足:
    • 未与其他量化方法(如量化感知训练)对比
    • 未与其他移动AI框架(如NCNN、MNN)对比
    • 缺少与云端推理的延迟对比
  5. 实际场景简化:
    • 单图推理,未考虑批处理
    • 未测试模型预热、缓存效应
    • 忽略Android系统其他进程的干扰
  6. 理论解释薄弱:
    • 对NPU为何在INT8上表现优异缺乏架构层面解释
    • CPU多线程扩展性差的深层原因分析不足
    • 未建立延迟预测模型

影响力

对领域的贡献:

  • 填补移动端AI推理优化的实证研究空白
  • 为移动开发者提供配置选择指南
  • 揭示商用硬件的实际性能特征

实用价值:

  • 直接适用于Android应用开发
  • 帮助决策模型部署策略
  • 识别软件框架的改进方向

可复现性:

  • 使用商用设备和公开模型
  • 详细描述转换流程
  • 但缺少代码开源(未提及)

预期影响:

  • 中等影响力:针对特定平台的实证研究
  • 对移动AI社区有价值
  • 可能推动LiteRT等框架改进NPU支持

适用场景

最适合:

  1. Android应用开发: 需要在设备上部署ResNet或YOLO的开发者
  2. 模型选型: 在精度和延迟间权衡时的决策支持
  3. 硬件评估: 评估Snapdragon 8 Gen 2 AI性能
  4. 量化策略选择: 根据任务类型选择量化方案

不适合:

  1. 其他移动平台: iOS、其他Android SoC需重新评估
  2. 非视觉任务: NLP、语音等需额外研究
  3. 云端部署: 硬件特性完全不同
  4. 实时视频: 未考虑连续帧处理

扩展方向:

  • 结合本文结论进行能耗优化
  • 作为AutoML硬件感知搜索的输入
  • 指导边缘AI芯片设计

参考文献

关键引用:

  1. MLPerf基准: Reddi et al. (2020) - "MLPerf inference benchmark",定义了本文采用的评估原则
  2. 能耗研究:
    • Google环境报告 (2023):AI占能耗10-15%
    • Meta可持续性报告 (2023):推理占AI能耗70%
  3. ResNet: He et al. (2016) - "Deep Residual Learning for Image Recognition",ILSVRC 2015冠军
  4. YOLO: Ramos & Sappa (2025) - "A decade of you only look once (yolo) for object detection: A review"
  5. Edge-to-Cloud: Moreschini et al. (2024) - "Edge to cloud tools: A multivocal literature review"

总体评价: 这是一篇扎实的实证研究论文,为移动AI推理优化提供了有价值的配置指南。其主要优势在于系统性的实验设计和详实的定量结果,明确揭示了NPU的优势和任务特定的量化策略。主要不足是泛化性受限于单一硬件平台,且缺失能耗分析。对于Android移动开发者和边缘AI研究者具有较高参考价值,但结论需在更广泛的硬件和任务上验证。建议后续工作补充能耗测量、扩展到其他平台和任务,并开源实验代码以提高可复现性。