过去,极小尺寸、电池供电的物联网设备几乎无法实现边缘人工智能,但如今情况已彻底改变。随着面向 CPU 运行的边缘 AI、由用户生成的超微型机器学习模型 —— 定制 Neuton 模型的推出,Nordic 正在全面提升所有 nRF54L 系列片上系统(SoC)的性能。这使得它们能够胜任以往仅靠高性能硬件才能完成的各类人工智能任务,成为切实可行的选择。
定制 Neuton 模型基于您自有设备采集的专属数据构建,并针对您的特定应用场景深度优化,助力强化产品的核心竞争力。Neuton 模型体积超小、效率极高,是无线物联网设备上实现超低功耗人工智能的首选方案。
在本篇博文中,我们将介绍这项技术,并梳理创建定制 Neuton 模型以及将其集成到 nRF Connect SDK 应用中的完整流程。
我们对边缘 AI 的理解
“边缘 AI” 一词涵盖所有在设备本地运行的 AI 算法与神经网络应用,而非在集中式云服务器中运行。这一范畴包括从边缘服务器、网络基础设施,到高性能 PC 硬件与智能手机,再到低功耗物联网设备的各类场景。对 Nordic 而言,边缘 AI 特指在我们超低功耗 SoC 上运行的 AI 算法与神经网络。在本博客的后续内容中,我们将直接将其简称为 “边缘 AI”。
为何选择 Neuton 模型?
作为开发者,在产品中使用边缘 AI 时面临的两大核心障碍是:
- 机器学习模型体积过大,超出所选微控制器的内存容量。
- 定制机器学习模型的创建过程高度依赖人工操作,且需要深厚的数据科学专业知识。
而现在,这些问题将成为过去。
Nordic Edge AI Lab 让定制 Neuton 模型的生成变得简单易行。这款在线工具可生成边缘 AI 模型,其体积仅为 TensorFlow Lite 等传统框架模型的几分之一。这得益于我们获得专利的神经网络框架,它能够在无需用户干预的情况下,逐神经元自动构建网络。
对开发者而言,这意味着只需提供优质数据集,即可训练出高度优化、快速且精准的机器学习模型。这些定制 Neuton 模型可在任意 Nordic SoC 上运行,例如我们的旗舰芯片 nRF54L15;同时模型效率极高,即使是存储空间最受限的芯片(如 nRF52805)也能轻松适配,仅占用几千字节的非易失性存储器(NVM)。
在某些应用中,运行 TensorFlow Lite 模型会占用过多内存、耗尽全部 NVM,或因运行过慢、效率低下而占用 CPU 资源并加速耗电。而 Neuton 模型则可以在这类应用中轻松实现边缘 AI 功能。
Neuton 模型适用于哪些应用场景?
对于智能戒指、智能手表等可穿戴设备,开发者可通过定制 Neuton 模型实现行走、跑步、计步、睡眠等活动检测,识别手势或手指动作以实现智能控制或自动化,并监测心率、心率变异性、血氧等生理指标。在工业场景中,可构建 Neuton 模型对传感器数据进行异常检测,从而实现预测性维护。
简单来说,Neuton 模型支持来自各类传感器的时序数据,包括加速度计、惯性测量单元(IMU)、光电容积描记传感器(PPG,即智能手表背面用于检测心率的闪烁式传感器)、温度传感器、各类电信号测量传感器(例如通过 ADC 采集的电压信号)等。只要传感器输出能够按周期采样并形成时序数值,Nordic Edge AI Lab 均可支持并据此创建模型。
是什么让 Neuton 模型区别于其他 AI 模型?
市面上的边缘 AI 框架种类繁多,且已经发展多年。
LiteRT(原面向微控制器的 TensorFlow Lite)及同类框架存在一个核心痛点:这类框架仍要求开发者具备神经网络架构设计相关知识,需要手动选择神经元数量与网络深度,再在训练完成后对模型进行压缩与优化,才能使其适配目标设备。
这种方式生成的模型,在代码体积、执行速度和功耗方面效率较低,并且高度依赖优化人员的技术水平与经验。
自动化模型创建与训练流程
而 Neuton 则能全自动完成这一切。它无需从一开始就静态定义网络参数,而是会自动生长神经网络,并对每一个新增神经元评估是否能提升模型性能。对模型没有增益的神经元会被立即移除,以节省资源。
这为开发者带来了多项优势:
- 无需手动选择神经网络结构、参数或架构
- 无需消耗大量资源的自动神经网络架构搜索(NAS)
- 实现尽可能最小的代码体积,无需额外压缩或优化
- 执行速度更快,意味着更低的功耗
简易集成
Neuton 模型以纯 C 语言库的形式从 Edge AI Lab 下载,无外部依赖项,也无需特殊运行环境。它们可直接集成到运行在 nRF52、nRF53、nRF54L、nRF54H 系列 SoC 或 nRF91 系列 SiP 主应用内核(CPU)上的任意应用中。
通过面向 nRF Connect SDK 的 Edge AI 扩展组件,模型集成变得更加便捷,该组件内置 nRF Edge AI API,支持在应用中直接进行设备端推理。此外,该扩展组件还提供三个应用示例,分别演示如何针对三类 AI 操作与 Neuton 模型交互:回归、分类和异常检测。
我可以将 Neuton 模型与 NPU 一起使用吗?
神经网络处理器(NPU)是一种专用处理核心,其架构专为运行神经网络而设计。
与在 CPU 上运行边缘 AI 模型相比,使用 NPU 可提升速度与效率,从而降低延迟、让应用响应更灵敏,并减少功耗。正因如此,NPU 常被称作 “AI 加速器” 硬件。
NPU 对加速更大、更复杂的神经网络通常效果更显著。当网络变得更小、效率更高时,加速带来的收益会随之减弱。
Neuton 模型默认情况下远比即使是最优优化的 TensorFlow Lite 模型还要小巧、高效,这意味着在 NPU 上运行 Neuton 模型并不会带来显著的性能提升。
因此,当 Nordic 在 2026 年推出首款集成 NPU 的产品时,将不支持 Neuton 模型,而是采用 TensorFlow Lite 等开放框架,适用于一系列更高级的 AI 应用场景。
如何创建定制 Neuton 模型
数据采集
为模型训练采集优质数据集,无疑是构建边缘 AI 应用中最繁琐、最关键的环节。
多少数据才算足够?
需要多少个样本、每个样本包含多少数据点、以及需要多少名测试对象,高度取决于你的应用场景和所处的开发阶段。
对于手势识别(即分类)这类简单的内部概念验证(POC),每种分类只需采集来自少数不同测试对象的 2~5 分钟样本 即可。
此外,还必须包含空闲状态与随机动作数据,用于过滤掉与特定分类无关的动作,否则会导致模型出现过拟合。
若要制作更具代表性的原型,每个手势通常需要 5~10 分钟 的样本,并且这些样本应来自至少 5~10 名不同测试对象,以覆盖一定程度的自然差异。
当为商用产品构建最终量产模型时,对高质量数据集的要求会显著提高。
适用于量产模型的优质数据集,通常需要选取具有代表性的人群,即 20 到数百名测试对象。
不过,每位测试对象提供 5~10 分钟 的样本依然足够。
数据采集的关键注意事项
所有样本必须使用相同的采样频率。具体频率取决于所使用的传感器以及需要识别的动作模式。
单次采集过程中,只生成一个样本。以手势识别为例,即同一人在整个采集时段内只做一种手势,且不被打断。同时应剔除样本开头与结尾几秒的数据,保证整段样本的一致性。
采集的样本为 CSV 文件:传感器的各路输出单独占一列,另有一列标识该样本所属的分类。CSV 中的每一行代表一个数据点。例如,以 50 Hz 采样时,每秒会产生 50 行数据。所有样本单独采集后,合并到同一个 CSV 文件中,构成完整数据集。CSV 文件的第一行必须是表头,说明每一列存储的数据类型。
对于离散型数据(如非连续的手势识别),数据在采样窗口内居中对齐也非常重要。
Edge AI Lab 工作流程
数据上传
当你采集到高质量的数据集后,访问 ai.lab.nordicsemi.com 并登录。创建一个新方案,并选择任务类型。目前支持三种任务类型:回归、分类和异常检测。
- 分类模型是一种监督学习模型,它基于已标注数据的样本进行训练,每个标签对应一个独立类别。训练完成后,模型可识别新数据所属的类别,手势识别就是典型例子。
- 异常检测模型属于无监督学习模型。使用不含异常的正常数据进行训练,模型可识别出超出正常范围的异常数据。典型应用如预测性维护 —— 仅用正常运行设备的数据训练,却能识别即将故障的设备。
- 回归模型同样属于监督学习模型,通过标注数据训练,以预测温度这类连续变量的数值。
将 CSV 格式的数据集拖放上传即可。上传完成后,界面会展示识别到的数据集概览。
- 对于回归和分类模型,需要选择一列作为标注数据的目标列;
- 对于异常检测模型,数据无标签,因此无需设置目标列。
预处理与模型参数
上传数据后,将进入训练流程。对于大多数项目,需要在此处启用信号处理与特征提取功能。信号处理环节需要选择窗口大小,它决定了每次推理所使用的输入数据量,同时也是推理输出的最小频率。例如,如果你希望每秒输出一次新结果,就需要输入采样频率并将窗口设为 1 秒,或者输入数据集中相当于 1 秒的行数。但最重要的是:所选窗口大小必须能完整包含你要分类的目标事件。你也可以通过设置不同的滑动步长,选择重叠窗口或在窗口之间保留时间间隔。
特征提取设置用于选择数据集中哪些特征将被用于训练模型。启用「特征选择」功能后,框架会自动舍弃对模型精度无贡献的特征,从而减小模型体积并提升运行效率。
注意: 如果选择了任何频域特征,则窗口大小必须为 2 的幂次,每个窗口的采样点数在 128 到 2048 之间。
数据类型会根据数据集内容自动检测。你也可以手动覆盖该设置,但请注意:必须选择能覆盖你所使用的范围最大的数据类型。
例如:
- 如果数据集中同时包含 int8 和 float32,则需选择 float32;
- 如果同时包含 int8 和 int16,则需选择 int16。
训练前的最后一步是选择模型设置与目标硬件。你需要再次选择当前执行的任务类型:回归、二分类或多分类。
在评估指标选项中,你可以选择下一步中显示的主要指标。不过所有指标都会被完整计算,因此在训练完成后,你可以轻松切换想要查看的评估指标。
默认情况下,“权重与系数” 设置会与您的输入数据集保持一致。它决定了模型中权重和系数的存储格式。您可以手动覆盖该设置,选择更低的位深有助于最小化最终模型的体积。
对于量化设置,请选择与权重和系数相匹配的选项。
输出设置决定了每次推理结果的概率分数以何种格式输出。浮点类型会直接给出概率值(0 到 1),而 8 位和 16 位则会输出对应数据类型范围内的整数值(分别为 0 到 255 和 0 到 65535),如有需要,可在应用程序中将其转换为百分比。
对于大多数项目,无需设置任何训练停止选项。不过,系统提供了相关选项,可用于设置训练的最长耗时以及模型的最高精度上限。
对于使用现有硬件的项目,请选择 Arm Cortex‑M33 作为目标内核。该应用内核搭载于所有 nRF91 系列 SiP、nRF53 系列以及 nRF54 系列 SoC 中。
Arm Cortex‑M4 选项适用于 nRF52 系列;如果您在使用老旧的 nRF51 系列开发套件,则可以选择 Arm Cortex‑M0。但完全不建议将其用于任何新设计。
随后,点击 “开始训练” 按钮,系统会提供选项,让您在训练完成时通过短信接收通知。
评估生成的模型
训练完成后,在 “方案选项” 界面中,您可以选择要为项目下载的模型变体。所有生成的模型变体都会显示在一张图表上,其中X 轴为准确率,Y 轴为模型体积。通常,选择准确率仅略低于最高(但通常体积也最大)的变体,可以大幅减小模型体积。图表右侧会显示所选变体的预估准确率,以及 RAM 和非易失性存储器(NVM)占用情况。界面还提供模型质量图表、特征重要性和混淆矩阵板块,为具备相关解读技能与经验的人员提供所选模型变体的深度分析信息。
在应用中集成 Neuton 模型
Edge AI 扩展组件
为简化 Neuton 模型在应用中的集成流程,nRF Connect SDK 提供了 Edge AI 扩展组件。该组件包含四大核心部分:nRF Edge AI 库,回归示例,分类示例异常检测示例。
nRF Edge AI 库包含 nRF Edge AI Runtime 模块—— 这是一个 C 语言库,提供用于初始化和运行在 Edge AI Lab 中生成的定制 Neuton 模型的接口。它还包含用于数据处理的 DSP 模块,以及独立的神经网络模块,可运行基于 Neuton 或其他框架的浮点型与量化型 AI 模型。
扩展组件的安装
访问https://nrfconnect.github.io/ncs-app-index/,找到 Nordic Semiconductor 推出的 Edge AI 扩展组件。点击蓝色的在 nRF Connect for VS Code 中打开按钮,再点击浏览器中的弹出提示以启动 VS Code。在 VS Code 中弹出授权提示时,允许 nRF Connect SDK for VS Code 扩展程序打开该链接即可。
你也可以通过west 命令行或nRF Connect for VS Code 图形界面手动安装该扩展组件,详细操作说明可参阅官方文档。
构建边缘 AI 应用
构建新应用时,最简单的方法是将 SDK 中的任一固件示例作为参考与起点。这些示例会演示如何调用相关 API,向 Neuton 模型输入数据并解析输出结果。
三项核心功能调用即可完成关键任务,它们均属于 nRF Edge AI 库中的 nRF Edge AI 运行时模块:
- nrf_edgeai_init() — 初始化边缘 AI 模型的运行环境
- nrf_edgeai_feed_inputs() — 将传感器原始数据输入 Neuton 模型
- nrf_edgeai_run_inference() — 对输入数据执行推理,返回对应模型类型的预测结果,以及用于评估预测置信度的指标
如果你是 nRF Connect SDK 新手,不妨学习 Nordic 开发者学院中的 nRF Connect SDK 基础课程。这是一门自主进度、动手实践的在线课程,专注于讲解使用 nRF Connect SDK 进行固件开发的必备知识与技能。
结语
通过推出定制化 Neuton 模型,Nordic 让边缘 AI 惠及更广泛的开发者。以往需要在 TensorFlow 中借助复杂 Python 工具链手动搭建神经网络,并手动优化、压缩、将 TensorFlow 网络转换为 LiteRT 兼容模型,这些令人望而生畏的工作如今已成为过去。
嵌入式开发者现在可以直接从数据采集过渡到应用集成,几乎不需要掌握数据科学相关知识。此外,这类超高效率的模型可以在任意 Nordic SoC 的 CPU 上运行,不受内存大小限制。这意味着,无论你的技术背景如何、使用哪款芯片,定制 Neuton 模型都可以成为你的选择。
这篇博客仅触及皮毛;我们鼓励你深入研读 Neuton 模型文档及相关 SDK 示例。祝建模愉快!