中國儲能網(wǎng)訊:
摘要
近年來,電網(wǎng)調(diào)控領(lǐng)域智能化發(fā)展趨勢明顯,但由于人工智能(artificial intelligence,AI)技術(shù)本身的黑盒性質(zhì),正確性和可靠性驗證問題日漸重要,能夠支持各種不同人工智能模型驗證的復(fù)用性支持平臺尤為重要。通過對驗證需求和問題的分析,提出一種包含基礎(chǔ)設(shè)施、平臺服務(wù)和應(yīng)用服務(wù)的3層驗證平臺架構(gòu),分析了該架構(gòu)下AI模型驗證的運行模式,開展了案例和樣本復(fù)用、容器化和鏡像、多框架和算法集成等關(guān)鍵技術(shù)研究,并進行了開發(fā)和實施。該平臺實現(xiàn)了算力和數(shù)據(jù)資源的統(tǒng)一管理和復(fù)用、兼容支持多種不同AI框架和算法庫、驗證場景的動態(tài)生成等,為后續(xù)調(diào)控領(lǐng)域人工智能技術(shù)推廣應(yīng)用奠定了基礎(chǔ)。
01
驗證平臺架構(gòu)設(shè)計
1.1 基本設(shè)計思路
在統(tǒng)一進行安全管理和系統(tǒng)調(diào)度的基礎(chǔ)上,驗證平臺設(shè)計的主要目標(biāo)和實現(xiàn)思路如下。
1)可支持各種不同規(guī)模、基礎(chǔ)框架和算法庫的機器學(xué)習(xí)模型的驗證。規(guī)模的伸縮性,可通過云計算虛擬化和容器部署技術(shù)予以支持。當(dāng)前存在Scikit-learn、Tensorflow、Pytorch、Keras等多類主流框架,而AI模型和框架之間客觀上存在緊耦合性,可在部分支持跨框架序列化的基礎(chǔ)上,綜合應(yīng)用引擎管理、容器和鏡像機制予以支持。
2)可靈活構(gòu)造驗證案例,實現(xiàn)樣本復(fù)用。調(diào)控領(lǐng)域的AI驗證案例,實際上由電網(wǎng)信息模型以及與之關(guān)聯(lián)的樣本數(shù)據(jù)組成。案例的構(gòu)建需要首先選擇目標(biāo)電網(wǎng)信息模型,然后抽取相關(guān)聯(lián)的樣本數(shù)據(jù),再結(jié)合相關(guān)環(huán)境信息形成??苫跉v史數(shù)據(jù)、仿真數(shù)據(jù)、在線數(shù)據(jù)等,采用集中管理、標(biāo)簽區(qū)分、按需抽取的方式靈活構(gòu)造。
3)可靈活支持開發(fā)訓(xùn)練、驗證推理環(huán)境需求,以及離線、仿真在線、運行系統(tǒng)在線驗證模式。訓(xùn)練環(huán)境和推理環(huán)境無本質(zhì)不同,只是前者要求的配置較完整,以提供全過程支持,后者則可輕量化部署,側(cè)重于以(接近)實際場景獲取AI模型的功能、性能驗證數(shù)據(jù)。對于類似在線驗證的需求,可通過引入電網(wǎng)仿真器、接入在線運行系統(tǒng)等方式實現(xiàn)。
1.2 系統(tǒng)架構(gòu)設(shè)計
基于云計算思路,結(jié)合驗證平臺實現(xiàn)目標(biāo),設(shè)計了如圖1所示的3層總體架構(gòu)。

