目前单个嵌入式设备算力不足以训练模型运行大语言模型进行推理算力也是很吃紧的。嵌入式设备上可以部署轻量模型推理软件栈。如何构建嵌入式设备模型软件栈1、构建自己的模型文件格式模型文件 模型结构算子图 模型参数权重可能的元信息/优化数据2、数据处理流程如下图当然如果前处理和后处理适合在NPU上计算也可以push到NPU上3、构建pythonc接口库提供模型构建工具集模型推理接口库等4、支持TensorFlowPyTorchONNX等模型并提供工具将这些模型转换成自己的模型而且提供工具分析自己的模型5、提供模型评估工具支持精度评估性能评估内存评估等提供模拟器支持在PC等平台下加载、执行模型精度分析一般用余弦距离或欧氏距离等分别分析完整模型推理精度和逐层推理精度字段说明OpType算子Call单帧内该算子运行次数CPU(ns)单帧内该算子在CPU上的总耗时NPU(ns)单帧内该算子在NPU上的总耗时Total(ns)单帧内该算子的总耗时Ratio(%)单帧内该算子的总耗时与单帧总耗时的比值字段说明Core使用的核心数Command寄存器配置及相关控制信息的内存占用MBInternal模型中间Tensor的内存占用MBWeight模型权重Tensor的内存占用MBKVCache模型KV Cache的内存占用MBTotal模型整体内存总占用MB6、支持推理量化稀疏矩阵运算自定义算子动态shape数据排布等特性和功能支持NPU/GPU/CPU调度Cache管理等支持图级别/算子级别/内存优化等优化机制和流程7、为了提高推理性能需要提供分级缓存数据零拷贝特性构建高效神经网络算子执行流水线下图显示了典型层的推理过程中涉及四个操作缓存的使用情况。操作 1 是 DMA 将数据直接从 DDR 传输到 L2。操作 2 将数据从 L3 移动到 L2。操作 3 将数据从 L2 传输到 L3。操作 4 将数据从 L3 移动到 DDR。操作 2 和 3 的效率比操作 1 和 4 高十倍以上。利用前一层的特征映射可能导致三种情况只有操作 1如果输入层和前一 层输出完全位于 DDR 中只有操作 2如果前一个特征映射完全适合 L3/MSMC或操作 1 和 2如果前一 个输出对于 L3 太大部分存储在 DDR 中。计算出当前层的特征映射后操作 3 会优先将数据移动到 L3。如 果超过 L3 容量操作 4 会将多余的数据存储在 DDR 中。权重值始终存储在 DDR 中并在需要时直接提取到 L2。这种三级高速缓存架构避免了计算周期内缓慢的 DDR 读取/写入操作并节省了 DDR 带宽从而显著提高了推理效 率。提高效率和节省带宽的关键在于最大限度地提高 L3 利用率从而防止在 DDR 中存储特征映射。下一节将介 绍如何分析模型的内存使用情况。图中NPU为C7xMMA该名称来源于 NPU 的两个组成部分C7000 系列浮点数字信号处理器和矩阵乘法加速器 (MMA)。C7x 系列 DSP 内核会运行 RTOS在模型内负责数据调度和非线性处理。MMA 与 C7x 深度耦合负责线性代数运算如矩阵乘法和 2D 卷积内存使用说明可缓存属性L1 SRAM-暂存L2 SRAM-暂存L3 SRAM-暂存存储每层的固定输入,如权重是永久性中间层输出结果(用于模型转换)否暂存中间层输出结果(模型推理)否永久性每个层临时使用的空间,用于累积输出值并取最大值否暂存存储统计信息和一些记录信息否暂存记录每层的基本信息是永久性每个层的算法应用使用的空间是暂存在处理抢占时存储上下文否永久性网络结构是永久性用于多核模式下的多核同步否永久性存储一些常量,例如卷积参数是永久性8、软件栈根据导入的模型文件构建计算图和数据处理流水线9、端侧推理这块只有约20%的算力需要GPU/NPU处理约80%的算力都部署在CPU上了CPU上需要运行软件栈和维护算法流水线10、端侧推理需要解决五项关键的 ODML 约束条件延迟时间无需往返服务器、隐私性没有个人数据离开设备、连接性无需连接到互联网、大小缩减了模型和二进制文件大小和功耗高效推理和缺少网络连接11、端侧使用GPU运行算子可以用OpenGLOpenCLVulkan等库MNNNCNN是对这些库进行了封装在NPU上运行算子需要使用专用的NPU软件栈ARM的NPU软件栈是ARM NNAndroid NNAPI已废弃改成提供TensorFlow Lite 运行时库方便更新华为昇腾的CANN和英伟达CUDA也有嵌入式方案但不支持手机设备Pytorch TensorFlow都有自己的端侧软件栈ARM NN Overview12、算子可以运行在CPU上ARM芯片组可用SMESVENEON等指令扩展优化性能可以运行在GPUNPUTPU上其中TPU是谷歌自研的主要优化TensorFlow网络主流后端硬件加速有XNNPACK (Mobile CPU)Core ML (iOS)Metal Performance Shaders (iOS GPU)Vulkan (Android GPU)Qualcomm NPUMediaTek NPUArm Ethos-U NPUCadence DSP13、端侧往往提供NPU模块NPU对向量运算卷积激活函数等性能优化进行专用硬件设计NPU通常采用SIMDSingle Instruction, Multiple Data单指令多数据或更专用的架构GPU采用SIMTSingle Instruction, Multiple Threads单指令多线程。OS软件栈大致分层SDK如ARMNN,CANN,CUDAAI框架如Pytorch TensorFlowLLMTools就是各类AI应用比如人脸识别实体识别语音合成等等其中包括模型文件。端侧中SDK和AI框架往往融合在一起了比如NCNNMNNPytorch MobileTensorFlow LiteRT。常见开源模型CNN模型MobileNetV2、ResNet50、YOLOv5、YOLOv6、YOLOv8等视觉识别与检测模型LLM模型Qwen2.5 0.5B、1.5B、3B、Qwen3 0.6B、 1.7B、 4B等大语言模型VLM模型FastVLM、Qwen2.5 VL、Qwen3 VL等视觉语言多模态模型常见的国产NPU瑞芯微RK182X系列典型架构RISC/DSP MAC阵列 SRAM DMA NoC 高速接口应用场景应用领域代表技术模型示例任务NLPTransformer, LLM翻译、问答、摘要、对话生成CVCNN, Vision Transformer分类、检测、分割、合成Speech/AudioRNN, Tacotron, Wav2Vec识别、合成、去噪、风格迁移时间序列预测LSTM, TCN, Transformer股票、电力、交通、气象控制与机器人强化学习、模仿学习自动驾驶、机械臂控制医疗健康CNN, Transformer医学影像、基因、药物发现遥感GISCNN 地理信息处理土地分类、灾害检测AIGC生成内容GAN, Diffusion, LLM文本、图像、音频、代码生成题外话2025年国内产业主要缺少成熟硬件方案和训练软件栈