LFPLM:基于預訓練語言模型的通用靈活負荷預測框架 原創
??摘要——準確的負荷預測對于維持發電機和消費者之間的電力平衡至關重要,特別是在可再生能源日益融合的情況下,這些能源帶來了顯著的間歇性波動。隨著數據驅動方法的發展,基于機器學習和深度學習的模型已成為負荷預測任務的主要方法。近年來,預訓練語言模型(PLM)在各個領域表現出色,取得了顯著進展。本文提出了一種基于PLM的負荷預測方法,該方法不僅具有準確的預測能力,還具有通用性和靈活性。此外,本文還提出了一種數據建模方法,可以有效地將負荷序列數據轉換為自然語言以進行PLM訓練。我們還引入了一種數據增強策略,以消除PLM幻覺對預測結果的影響。所提出方法的有效性已在兩個現實世界數據集上得到了驗證。與現有方法相比,我們的方法在所有驗證指標上均表現出最先進的性能。
I. 引言
負荷預測在維持現代電力系統的穩定性中起著重要作用。通過準確的預測結果,電力系統可以最大限度地整合不穩定的可再生能源,如光伏和風能。近年來,基于機器學習和深度學習的方法由于其出色的性能,已成為負荷預測任務的主流方法。各種網絡不斷被改進以提高預測精度,如極端梯度提升(XGBoost)、隨機森林(RF)和長短期記憶網絡(LSTM)。
除了模型本身,用于訓練這些模型的數據的質量和分布也對預測精度有影響。為了確保模型在一般任務上的最佳表現,通常會為特定模型設計數據建模和特征工程策略。例如,參考文獻中,通過增加可用特征數量并將每日電力負荷信息轉換為每周負荷信息,提出了一種基于XGBoost的電力負荷預測方案。另一篇文獻展示了基于RF的負荷預測與專家選擇相結合的靈活性,以適應復雜的客戶行為。還有文獻描述了一種基于LSTM的住宅負荷預測框架,結合了客戶級別的數據分析。
面對來自不同場景的負荷數據的日益多樣性,單一模型的有限能力有時難以實現高精度預測。一些研究通過結合多種方法來提高總體性能。例如,參考文獻中,將RF和平均生成函數結合使用,設置可調權重參數用于短期負荷預測。另一篇文獻提出了一種基于CNN和LSTM網絡集成的混合方法來預測短期電力負荷。此外,還有文獻通過結合時間卷積網絡(TCN)和LightGBM來擴展多種不同類型工業客戶的負荷預測應用。
最近,預訓練語言模型(PLM)在深度學習領域表現出強大的準確性和靈活性。PLM模型中的注意力機制被證明在捕捉時間序列數據的長程依賴性方面非常有效,這對負荷預測任務很有幫助。一些正在進行的研究已經將PLM應用于時間序列預測。例如,有研究引入了一種基于提示的學習范式,用于時間序列預測,其中用戶的數據集直接在模型上訓練。另一篇研究通過對提示進行標記,并在保持大語言模型參數靜止的情況下完成訓練,通過更新重編程層參數完成訓練。然而,PLM也有其自身的局限性,即在各種下游研究中普遍存在幻覺現象。在負荷預測任務中,幻覺可能導致極其不準確的預測或輸出序列中的缺失值。
因此,本文提出了一種名為LFPLM的負荷預測框架,利用其靈活性和通用性,在多時間尺度和多場景數據集上實現更準確的結果。此外,本文引入了一種數據集建模方法,使PLM能夠有效地執行預測。根據作者的知識,這是首個在電力系統負荷預測任務中應用PLM的研究。
本文的具體貢獻如下:
1) 提出了一種基于PLM的通用且靈活的電力系統負荷預測方法。該方法可以應用于具有不同時間尺度的各種負荷預測任務。
2) 提出了一種結合語言和統計信息的數據集格式化方法,以更好地利用PLM的預測能力。
3) 提出了一種數據增強方法,通過將數值序列與語言描述分離來解決PLM的幻覺問題。
4) 驗證了所提出方法在不同時間尺度的開源和現實世界負荷預測數據集上的有效性。與現有負荷預測方法相比,所提出框架的優越性和適應性得到了明確證明。
II. 數據集描述和建模
在本節中,我們介紹一種創建數據集以訓練LFPLM的方法。從將數值數據轉換為文本數據開始,我們將詳細說明如何通過這些方法有效地微調模型。此外,還介紹了一種解決PLM幻覺現象的技術。需要強調的是,所提出的數據集建模方法適用于所有基于PLM的負荷預測任務。
A. 結合語言和統計信息
在常見的負荷預測任務中,歷史負荷數據通常作為預測的輸入。輸入數據通常被建模為一個連續序列X ∈ RL×d,其中L和d分別表示序列的長度和維度。由于LFPLM需要以文本格式輸入數據,我們提出了一種數據集建模方法,將數值序列轉換為自然語言表達Xtext,如下所示:
其中,xi 是輸入序列中的第i個數據,R 表示實數集合,S代表從實數到文本的轉換。
此外,為了進一步利用文本表達的優勢,我們引入了統計信息 Xstat 來增強輸入數據的特征維度,表示為 Xts。統計信息包括最大值、最小值和平均值。具體來說,我們使用預測時間前Nobs步內的最大值和最小值來建模全局特征,并用輸入序列的平均值表示局部特征。
其中,Xts表示具有統計信息的PLM輸入,Xstat是包含最大值、最小值和平均值的統計信息,Xobs表示預測時間前Nobs時間步內的歷史負荷數據。
B. 將數值序列與語言分離
負荷預測任務中幻覺現象的原因,如數據缺失或生成多余數據,可歸因于兩個主要方面:1)在將數值數據轉換為文本描述的過程中,以字符串格式存儲的數據長度不一致。2)PLM的預訓練參數來源于自然語言的訓練,因此缺乏有效識別純數值的能力。
利用PLM對語言描述的敏感性,本節提出了一種數據增強方法,將數值數據與文本信息分離。增強輸入數據集 Xets 基于 Xtext* 構建如下所示:
其中,Xtext* 是帶有時間信息的數值序列的文本表達,ti 是文本表達中與 xi 對應的時間步。
由于LFPLM的輸出數據也以文本形式存在,因此在訓練過程中需要相應的文本真實值。對于每種輸入格式的 X,我們生成對應的真實值 Ygt。
C. 預測數據集
為了評估所提出方法在負荷預測任務中的通用性和準確性,我們選擇了以下兩個不同時間尺度的現實世界數據集進行研究。
1) 電力負荷預測數據集(ELFD):這是一個在Kaggle上可用的開源數據集,涵蓋了2015年至2020年間巴拿馬地區超過40,000條小時負荷數據。該數據集可通過以下網址訪問:kaggle.com/datasets/saurabhshahane/electricity-load-forecasting/data。
2) 工業客戶負荷數據集(ICLD):這個現實世界數據集包括了2018年至2021年間10個工業客戶約9000條日負荷數據。該數據集來自中國東部一個真實的電力系統。
兩個數據集的分布如圖1所示。本節中建立的策略下的詳細示例數據集如表I所示。上述方法的有效性將在第四節中驗證。
表I 基于所提出方法的數據集示例
圖1. 負荷預測數據集的分布
III. 提出的框架
在本節中,我們詳細介紹了所提出的預測框架的基本結構和用于完成預測任務的PLM。此外,我們還詳細說明了不同PLM的訓練方法,并列出了用于評估其預測結果的指標。
A. 用于負荷預測的PLM
PLM結構上可以分為三類:
1. 僅編碼器模型:以BERT為代表,這些模型通過掩碼語言建模學習雙向上下文編碼器。訓練目標包括隨機掩碼部分文本并預測被掩碼的單詞。這種架構主要適用于不需要序列生成的任務,而是需要編碼和處理輸入的任務,如文本分類和情感分析。
2. 僅解碼器模型:以GPT和BLOOM為代表,這些模型通常用于序列生成任務,稱為生成模型。它們直接從輸入生成序列,并執行無監督預訓練。然而,它們需要大量的訓練數據來提高生成文本的質量和多樣性。
3. 編碼器-解碼器模型:以T5和BART為代表,這些模型使用編碼器處理輸入序列,提取特征和語義信息,并使用解碼器生成相應的輸出序列。被稱為序列到序列模型,它擅長處理輸入和輸出序列之間的關系,提高在機器翻譯和對話生成等任務中的準確性。
根據負荷預測任務的特點,我們主要考慮基于僅解碼器和編碼器-解碼器架構的PLM,如表II所示。此外,還選擇了不同語言訓練的PLM,以驗證預測結果是否受自然語言表達的影響。
B. 不同PLM的訓練策略
我們的工作框架如圖2所示。為了充分利用大模型中的預訓練參數,我們采用多種訓練方法針對不同的PLM,旨在實現最佳預測結果,同時保持訓練效率。
1. 全參數訓練:在LFPLM下的全參數化訓練方法用于訓練PLM(除BLOOM外)與所提出的數據集。盡管這種方法犧牲了它們預訓練參數的原始問題解決能力,但它可以在負荷預測任務中表現良好。
2. 參數高效微調(PEFT):如BLOOM等大語言模型,針對一般任務預訓練,其預訓練參數中編碼了對知識的全面理解。然而,完全在專用數據集上訓練這些模型會破壞預訓練參數的分布模式,降低其在文本理解中的可行性。因此,我們采用了LoRA技術的PEFT方法微調模型參數。在此方法中,我們使用低秩分解模擬基于原始模型參數分布的參數變化,從而間接訓練一個參數較少的大模型。我們處理來自原始模型的參數矩陣Wd×k如下:
Wd×k = Ud×r · Vr×k r < d, k
其中r是低秩系數,U和V是低秩矩陣。
在我們的研究中,PEFT選定的參數是自注意層中的WQ、WK和WV指標,可訓練參數總量占原始模型的10%。
C. 評估方法和指標
對于模型的預測結果,我們主要關心自然語言中的數值序列的準確性。根據第二節中的真實值格式設置,我們可以輕松從文本中提取數據序列,借此計算預測準確性以分析模型性能。
幻覺率被提出用于評估預測結果中的幻覺現象。我們研究中的三個評價指標分別是幻覺率、平均絕對誤差(MAE)和均方根誤差(RMSE),其定義如下:
其中,N是樣本數量,Yi是第i個預測結果,Yi,gt是對應的真實值,H ∈ (0, 1)是幻覺率,nh是幻覺樣本的數量。
IV. 案例研究
在本節中,我們將驗證所提出方法的有效性。首先,我們將展示訓練過程中使用的物理環境和超參數配置。其次,我們將應用LFPLM預測框架到第二節介紹的兩個數據集上。作為PLM的代表,Mengzi-T5模型將接受深入評估,并與傳統方法的統計結果進行比較。此外,還將測試第三節提到的各種PLM,以確認其在預測任務中的能力。
A. 參數配置
我們的模型使用PyTorch和來自HuggingFace的Transformers實現,所有實驗在NVIDIA 4090-24G GPU上進行。所有模型可以通過表II中的訪問密鑰從HuggingFace Model Hub訪問。所提出框架和對比方法的超參數如表IV所示。
B. 不同時間尺度數據集的預測結果
在ICLD和ELFD的驗證集(長度分別為860和2670)中,我們計算了預測數據的幻覺率、MAE和RMSE。PLM的幻覺可能導致結果中出現缺失或多余問題。為了確保指標計算的準確性,我們解決這個問題的方法如下:1)用零補充缺失數據,2)移除多余數據以保持所有輸出序列長度一致。我們使用Mengzi-T5模型作為LFPLM框架,并與傳統方法(包括XGBoost、隨機森林和LSTM)進行比較。如表III所示,LFPLM方法相比三種傳統預測方法表現出最先進的性能。LFPLM、LFPLM-ts和LFPLM-ets方法僅在輸入數據格式上有所不同,分別對應Xtext、Xts和Xets。預測結果表明,將長期統計信息整合到數據中可以提高預測準確性。為了提供直觀的展示,LFPLM與其他方法的預測曲線如圖3和圖4所示。
特別是,表III中的紅色數據突出了預測中幻覺問題的影響,尤其是在ICLD數據集中,這導致RMSE顯著高于正常值。我們確認這個問題源于預測數據序列中的缺失值。使用Xets作為輸入數據時,幻覺率降至零,MAE和RMSE也顯著改善。這些結果表明,在未預處理原始數據的情況下,PLM的預測能力尚未充分發揮。使用第二節中提出的方法,LFPLM可以有效消除幻覺并提高預測準確性。
C. 基于不同PLM模型的預測結果
我們驗證了所提出方法在表II中給出的不同結構的PLM上的通用性。如表V所示,基于LFPLM的預測框架在不同PLM上始終實現了較低的MAE和RMSE,Mengzi-T5模型在兩個數據集上的預測性能最佳。結果還表明,基于中文預訓練參數和相應數據集的模型在預測任務中表現更好。我們通過兩個中文預訓練模型Mengzi-T5和BART-CN實現了更好的預測結果。使用我們提出的數據建模方法結合PEFT,BLOOM和BLOOM-CN模型在負荷預測任務中表現不佳。模型輸出不準確,幻覺大量存在,如“電力消耗為1834,133,12699,,- - -,192,,”。盡管其輸出的文本部分可以反映一些訓練信息,但數值輸出顯示出顯著的扭曲。因此,這兩個模型的結果被排除在統計之外。
V. 結論
本文提出了一種基于預訓練語言模型的通用且靈活的負荷預測框架,得出以下結論:
1. 建立了一種數據集格式化方法,將序列格式的數據轉換為自然語言,以便PLM訓練,并整合統計信息的語言描述以拓寬輸入特征維度。
2. 針對PLM在負荷預測任務中的幻覺問題,提出了一種數據增強方法。通過適當分離數值序列和語言描述,幻覺率顯著降低至0%。
3. 在兩個現實世界數據集上驗證了LFPLM的綜合預測性能。LFPLM的MAE在ICLD和ELFD上分別降至40.6和4.0,顯示出相對于現有方法的優越預測準確性。
在未來的工作中,我們旨在將更大的語言模型應用于負荷預測問題。我們將專注于建立適合大語言模型的數據集和開發訓練方法,確保可靠的負荷預測,同時最大限度地利用預訓練參數。此外,中文預訓練模型在負荷預測任務中表現更好的原因尚不明確,我們將繼續探究其背后的原因。此外,我們還將探索PLM在其他電力系統任務中的潛力,如故障診斷和電能質量分析。
Gao M, Zhou S, Gu W, et al. LFPLM: A General and Flexible Load Forecasting Framework based on Pre-trained Language Model[J]. arXiv preprint arXiv:2406.11336, 2024.
Southeast University
State Grid Jiangsu Electric Power Co.Ltd
?
本文轉載自公眾號AIRoobt ,作者:AIRoobt
原文鏈接:??https://mp.weixin.qq.com/s/Fpikk13kncoWo-Lze7CZqg??