Fig.1 Verification platform system architecture
基礎(chǔ)設(shè)施服務(wù)層(infrastructure as a service,IaaS):主要實現(xiàn)對硬件資源(CPU、GPU、TPU、存儲、網(wǎng)絡(luò)資源等)的虛擬化和資源池管理,可實現(xiàn)虛擬機級別的動態(tài)伸縮性,類似技術(shù)已經(jīng)比較成熟。
平臺服務(wù)層:在IaaS服務(wù)的基礎(chǔ)上,實現(xiàn)對各類AI框架和算法的支持和管理、對各種場景下驗證案例(包含電網(wǎng)模型和樣本數(shù)據(jù))的管理,然后通過基于容器和鏡像的動態(tài)環(huán)境構(gòu)建,對上層提供AI模型訓(xùn)練和驗證服務(wù)。
應(yīng)用服務(wù)層:實現(xiàn)對系統(tǒng)中AI模型的管理、評估和各類自動化處理功能,對外以客戶服務(wù)器(C/S)或瀏覽器(B/S)方式提供AI模型訓(xùn)練和驗證服務(wù)。
系統(tǒng)不同層級可外接各類電網(wǎng)調(diào)度仿真模擬系統(tǒng)或?qū)嶋H運行的自動化系統(tǒng),實現(xiàn)硬件資源集約化、電網(wǎng)模型和數(shù)據(jù)共享、AI模型訓(xùn)練和驗證全流程支持等功能。
1.3 運行模式
系統(tǒng)以AI模型和驗證案例為基礎(chǔ),形成如圖2所示的以驗證環(huán)境動態(tài)構(gòu)建為核心的運行模式。
調(diào)控應(yīng)用涉及的各類外部數(shù)據(jù)(包括各調(diào)控專業(yè)和相關(guān)系統(tǒng)數(shù)據(jù)),經(jīng)過數(shù)據(jù)預(yù)處理,形成驗證平臺內(nèi)部的基礎(chǔ)數(shù)據(jù)(電網(wǎng)模型及其關(guān)聯(lián)樣本數(shù)據(jù)),并按需構(gòu)建驗證案例。AI模型和驗證案例可在訓(xùn)練和驗證環(huán)境容器中使用,并根據(jù)需要外接模擬或?qū)嶋HEMS系統(tǒng),形成雙向閉環(huán)交互。驗證的過程和日志信息上傳至應(yīng)用服務(wù)層,形成驗證結(jié)果和模型管理基礎(chǔ)信息,并可以提供給AI模型開發(fā)和調(diào)試過程,形成閉環(huán)。
02
關(guān)鍵支撐技術(shù)
當(dāng)前,虛擬機、容器和鏡像、各類AI框架等ICT技術(shù)發(fā)展迅速,并且開源成為軟件發(fā)展的重要潮流,在加強源代碼審查和管理的前提下,仍可以滿足自主可控的國產(chǎn)化要求。典型的相關(guān)開源軟件如表1所示。
表1 典型開源軟件Table 1 Typical open source software
在此基礎(chǔ)上,圖3給出了驗證平臺的技術(shù)實現(xiàn)架構(gòu)。它具有以下特點。
圖3 驗證平臺技術(shù)實現(xiàn)架構(gòu)
1)基礎(chǔ)設(shè)施層:基于VMware、云管理系統(tǒng)等軟件,實現(xiàn)基礎(chǔ)設(shè)施服務(wù)的虛擬池化和共享。
2)平臺服務(wù)層:利用Docker的沙箱機制,開發(fā)者可以將應(yīng)用環(huán)境打包到一個容器中,然后發(fā)布到任何目標(biāo)虛擬機上,Kubernetes則進一步實現(xiàn)對Docker容器的調(diào)度管理。利用GitLab服務(wù),以“倉庫管理+資源標(biāo)簽”的形式集中管理電網(wǎng)模型和樣本數(shù)據(jù),然后按需抽取,經(jīng)格式轉(zhuǎn)換后形成驗證案例。
3)應(yīng)用服務(wù)層:統(tǒng)一對外提供包括模型和數(shù)據(jù)管理、模型評估、場景設(shè)定、自動化腳本處理、外部系統(tǒng)聯(lián)動管理等服務(wù)。
4)硬件算力資源的綜合管理:基礎(chǔ)設(shè)施層通過把硬件算力分配給虛擬機,實現(xiàn)虛擬機級別的調(diào)度;平臺服務(wù)層通過為容器分配虛擬機中的算力資源,實現(xiàn)容器級別的調(diào)度;驗證平臺在Kubernetes基礎(chǔ)上,通過GPU虛擬化技術(shù),進一步允許同一塊GPU掛載給多個容器(每個容器只占用其中一部分),從而減小算力資源調(diào)度的單位,提高使用效率;在整個多層級算力資源調(diào)度的基礎(chǔ)上封裝為平臺層服務(wù),屏蔽用戶對于底層的直接訪問。
2.1 案例和樣本
復(fù)用調(diào)控應(yīng)用的數(shù)據(jù)與電網(wǎng)信息模型緊密關(guān)聯(lián)。在已有標(biāo)準(zhǔn)規(guī)范,如CIM/XML或者CIM/E格式基礎(chǔ)上,結(jié)合文件和數(shù)據(jù)庫工具,形成如圖4所示的技術(shù)方案。
利用GitLab和數(shù)據(jù)庫分別保存電網(wǎng)模型文件和樣本數(shù)據(jù),同一個電網(wǎng)模型可以在不同的時間段有多個標(biāo)簽,表示其可滿足多類需求。根據(jù)AI模型驗證需求,通過標(biāo)簽匹配檢索出目標(biāo)電網(wǎng)信息模型,然后從數(shù)據(jù)庫中抽取所需要的樣本數(shù)據(jù),再按需合成指定形式的案例(例如csv、txt、Excel文件等格式)。驗證案例的推薦過程,其實也是從驗證需求到驗證案例的映射過程。
平臺可以基于積分對各類案例進行排序推薦,典型計算方法為
式中:V為案例最終積分;i為不同的案例編號;ε∈[0,1],為配置參數(shù),表示推薦模型時對模型多樣化要求權(quán)重;N為本次驗證需求數(shù);wj∈[0,1],為本次第j項模型需求的權(quán)重,且xi為第i個案例;M為案例庫中案例總數(shù);p(xi)為案例xi最近使用的頻度,其初值為1/M(開始時所有案例等可能性使用),隨著使用過程,驗證平臺同步更新各案例的有效使用頻度值;f(xi,j)∈[0,1],為案例xi對第j項模型需求的滿足程度,完全滿足則取值為1。
在此基礎(chǔ)上,使用者可以進一步人工選擇采用其他策略確定最終驗證案例集,例如交叉驗證、留出法等。
2.2 容器鏡像
利用Kubernetes和Docker的容器和鏡像機制,形成了如圖5所示的技術(shù)機制。
圖5 容器和鏡像服務(wù)
Fig.5 Container and mirror services
利用Docker基于UnionFS(Union file system)文件系統(tǒng)的增量鏡像機制,按需把不同AI運行環(huán)境打包保存在鏡像倉庫中, 然后為不同驗證需求提供輕量級、跨平臺容器運行環(huán)境。Kubernetes則進一步基于環(huán)境需求和調(diào)度策略配置,對多個節(jié)點上的容器以Pod為單位進行調(diào)度(一個Pod中可以包含1個或多個容器)。
驗證平臺在此基礎(chǔ)上進行封裝,形成相比于虛擬機更細(xì)粒度的容器資源調(diào)度和基于鏡像的對多種運行環(huán)境的支持。
驗證平臺通過設(shè)置CPU限值、內(nèi)存限值等控制容器資源配置,通過CPU使用率、內(nèi)存壓力、磁盤吞吐量等指標(biāo)實時監(jiān)視資源使用情況,并決定后續(xù)的調(diào)度策略。例如,在Kubernetes中一種最低請求優(yōu)先級(least requested priority)函數(shù)會優(yōu)先把容器分配到空閑節(jié)點上運行,其打分方法為
式中:S∈[0,10],為某節(jié)點的資源優(yōu)先級;wcpu、wmem分別為計算資源、內(nèi)存資源所占權(quán)重,通常wcpu=wmem,均取值0.5;Ncpu,allocate、Ncpu,all分別為該節(jié)點上已分配的計算資源和計算資源總量;Nmem,allocate、Nmem,all分別為該節(jié)點已分配的內(nèi)存資源和內(nèi)存總量。
2.3 多框架和算法集成
當(dāng)前不同AI框架所支持的開發(fā)語言,對模型結(jié)構(gòu)、參數(shù)和權(quán)重的表達(dá)方式,對腳本、配置和部署要求,所依賴的算法庫等,都可能有較大差異,而PMML(predictive model markup language)、ONNX(open neural network exchange)等跨框架的標(biāo)準(zhǔn)序列化格式,尚未得到廣泛支持。因此,AI模型很難獨立于開發(fā)時的基礎(chǔ)框架環(huán)境。
基于這種現(xiàn)狀,采用了如圖6所示的技術(shù)。
1)平臺直接安裝了互不沖突的若干版本AI框架和算法庫,并建立相關(guān)的引擎管理模塊。如果待驗證的AI模型所用框架已直接安裝,則可以通過引擎管理直接調(diào)用。驗證平臺并且開發(fā)了可視化AI模型工作流管理工具,支持在驗證平臺上直接以可視化方式開發(fā)、訓(xùn)練和驗證AI模型。
2)對于更多的AI框架和算法庫以及運行環(huán)境要求,則事先封裝為鏡像,使用時按需分配容器,載入相關(guān)鏡像。
完整的AI容器化運行環(huán)境準(zhǔn)備時間可表示為
式中:T(i)為第i個鏡像總時間;Mi,n為第i個鏡像中本地環(huán)境中所沒有的n層鏡像的大小,Mi,n通常小于第i個鏡像的總體大小,因為基于Docker的分層鏡像機制,并不重復(fù)拉取和加載本地環(huán)境中已有的鏡像層;B為下載鏡像速度(通常體現(xiàn)為網(wǎng)絡(luò)帶寬);T1為下載鏡像所需要的時間,近似于Mi,n/B;v為存儲設(shè)備速度;T2為鏡像解壓、加載所需要時間,它是Mi,n和S的函數(shù);L為當(dāng)前驗證平臺的負(fù)載情況;T3為容器調(diào)度分配時間,耗時取決于L;T4為容器初始化、設(shè)置命名空間等操作時間。
2.4 驗證環(huán)境的靈活組態(tài)管理
靈活組態(tài)進一步擴大了平臺組件的復(fù)用性,
表2列出了可配置選用的系統(tǒng)/模塊間交互方式。
表2 可選系統(tǒng)/模塊間交互方式
Table 2 Optional system/module interaction methods
驗證平臺提供了如圖7所示的多種組態(tài)模式。
圖7 驗證環(huán)境的靈活組態(tài)
Fig.7 Flexible configuration for verification environment
基于不同環(huán)境配置,驗證平臺可支持以下功能。
1)離線訓(xùn)練和驗證:基于引擎管理、鏡像和案例服務(wù),可為AI模型分別提供訓(xùn)練和推理環(huán)境以及離線案例,并且基于文件命名空間、容器間通信等方式,可支持容器環(huán)境間交互。
2)在線閉環(huán)訓(xùn)練和驗證:通過外接“模擬EMS系統(tǒng)+電網(wǎng)仿真器”(相互間可配置通信規(guī)約,目前常用104規(guī)約)或者實際運行的EMS系統(tǒng),可以實現(xiàn)在線驗證。在線系統(tǒng)可以連續(xù)反饋,從而持續(xù)產(chǎn)生新的動態(tài)驗證案例。在線閉環(huán)模式和離線模式也可以靈活切換,區(qū)別主要在于數(shù)據(jù)源不同。
3)增量學(xué)習(xí)模式。增量學(xué)習(xí)屬于以已有知識為主、兼顧新變化的學(xué)習(xí)方式。對應(yīng)用案例和樣本庫(屬于歷史案例)、在線閉環(huán)反饋信息(屬于新增案例)的綜合應(yīng)用,可以支持AI模型在保留既有知識基礎(chǔ)上,不斷適應(yīng)新的環(huán)境變化。
2.5 其他關(guān)鍵技術(shù)
在安全性保障方面,驗證平臺本身屬于專有系統(tǒng),連同在線連接的仿真模擬系統(tǒng),原則上都與外部網(wǎng)絡(luò)隔離,如果在線連接實際EMS系統(tǒng),則還必須符合相關(guān)安全區(qū)和隔離、加密規(guī)定。此外,驗證平臺內(nèi)部,通過給每一個用戶/用戶組分配不同的角色,進而把不同系統(tǒng)、數(shù)據(jù)訪問權(quán)限與角色關(guān)聯(lián)。在保障不同用戶/應(yīng)用的資源隔離方面,提供了3層隔離。1)Docker自帶的命名空間、控制組和容器隔離機制。2)在Docker基礎(chǔ)上對鏡像、網(wǎng)絡(luò)、資源配額的管理。3)IaaS的虛擬機級別隔離。
在自動化驗證方面,基于Robot Framework,在每個容器環(huán)境中部署守護進程,從而支持基于腳本的分布式協(xié)調(diào)的遠(yuǎn)程自動化驗證。
在模型評估方面,基于典型框架的內(nèi)置函數(shù)或者自定義函數(shù),以及TensorBoard的數(shù)據(jù)可視化支持,實現(xiàn)對相關(guān)模型驗證結(jié)果指標(biāo)的自動計算和可視化展現(xiàn),例如準(zhǔn)確率、查準(zhǔn)率、查全率、平均絕對誤差、均方誤差等。
在平臺性能提升方面,綜合應(yīng)用了多類技術(shù)。1)基于虛擬機+容器技術(shù),實現(xiàn)輕量化部署。2)利用云平臺的動態(tài)伸縮、容器的動態(tài)編排和資源配置實現(xiàn)資源動態(tài)分配和回收。3)利用Kubernetes和Web代理nginx的流量分發(fā)和彈性管理機制,實現(xiàn)驗證平臺的負(fù)載均衡。
03
系統(tǒng)開發(fā)和實施
基于前述設(shè)計,開展了驗證平臺的開發(fā)和部署應(yīng)用。目前,驗證平臺已集成各級電網(wǎng)模型20多套,管理各類人工智能模型超過1000個,能夠支持用戶數(shù)不少于200個,其中并發(fā)使用數(shù)量不少于50個,生成單個基礎(chǔ)運行環(huán)境時間不超過1 min。
數(shù)據(jù)驅(qū)動的前瞻調(diào)度是當(dāng)前調(diào)控領(lǐng)域AI技術(shù)應(yīng)用的一個重要課題,它基于AI方法對前瞻窗口(若干小時)內(nèi)各種不確定場景及組合進行推演,通過獎勵函數(shù)綜合考慮線路最高負(fù)載率、斷面越限率、負(fù)荷不平衡量、新能源消納率、經(jīng)濟運行成本等因素,滾動給出最可能場景的有功計劃巡航路徑。圖8為驗證環(huán)境組成示例。
圖8 數(shù)據(jù)驅(qū)動的前瞻調(diào)度驗證
Fig.8 Data-driven prospective scheduling verification
1)解耦了樣本數(shù)據(jù)與AI模型的關(guān)聯(lián)性。所有案例都來自統(tǒng)一的案例樣本庫,只是根據(jù)需求分別進行了抽取和再組織。2)適應(yīng)了AI模型對框架的依賴。對不同的AI開發(fā)框架,能夠直接在平臺上或者基于鏡像的容器環(huán)境中得到支持。3)能夠輸入多種電網(wǎng)拓?fù)?、發(fā)用電曲線、災(zāi)害事件場景案例,對AI模型的訓(xùn)練、驗證和遷移學(xué)習(xí)提供充分支撐。4)通過不同的容器化部署,能夠并行化進行各種機器學(xué)習(xí)算法、多種調(diào)度目標(biāo)獎勵函數(shù)的驗證和比較。
通過驗證平臺的實施,實現(xiàn)了以上電網(wǎng)仿真器、模擬EMS 系統(tǒng)、相關(guān)案例/樣本數(shù)據(jù)以及AI運行環(huán)境的組態(tài)復(fù)用。
04
結(jié)語
數(shù)智化發(fā)展是當(dāng)前新型電力系統(tǒng)技術(shù)發(fā)展的重要趨勢,但是目前調(diào)控領(lǐng)域AI技術(shù)應(yīng)用的驗證工作仍屬短板。本文提出了一個3層體系的高復(fù)用性驗證平臺框架,分析了該框架的運行模式,開展了相關(guān)關(guān)鍵支撐技術(shù)的研究、開發(fā)和實施。通過案例和樣本數(shù)據(jù)的動態(tài)生成、對各類型AI框架和算法庫的支持以及驗證環(huán)境的靈活組態(tài),最終形成了硬件資源、數(shù)據(jù)資源、運行環(huán)境資源(容器)、應(yīng)用服務(wù)資源(統(tǒng)一服務(wù)接口)等各類“資源統(tǒng)籌”,不同容器、應(yīng)用、案例數(shù)據(jù)之間“邏輯隔離”的調(diào)控領(lǐng)域AI模型驗證生態(tài)。
后續(xù)需要進一步提高驗證平臺的自動化和智能化水平。當(dāng)前,驗證平臺只是提供了必要的信息和模型存儲、管理和驗證支撐服務(wù),在數(shù)據(jù)采集、預(yù)處理、系統(tǒng)互聯(lián)、案例構(gòu)建、分析評估等各個環(huán)節(jié)中都存在需要人工介入的情況,自動化程度還有很大提升空間,同時作為AI應(yīng)用驗證平臺,其本身的智能化也是非常值得關(guān)注的方向。
實際上,AI技術(shù)是一個正在加速發(fā)展的領(lǐng)域,目前主要包括計算機視覺、語音識別、自然語言處理、傳統(tǒng)機器學(xué)習(xí)、新一代機器學(xué)習(xí)、大(語言)模型等,特別是生成式大模型,已成為近期新一代AI技術(shù)發(fā)展的制高點,需要驗證平臺不斷完善設(shè)計,適應(yīng)AI技術(shù)的高速發(fā)展。