4月24日,浙江大學召開OpenKS(知目)知識計算引擎開源項目發布會,宣布浙大與合作單位研發的OpenKS知識計算引擎取得重大進展。中國工程院院士、國家新一代人工智能戰略咨詢委員會組長、浙江大學計算機學院教授潘云鶴說,本次發布的OpenKS,作為知識計算引擎項目中的基礎軟件架構,定義并豐富了知識計算的內涵,是我國在大數據人工智能方向的又一次有益嘗試。
“可泛化的領域知識學習與計算引擎”是以莊越挺教授作為首席科學家的科技創新2030“新一代人工智能”首批重大項目,該項目由浙江大學牽頭,聯合北京大學、北京航空航天大學、哈爾濱工業大學、西北工業大學、之江實驗室等頂尖學術機構、百度等行業領軍企業聯合建設,旨在建立一整套可服務于知識密集型行業共性需求的知識計算工具、算法與系統,幫助這些行業快速地構建行業知識圖譜,提供行業相關的智能規劃與決策支持。經過各課題組的深入研究和課題間的緊密協作,共同研發了可用于支撐各行業知識服務系統構建的OpenKS知識計算引擎算法庫。
OpenKS基于百度飛槳,可實現模型的大規模分布式訓練與圖計算,解決了從數據到知識,從知識到決策中的三大問題。OpenKS集成大量算法和解決方案,提供了一系列知識學習與計算的多層級接口標準,可供各機構研發人員以統一的形式進行算法模型研究成果的封裝、集成與服務,并通過開源機制支持企業和社區開發者根據不同的場景需求對接口服務進行調用和進一步開發。各行各業可以選擇引擎中的算法,快速地搭建行業系統應用,以應對多變的決策需求。當行業與需求發生變化,系統能夠及時地提供算力、算法支撐,以縮短行業智能化改造的時間。
以工程科技教育行業為例,目前我國存在很大的工程人才缺口,然而工程科技門類眾多、知識體系繁復、知識點之間關聯復雜、教材層次各異導致自學門檻較高。不僅如此,學生背景各異、學習目的各異,也導致統一培訓效率較低。OpenKS知識計算引擎包含的知識抽取算法API、知識表征學習API、分布式知識計算API、知識圖譜應用API等可為工程科教行業構建知識圖譜,并基于圖譜為不同學生設計個性化教育路線,滿足差異化學習的需要。
深度學習框架助力OpenKS智能化加速
知識圖譜技術的研發應用需要海量數據、龐大算力以及復雜的模型算法,而構建知識圖譜底層平臺所需的技術要求高、周期長、投入大、收益慢。基于深度學習框架開展人工智能科學實驗或產品研發,則可以避免在知識圖譜系統搭建中重復造輪子。
百度飛槳自2016年開源,是我國首個自主研發、功能完備、開源開放的產業級深度學習平臺。基于百度飛槳平臺,OpenKS可實現模型的大規模分布式訓練與圖計算,解決了從數據到知識,從知識到決策中的三大問題。
飛槳助力OpenKS實現模型大規模分布式訓練
面對超大規模知識圖譜訓練,隨著圖譜規模增大,數據量增多,對訓練框架要求越來越高。針對分布式知識計算,OpenKS系統采用飛槳超大規模深度學習模型訓練技術,支持百億圖譜分布式存儲和檢索,還支持百節點數據并行訓練萬億稀疏參數,進而學習大規模的知識圖譜。
針對知識圖譜應用,如知識問答,模型比較復雜,OpenKS采用飛槳集合通信多機多卡訓練;知識推薦任務,訓練數據比較大,稀疏特征比較多,OpenKS除了采用飛槳萬億稀疏參數服務器外,隨著模型越來越復雜,還引入純GPU參數服務器來提升稀疏模型的計算性能,把100臺CPU機器才能訓練的模型只用1臺多卡GPU設備即可完成訓練,不僅節約了成本,還保障了集群的穩定性和擴展性。同時,在知識圖譜應用場景里,如知識圖譜問答和推薦,飛槳不僅提供了相應的算法,還針對推薦場景提供了工業級數據處理和萬億稀疏模型訓練能力。
考慮到在純GPU的參數服務器下,當模型網絡層比較復雜時,GPU利用率很難被打滿,飛槳框架2.0版又創新性地推出了業內首個通用異構參數服務器功能,可以同時使用不同的硬件進行混合異構訓練,兼容了多款CPU、AI專用芯片(如百度昆侖XPU)、GPU(如V100、P40、K40),讓用戶可以在硬件異構集群中部署分布式訓練任務,實現對不同算力芯片高效利用,為用戶提供更高吞吐、更低資源消耗的訓練能力。
對于大規模稠密參數模型,飛槳分布式訓練技術同樣與業務緊密結合,通過模型并行策略、分組參數切片組合、流水線并行策略和數據并行策略的多層疊加,發揮合力作用,誕生了業內第一個4D混合并行策略。通過測試驗證,如此創新性提出的4D混合并行策略的訓練速度的確高于3D混合并行策略,進一步優化訓練性能和顯存占比,再次走到了技術的前沿。
飛槳PGL助力OpenKS實現圖計算
針對圖學習算法通用性與性能兼顧的挑戰,OpenKS以飛槳圖學習PGL作為知識表示學習以及知識存儲的重要模塊之一。在知識圖譜表征學習中,需要在線高性能圖引擎查詢,因此會面對大規模異構關系存儲以及在線高性能查詢問題,OpenKS采用PGL的大規模分布式異構圖引擎來進行知識表征學習的在線服務,來支撐日益增長的知識關系。
此外,高效的圖神經網絡算法,也是知識圖譜先進性的保證,PGL是業界首個提出通用消息并行傳遞機制的圖神經網絡框架,原生支持異構圖消息傳遞聚合等多種功能,并內置多種高效圖神經網絡模型。因此,OpenKS項目中集成了PGL的GCN、TransE、TransR等多種圖表征學習算法,并且同時采用了PGL的高效消息傳遞接口作為圖神經網絡的編程接口之一。
百度飛槳深度學習平臺于2019年開源的分布式圖學習框架PGL,是業界首個提出通用消息并行傳遞機制,支持百億規模巨圖的工業級圖學習框架。原生支持圖學習中較為獨特的分布式圖存儲(Distributed Graph Storage)和分布式采樣(Distributed Sampling),可以方便地通過上層Python接口,將圖的特征(如Side Feature等)存儲在不同的Server上,也支持通用的分布式采樣接口,將不同子圖的采樣分布式處理,并基于PaddlePaddle Fleet API來完成分布式訓練(Distributed Training),實現在大規模圖學習分布式的上加速計算。
PGL基于飛槳動態圖全新升級,極大提升了易用性,原生支持異構圖,覆蓋30+圖學習模型,包括圖語義理解模型ERNIESage等,歷經大量真實工業應用驗證,可全流程服務產業應用項目,為開發者提供充分的實踐案例投射進行技術選型。另外,基于飛槳深度學習框架的分布式Fleet API,建立分布式圖存儲及分布式學習算法,可實現靈活、高效地搭建前沿的大規模圖學習算法。
展望
未來,在充滿了機遇與挑戰的大時代背景中,飛槳將持續在技術上不斷創新進步,探索分布式訓練技術等的邊界,擴展AI賦能的領域,與開發者共同成長進步,為產學研智能化進程貢獻著自己的力量。