中國首個支援量子機器學習,520的「飛槳」再次全新升級!
- 2020 年 5 月 22 日
- AI
5月20日,在這個空氣中瀰漫中濃濃愛意的日子,又迎來了百度一年一度的「Wave Summit 2020」深度學習開發者峰會。本次大會由深度學習技術及應用國家工程實驗室與百度聯合主辦,線上召開。
上午十點整,百度CTO王海峰首先登台致辭。
他的「重頭戲」,便是與大家分享了飛槳在新的一年所取得的佳績:累計開發者數量194萬,服務企業數量8.4萬家,基於飛槳平台產生了23.3萬模型。
而這一佳績的背後,一方面得益於演算法、算力及數據的持續共同進步,使得技術的邊界不斷被拓展;另一方面,疫情帶動了線上經濟增長,在國家提出「新基建」等大背景下,以飛槳為代表的深度學習平台作為智慧時代的作業系統,也迎來了非常可貴的發展機遇。
接下來,由百度集團副總裁、深度學習技術及應用國家工程實驗室副主任吳甜帶來「盪起飛槳 AI生產正當時」的主題演講。
她以「口罩人臉系列應用方案」為例,深入講解了飛槳在大規模分散式訓練、全硬體平台支援、端到端全流程工具以及飛槳Master模式等方面實現的最新技術進展。
演講中,她也帶來了飛槳全景圖的發布,並表示,在全新產品架構里,開源深度學習平台依然是最重要的一部分,他們依舊會持續通過開源的方式,圍繞飛槳的核心框架、基礎模型庫、端到端的開發套件和工具組件打造飛槳最核心的能力,永久開源,為開發者提供最強有力的開發基礎。
不僅如此,百度還推出了量子機器學習,期望飛槳能夠為未來的前沿發展做出貢獻(詳細請閱讀本文第3部分)。
一、高效易用的核心框架設計理念,四大技術特色
峰會繼續,百度飛槳總架構師於佃海上台分享了飛槳核心框架的設計理念和技術特色。
作為源於百度內部實踐的一個深度學習框架,飛槳的迭代發展有兩個驅動輪:產業實踐的需求和打磨(性能、大規模訓練和部署能力);用戶體驗提升(用戶編程介面的優化和基礎功能建設的完善)。
兩個驅動輪對應到框架的設計,簡單來講,就是高效且易用。其設計的基本理念是,深度學習的編程開發應該更加符合用戶一般的編程習慣,而不需要引入太多額外的概念。
這一設計理念以及雙輪驅動下,飛槳框架目前已經具備以下四個技術特點:
第一,易學易用的前端編程介面。飛槳通過編程一致的計算描述,直接以程式化的program形式描述神經網路執行的計算過程,同時提供了一種完備的內在描述ProgramDesc 來表達任意複雜的模型,實現了自然完備的動靜統一。
進一步,飛槳自2018年底擴展支援的動態圖目前也已得到深度優化,全新的開發體驗,編程交互更加自然靈活,更容易寫出優雅的程式碼。與此同時,飛槳近期新增的高層API同時屏蔽了動靜的差異,可以使用一行命令方便地切換執行模式,可極大降低編程複雜度。
第二,統一高效的內部核心架構。 飛槳目前有兩層 IR:program 對接用戶編程介面,簡潔完備地表達深度學習計算,還可以便捷地遷移變換,無縫對接分散式訓練和推理部署,保證了整體架構的一致性,而又不顯著增加複雜度;SSA Graph 則主要對接更底層的優化策略,比如運算元自動融合,並發調度,易構硬體執行調度等等。兩層IR更好地銜接了前端和後端,兼顧和簡潔、高效和整體統一性。
近期進一步的優化升級包括:將飛槳的默認顯示記憶體分配策略,升級為自動按需分配,更加節省資源;完善通用運算元自動融合策略,進一步提升了訓練性能;建立了非常完備易用的自動混合訓練功能,充分發揮硬體優勢,提升訓練速度,同時配合前項中間層重計算策略,可以支援更大batch的訓練。
第三,原生完備的分散式訓練支援。眾所周知,飛槳的英文名Paddle便是並行分散式訓練學習的縮寫,因而分散式作為飛槳與生俱來的特性,是其核心框架設計中非常重要的部分,完全不需要依賴其他外掛。從飛槳的單機程式,到多設備訓練的擴展,都只需要通過統一極簡的API和配置,剩下都是由框架自動完成。
進一步,百度對飛槳在分散式訓練方面的優化包括:新增了超大規模分類功能,通過模型並行實現對千萬類別分類任務的支援;完善了流水線並行,更好地發揮異構設備的協同優勢;同時對參數伺服器功能進行了整合優化,使得功能更完善,使用更簡單。
第四,高性能可擴展的推理引擎。飛槳的訓練框架一體的原生推理系統 Paddle Inference,原本便可與訓練復用部分優化策略,並在底層運算元實現上完全一致,做到了百分百兼容,即訓即用。
與此同時,飛槳也針對推理場景做了深度優化,實現了對外部推理加速庫的可插拔載入,從而讓實現對部分計算的更靈活加速選擇。此外,在自有多硬體加速庫的基礎上,提供了獨立的輕量化推理引擎Paddle Lite,對端側任務提供高性能支援,並且在運算元定義和模型表達層面,和核心框架保持一致。
於佃海總結道,目前為止飛槳核心框架整體上已經形成了介面清晰、功能完備、成熟穩定的架構體系。基於飛槳框架已建成對深度學習核心任務全覆蓋的模型庫,並延展出圖學習PGL、深度強化學習PARL等非常多的衍生開發框架。
二、發布7項開源新產品,23項重要升級
百度深度學習技術平台部高級總監馬艷軍進一步發布了側重於工業級應用極致體驗以及布局深度學習前沿技術兩個方向的7項開源產品,23項重要升級。
開發方面,除了動態圖和API 的升級,飛槳還將提供更多的官方模型庫和開發套件,方便開發者進行低程式碼的二次開發:官方模型庫新增了39個演算法,總演算法數量達到146個,預訓練模型已有200多個;而在開發套件上,本次不僅升級和發布了視覺開發套件——端到端的影像分類開發套件PaddleClas、目標檢測開發套件PaddleDetection 的發布和升級,還發布了語音開發套件——端到端的語音合成開發套件Parakeet 。
訓練升級上,主要包括三個方面,訓練速度,顯示記憶體,和大規模分散式的擴展能力。在訓練速度上,升級了自動混合精度訓練,用一行程式碼就可以實現訓練速度提升兩倍;顯示記憶體策略方面,實現了重電腦制可用於訓練極深網路模型;分散式擴展能力方面,提供非常易用的API,並新發布一個雲端的任務提交工具PaddleCloud,進一步在分散式訓練技術方面,研發了數據並行、模型並行、流水線並行等完整的技術體系,並結合雲端研發了彈性訓練技術,其中模型並行和彈性訓練是本次新增發布的能力。
推理部署上,不僅升級了模型優化工具PaddleSlim,還升級了伺服器端的推理引擎Paddle Inference,開發者可以通過PaddleServing來實現模型的服務化部署,與此同時還在移動端和邊緣端的推理部署上進行了升級,其中包括可在網頁端或者小程式上使用的預測推理引擎Paddle.js,面向移動端和IOT場景提供的輕量化推理引擎Paddle Lite。
開源工具上,本次新發布的開源產品 PaddleX,可實現開發、訓練和部署全流程的打通,並且能夠非常方便地實現快速集成。目前它已經集成了很多款飛槳已經開放出來的能力,把這些能力進行流程上的打通之後,整個的使用體驗和門檻都可以得到大幅的降低。
針對早在去年 WAVE SUMMIT峰會上發布的飛槳 Master模式,今年則實現了預訓練模型和遷移學習工具兩項核心技術上的升級:預訓練模型方面,重點聚焦超大規模視覺模型和NLP的語義理解模型ERNIE;遷移學習工具方面,則新增了多個遷移學習的演算法,包括DELTA技術、deep transfer never hurt 演算法,來提升應用效果。
前沿技術方面,第一個是曾連續兩年獲得了NeurIPS強化學習賽事冠軍的飛槳強化學習工具——RARL,本次新增了多智慧體演算法的支援以及連續控制領域的SOTA演算法,更好地支援強化學習前沿技術的研究;第二個是聯邦學習工具PaddleFL,本次也進一步完善了端雲協同訓練,並開源了百萬級用戶設備的模擬器,方便快速迭代,另外在企業間聯邦學習方面新增了縱向聯邦學習的能力,方便開發者或者研究者基於這些工具去做自己的聯邦學習相關研究。
除此之外,飛槳也在圖神經網路、複數神經網路等方面實現了升級,以更好地支援前沿技術和跨學科的機器學習研究。
三、量槳,中國首個量子機器學習開發工具
百度研究院量子計算研究所所長段潤堯發布了中國首個(也是唯一一個,同時也是全球第二個)量子機器學習開發工具——量槳(Paddle Quantum),將峰會拉入高潮。
簡單來說,Paddle Quantum 是一個基於百度開源框架PaddlePaddle的機器學習開發工具,支援量子神經網路的搭建與訓練,提供易用的量子機器學習開發者套件與量子優化、量子化學等前沿量子應用工具集,相關量子演算法的研究可以調用量槳內部的計算框架,然後用 Python 編程完成運算。
據段潤堯博士介紹,「量槳」特性有三,分別為:
-
易用性:提供簡潔的神經網路搭建與豐富的量子機器學習案例。
-
通用性與拓展性:支援常用量子電路模型,提供多項優化工具。
-
特色工具集:提供量子優化、量子化學等前沿量子應用工具集,自研多項量子機器學習應用。
量槳的量子機器學習開發套件包括:量子開發工具集,量子化學庫,以及一系列優化工具。與此同時,在量槳的Github開源中,我們還可以看到一系列入門教程,涵蓋量子優化、量子化學、量子機器學習等多個領域的經典量子應用。
過去幾年,儘管以深度學習為代表的機器學習方法在許多問題上產生了深遠的影響。然而從長遠來看,正如牛頓經典力學並不能精確描述自然世界一樣,我們若想模擬自然世界,經典機器學習方法會顯得力有未逮,而量子機器學習方法則將成為必然。 如今,諸多科技巨頭相繼布局量子計算,由此也可見,在未來的10~20年內,量子計算以及量子機器學習必將成為社會發展的重要推動力。
百度現在入手量子計算,或恰逢其時。 雷鋒網雷鋒網雷鋒網