微型机器学习(tinyML)在电源管理系统中的应用

作者:Paul Gorday,来源:Qorvo半导体

如今,数据处理架构呈现出一种“分裂”的特性。拥有庞大规模和计算能力的“云”计算成为了关注焦点,而“边缘”计算将处理过程置于“一线”,连接着电子设备与真实世界。在云端,数据存储量巨大,处理过程需要排队和调度;而在边缘,处理工作则有针对性地即时完成。

这使得系统能够针对本地指令和应用程序反馈做出快速响应,同时减少数据流量,以确保处理过程更加安全。当然,这两个区域也会进行交互,边缘节点将数据传回云端,实现跨设备或地点的汇总与分析;而全局指令和固件更新则反向传递至边缘。

这两种处理环境都得益于人工智能(AI)和机器学习(ML)的最新发展。例如,在数据中心,包含数万颗处理器(主要为GPU)的数千台服务器执行大规模并行计算,以生成和运行ChatGPT等大语言模型(LLM)。从某些指标看,这些平台的性能现在已经超越了人类。

在边缘,处理过程根据操作算法对反馈传感器和指令做出反应。但借助机器学习,算法现也能够有效地从反馈中学习;由此改进算法及其计算系数,让受控过程更为准确、高效和安全。

云端和边缘的能耗差异

在能源的使用规模层面,云计算和边缘计算存在很大的实际差异。这两种情况的能耗都必须降至最低;但数据中心的电力消耗十分巨大,据国际能源机构(IEA)估计,约为240-340太瓦时(TWh),占全球需求的1%-1.3%。人工智能和机器学习将进一步加速能源消耗;IEA预测在未来几年内将增长20%-40%,而这一数字的历史数据仅为3%左右。

与游戏和视频流媒体等按需数据处理任务不同,AI包含学习和推理两个阶段;其中,学习阶段借助数据集来训练模型。据报道,ChatGPT在这个过程中消耗了超过1.2TWh的电力。另一方面,根据de Vries的统计,处于推理或运行阶段的LLM每天可能需要消耗564MWh的电力。

而在数据处理架构的另一端,物联网(IoT)节点或可穿戴设备中的边缘计算功耗可能不超过毫瓦级。即使对于电机控制和电池管理等工业及电动汽车(EV)类应用,为控制电路预留的损耗预算也很小,无法适应AI和机器学习引入带来的大幅能耗提升。

因此,微型机器学习(tinyML)已发展为一个在设备上实施传感器数据分析的应用及技术领域;同时,其也经过优化,旨在实现极低功耗。

tinyML和电源管理

在具体应用中采用机器学习技术是一个涉及到多个维度的问题。举例来说,tinyML可用于电池管理,其目标是在尽可能快速、安全并高效充电的同时,以最小的压力控制放电。电池管理还会监控电池的健康状况,并主动平衡电芯以确保其均衡老化,从而获得最高的可靠性和使用寿命。

受监控的参数包括单个电芯的电压、电流和温度;管理系统通常需要预测电池的充电状态(SOC)和健康状况(SOH)。这些参数均为动态量,与电池的使用历史及测量参数间存在复杂且多变的关系。

尽管任务复杂,但实现AI处理并不需要使用昂贵的GPU。ARM Cortex M0和M4系列等现代微控制器可轻松胜任电池管理中的机器学习任务,且它们的功耗很低,现已集成至针对该应用的专用片上系统(SoC)中。

电池管理IC十分常见,但在实施机器学习算法的MCU助力下,基于传感器的历史和当前数据的信息与模式可用于更好地预测SOC及SOH,同时确保高度安全性。与其它ML应用一样,这需要一个基于训练数据的学习阶段;数据可以来自包含不同环境条件和多个电池制造公差的日志记录;在缺少现场实际数据的情况下,也可以利用建模得到的合成数据。

正如AI的本质一样,模型可随现场数据的积累不断更新,以扩大或缩小应用规模,或用于其它类似系统。虽然学习过程通常是应用投入使用前的一项工作,但也可以成为基于传感器数据的后台任务,在本地或通过云端进行离线处理,以获得持续的性能改进。自动机器学习(AutoML)工具结合电池管理SoC的评估套件可实现这一功能。

机器学习模型

在机器学习和电池管理等边缘应用领域中,有多种可供选择的模型。一个简单的分类决策树所占用资源很少,最多仅需几千字节的RAM,但能够为此类应用提供足够的功能。该方法可将采集到的数据简单地分为“正常”或“异常”;示例如图1所示。

图1:在此决策树分类器示例中,“类别1” = 正常,“类别0” = 异常

此处使用两个参数来描述多电芯电池组放电过程中的状态:最强电芯的SOC(充电状态),以及最强与最弱电芯间的电压差。蓝色和白色节点代表正常数据;分类区域用蓝色(“类别0”= 正常)和灰色(“类别1”= 异常)表示。

如要评估输出数据的连续值,而不仅仅是类别,可以使用更复杂的回归决策树。其它常见的ML模型包括支持向量机(SVM)、核近似分类器、近邻分类器、朴素贝叶斯分类器、逻辑回归和孤立森林。神经网络建模可以包含在AutoML工具中,以增加复杂度为代价来提高性能。

一个ML应用程序的整个开发过程被称为“MLOps”,即“ML Operations”,包括数据的收集与整理,以及模型的训练、分析、部署和监控。图2以图形方式展示了使用PAC25140芯片的电池管理应用开发流程;该芯片可监控、控制和平衡由多达20个电芯组成的串联电池组,适用于锂离子、锂聚合物或磷酸铁锂电池。

图2:上述设计示例突出展示了tinyML开发流程

案例研究:弱电芯检测

退化电芯检测是电池SOH监测的一部分。这些电芯的特征之一可能体现为在负载下电池电压异常偏低。然而,电压还受实际放电电流、充电状态和温度的影响,如图3所示;图中突出显示了强弱电芯在不同温度及负载电流下的示例曲线。

图3:强、弱电芯的放电曲线

图3显示了在电芯电量接近耗尽时,强弱电芯电压间出现的显著差异;然而,在此时检测到弱电芯可能为时已晚,无法避免过热和安全问题。因此,实施ML成为一种解决方案,从而在放电周期的较早阶段从数据中寻找相关模式。

ML方法的有效性在Qorvo进行的实验中得到充分体现。该实验将一颗弱电芯插入一个由10颗电芯组成的电池组,并与一个状态良好的电池组进行比较。两组电芯在不同恒定电流倍率和温度下放电,并生成训练数据;监测参数包括它们的电流、温度、最强与最弱电芯电压差,以及最强电芯的SOC。

在20个放电周期中,每10秒对参数进行同步采样,并使用表1所列的不同模型进行分析。将结果与20个放电周期的独立测试数据进行比较,显示两种方法的一致性非常接近;随着训练样本的增加,其一致性将进一步提高。

图4:从不同ML模型的训练及测试数据中提取示例结果

SoC足以实现对ML的支持

虽然当前AI的关注焦点集中在大规模、高功率应用;然而,针对电池监测等应用,使用MCU和tinyML技术 的“边缘部署型”AI也可以成为高性能、低功耗解决方案的一部分。在这种场景下,SoC解决方案拥有所需的全部处理能力,并可集成各种机器学习算法。

所有必要的传感器和通信接口均已内置;此外,SoC还拥有丰富的评估与设计工具生态系统的支持。

Paul Gorday是Qorvo DSP和机器学习技术总监。