0

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項重要升級。

開發方面,除了動態圖和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年內,量子計算以及量子機器學習必將成為社會發展的重要推動力。
百度現在入手量子計算,或恰逢其時。 雷鋒網雷鋒網雷鋒網
雷峰網原創文章,未經授權禁止轉載。詳情見轉載須知。