a tall building lit up at night

微软亚洲研究院

机器学习开源工具BatteryML,一站式分析与预测电池性能

分享这个页面

作者:张晗 桂晓凡 郑顺

编者按:天下苦锂电池寿命久矣,时闻“开车出,推车回”,又闻“充电两小时,待机两分钟”,亦闻“气温骤降,请注意电池保暖”……随着以锂离子电池为动力源的产品,如手机、电脑、新能源汽车等,逐步成为人们生活的必需品,关于电池寿命的碎碎念也越来越多。电池性能预测也成为了产业人工智能研究的重要课题之一。

为了更好地分析电池性能,预测电池使用寿命,微软亚洲研究院开发并开源了一站式机器学习工具 BatteryML,希望可以集结更多的专业力量,共同推动电池领域的研究。


近年来,锂离子电池由于其高能量密度、长循环寿命和相对较低的自放电,已成为储能解决方案的基石,也被广泛应用于各种商业场景中,包括新能源汽车、消费电子和储能设施等。尽管锂电池带来了诸多优势,但它仍面临着容量衰减和性能优化等挑战。

电池

在不断循环使用的过程中,锂电池因固有的电化学特性不可避免地导致了其性能的衰退,具体表现为充放电容量下降。这种不受控的性能衰退会对下游的商业场景造成极大的影响,比如导致新能源汽车用户的“里程焦虑”、影响储能系统的供电稳定性等等。而且,过快的锂电池容量衰减也会给可持续发展带来很大的挑战,包括设备维护成本增加、造成稀缺资源消耗、加剧环境污染和影响产业经济效益等。因此,有效地分析与预测锂电池的性能衰退,进而为提前预防和干预提供指导,成为了一个非常重要的产业人工智能研究课题。

克服建模挑战,实现电池性能的分析和预测

锂电池的性能衰退是一个复杂的电化学过程,其涉及到固体电解质膜的增长、锂析出、活性材料损失等等。这个过程会受到电极材料、环境温度、充放电条件和速率等多种因素的复合影响,从而导致基于有限电化学规律的物理模型很难有效建模实际条件下的电池性能衰退过程。不过,如今的机器学习方法则能够自动从数据中归纳复杂的规律,并在近些年成为了建模电池性能衰退的重要工具,引起了学术界和工业界的广泛关注。

然而,在电池性能建模场景中研究和应用机器学习模型也极具挑战。一方面,对于电池行业的领域专家来说,尽管他们对于电池衰退背后的机制和原理有着深刻的认识,但却不擅长打造有效的机器学习模型。因为构建机器学习模型往往需要特殊的数据处理、有效的特征建设、精细的模型构建与调优等准备工作。另一方面,对于计算机行业的数据科学家来说,电池领域存在数据异构化严重、领域知识要求高、任务定义多样化等特点,极大地阻碍了他们研究及应用最先进的机器学习方法。

为了应对这些挑战,微软亚洲研究院的研究员们开发了 BatteryML 工具,以用于电池性能的分析与预测。同时,微软亚洲研究院也希望 BatteryML 既可以成为电池行业领域专家的一站式解决方案,也能够作为计算机科学家研究电池性能预测的高效开发平台。

获取 BatteryML 详细的文档、示例及源代码,请访问 BatteryML GitHub 链接:https://github.com/microsoft/BatteryML

打造社区驱动的开源平台

作为一个一站式解决方案,BatteryML 简化了电池数据的研究和实验过程,涵盖了锂电池研究领域的各种经典模型。

BatteryML 架构示意图
BatteryML 架构示意图

BatteryML 主要有六大特点:

开源和社区驱动:BatteryML 旨在打造社区驱动的开源平台,从而集电池领域专家和数据科学家的合力,共同推动电池性能建模领域的进步。

统一的数据表征:BatteryML 构建了一套统一的数据表征来应对电池数据异构化问题,并提供了全面的处理脚本来汇总目前几乎所有的公开电池数据集。

预处理和特征工程:BatteryML 默认提供了一套标准的数据预处理流程,并内置了基础的特征工程来应对领域知识的高要求挑战。

丰富的模型:BatteryML 涵盖了电池性能预测领域已有的经典模型和基准评测。

明确的任务体系:BatteryML 包含了当前最受关注的电池性能预测任务,既与经典研究论文中的任务相对齐,又包含产业中更加关注的一些变形任务。

可扩展和可定制:BatteryML 预留了全面的接口,让研究员和开发者们可以根据自己的需求,高效地定制独有的数据集、开发新的数据处理及特征工程、研究更先进的机器学习模型等。

未来,微软亚洲研究院关于电池性能预测的研究进展将陆续在 BatteryML 平台开源,包括此前提出的 “多面深度对比回归(multi-faceted deep contrastive regression)” 方法、大模型在电池领域的应用等。

通过开源 BatteryML 解决方案,微软亚洲研究院期待加速电池性能预测领域的产学研融合,并希望有更多关注电池性能建模的伙伴加入,贡献新功能、新模块代码,向社区分享新的开源数据,共同推动电池领域的研究进步。