论文标题:PowerPM:Foundation Model for Power Systems
论文来源:
http://yangy.org/works/power/NeurIPS24_PowerPM.pdf
01.概述
智能电网的出现催生电力时间序列(ETS)的数据量爆炸增长,这些丰富的数据可服务于电力系统中的大部分应用,包括需求侧管理、电网稳定性和用户行为分析等。同时,这些应用带来了各种下游任务需求,如图1(d)所示,包括负荷预测、时钟异常检测、窃电检测和独居老人检测等。
最近,关于ETS数据预训练方法的研究不断涌现。这些方法采用“预训练-微调”的范式来解决有限标注数据的问题,并且预训练模型可以很容易在新任务上微调,然而这些预训练方法仅使用小规模数据和少量实例(例如用户)进行训练,导致在下游任务中表现不佳。同时,许多研究者开始应用大型语言模型(LLMs)来辅助时间序列建模,通过使用预训练的LLM来编码时间序列或整合与时间序列相关的描述。由于缺乏足够的电力系统预训练数据和领域特定知识,这些模型在电力系统场景中的能力有限。因此,在现有电力系统文献中,使用基座模型对ETS数据进行建模的研究仍存在巨大空白。
在本研究的场景中,ETS数据包含众多实例,呈现出自然而又复杂的层次结构。如图1-(a)所示,城市ETS可以根据行政区划分解为区域ETS,进一步可以分解为该区域的用户ETS。建模ETS数据需要考虑几个挑战:
(1)ETS数据自然地呈现出复杂的层次结构。如图1-(a)所示,不同粒度之间存在信息交互。整合这些粒度以提供宏观和微观的视角去建模ETS数据是一个复杂的任务。
(2)如图1-(b)所示,城市ETS表现出每日和每周的时序依赖性,同时ETS通常受到外部变量的影响。准确捕捉外部变量影响下的时间依赖性是建模 ETS 数据的关键挑战。
(3)ETS窗口中观察到的模式在不同实例和不同时间戳之间可能存在显著差异,如图1-©所示。
为了应对这些挑战,我们提出了电力系统基座模型PowerPM。PowerPM包含约2.5亿参数,并在大规模层次ETS数据上进行预训练,数据量达到987.42GB。图2总结了所有下游任务的结果,展示了其在ETS数据建模方面的巨大潜力。
02.模型介绍
图3是PowerPM的主要架构。我们采用了“预训练-微调”的范式,通过在层次ETS数据上进行预训练来学习通用表示,并通过在下游数据上进行微调来统一各种任务。在预训练阶段,我们提出了一个新颖的自监督预训练框架,包括掩码ETS建模和双视图对比学习,使PowerPM能够捕获ETS窗口内的时序依赖并感知到ETS窗口间的差异。PowerPM主要由两个模块组成,即时间编码器和层次编码器。时间编码器采用Transformer来捕获ETS数据中的时间依赖性,同时建模外部变量的影响。层次编码器利用R-GCN来传播层次间相关信息,使得微观和宏观信息可以有效地协助建模ETS数据。
1.层级图构建
如图3-©所示,ETS数据中的城市、区域和用户数据自然形成了层次关系,基于此我们可以构建一个层次图, 同时采取聚类策略对图进行稀疏化。城市与区域双向连接,这些用户聚类也与区域双向连接,但与城市单向连接。通过稀疏化边,我们提高了图建模的效率。数学上,我们将层次结构表示为有向图g=(V, v, R) ,其中V是节点集合,每个节点对应一个实例,ε是有向边的集合,R是边类型的集合(例如用户聚类→区域,区域→用户等)。
2.时序编码器
如图3-(b)所示。在g中,每个节点的特征xi是对应实例i的ETS窗口数据。我们首先使用patch策略对其进行分块操作。同时为了有效地与外部变量交互,我们使用可学习的隐变量来模拟这些变量,并将其和时序表征相融合。最后使用原始的Transformer编码器来编码时序依赖,并建模外部变量。
3.层级编码器
为了模拟不同层次之间的复杂相关性,我们采用图神经网络(GNNs)来建模。此外,考虑到不同边的相关关系是不同的,我们采用R-GCN来整合不同层次和实例之间的信息传播,如图3-(a)所示。
4.自监督任务
如图3-(d)所示,针对电力场景,我们采用两种不同的预训练方式:ETS掩码重建和双视图对比学习。
我们提出了一种结合随机掩码和因果掩码的新掩码方法,如图3-(d)(左)所示。具体来说,我们随机选择一种掩码方法来处理给定的分块窗口。这种方法不仅保留了随机掩码策略的优势,并且确保模型学习仅基于过去信息预测未来部分,从而更全面地捕获窗口内的时间依赖性。为了使PowerPM感知到ETS窗口间的差异,在对比学习任务中,我们将来自同一实例的相邻窗口视为正样本,而来自不同实例的窗口或非相邻窗口视为负样本,如图3-(d)(右)所示。
04.实验分析
作为电力系统的基座模型,PowerPM在与其它基线模型相比时,在各种任务上都取得了SOTA(State of the Art,即最佳性能)表现,突显了其在广泛任务中有效泛化的能力。如上表所示,我们在所有表格中用粗体标出了最佳结果,下划线标出了第二好的结果,星号(*)标出了第三好的结果。
此外,消融研究和少样本实验、模型规模分析进一步证实了PowerPM的有效性, 如图4所示。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。