半年21項全新發布和升級,百度飛槳團隊「碼力」全開

從半年前飛槳發佈 11 個全新模塊,到今天又發佈 9 大新開發產品,百度工程師已經「碼力」全開。

今年 4 月份,百度首次公佈了飛槳平臺全景圖和多個開發模塊。在短短半年之後,百度又在深度學習開發者峰會上發佈了 9 大全新開發產品。從 4 個端到端開發套件、飛槳 Master 模式,到圖學習框架 PGL 等多種新工具,今年第二次發佈會誠意滿滿。

飛槳是一個源於產業的平臺,它以 PaddlePaddle 框架為核心構建了一系列工具與組件。截止到當前,飛槳服務了超過 150 萬開發者,超過 6.5 萬的企業。總體上,基於飛槳的 16.9 萬模型很多都是面向應用的,它們有很大一部分直接用於更復雜的產業環境。

半年21項全新發布和升級,百度飛槳團隊「碼力」全開

正如百度首席技術官、深度學習技術及應用國家工程實驗室主任王海峰所說:「深度學習正在推動人工智能進入工業化大生產階段,而深度學習技術和平臺也在不斷髮展,在未來的時間裡也將繼續發揮重要作用。我們秉承開源開放的理念,把飛槳平臺開源開放,與所有開發者一起,推動科技發展、產業創新和社會進步。」

百度 AI 技術平臺體系執行總監、深度學習技術及應用國家工程實驗室副主任吳甜介紹到,飛槳是一個源於產業實踐的深度學習開源開放平臺。它集核心框架、模型庫、端到端開發套件、工具組件和服務平臺為一體,為深度學習模型的開發、訓練和部署等提供標準化、自動化和模塊化服務,降低人工智能技術應用門檻,激發技術創新,促進產業升級。

半年21項全新發布和升級,百度飛槳團隊「碼力」全開

飛槳就像操作系統那樣將機器學習的各個方面聯繫起來,儘可能為開發者,甚至是為非開發者提供足夠強大、足夠易用的操作體驗。在今天的深度學習開發者峰會中,百度深度學習技術平臺部總監馬豔軍發佈了飛槳 21 項新模塊與新升級。

從現在的飛槳全景圖來看,百度的 AI 生態已經覆蓋了人工智能中幾乎所有應用方向。

半年21項全新發布和升級,百度飛槳團隊「碼力」全開

如果讀者看看第一版全景圖,就會發現從核心框架到工具組件這半年優化了太多方面。馬豔軍表示:「雖然優化工作很多,但我們做得很投入,做的東西很有意義。飛槳平臺的開發要求很高,但我們有能力做好,並做出特色和優勢。」

在發佈會上,馬豔軍花費了一個多小時來介紹飛槳的各種新工具。我們發現從最基礎的 1.6 版本新特性,到圖神經網絡和多任務學習等全新的工具組件,再到 ERNIE 和 PaddleDetection 等端到端開發套件,整個飛槳大家庭有太多的更新,這篇文章也只是介紹最為吸引人的新工具,更多的細節可查閱這幾天的系列解讀文章。

四大開發套件與飛槳 Master 模式

百度 AI 技術平臺體系執行總監、深度學習技術及應用國家工程實驗室副主任吳甜表示,為了幫助製造業企業轉型,百度為製造業提供了端到端的開發套件,包括 PaddleSeg、PaddleDetection 等套件。

在開發套件之外,吳甜還介紹了飛槳平臺的 Master 模式,這是一種通過開放平臺能力和模型,結合企業特有數據和業務流程,助力企業獲得大數據和大模型性能的實現路徑。吳甜說:「這種模式就像有一個 Master,我們可以跟著 Master 學習,學到自己場景適用的模型。」

以百度的 ERNIE 預訓練模型為例,百度在這一模型的基礎上,通過增加百科知識、篇章知識、語法知識等,形成基礎模型。而企業可以使用這一預訓練模型進行微調和遷移學習,最終在自身的定製化任務上的將工作量大幅降低。

不論是開發套件還是 Master 模式,它們都旨在於實踐中更高效地構建更好的模型。

升級為套件的 ERNIE

因為自然語言的廣泛應用,百度現在已將 ERNIE 從預訓練模型升級為端到端開發套件,將模型作為強大的開發工具,為開發者提供模型性能上的支持。

ERNIE 是基於持續學習的語義理解預訓練框架,使用多任務學習增量式構建預訓練任務,最新發布的 ERNIE 2.0 中,新構建的預訓練任務類型可以無縫的加入訓練框架,持續的進行語義理解學習。

項目地址:https://github.com/PaddlePaddle/ERNIE

半年21項全新發布和升級,百度飛槳團隊「碼力」全開

具體而言,在 ERNIE 預訓練模型的基礎上,百度為其添加了工具層、平臺層和應用層,使其具有了服務能力。只需要調用相關的 API,開發者就可以使用語義表示方面的能力了。

此外,ERNIE 面對不同的用戶的需求提出了一些改進。首先,考慮到自然語言處理任務的多樣性,ERNIE 進行了多任務學習,用於滿足不同任務對數據分佈上的要求。其次,自然語言處理有領域上的限制約束。因此,ERNIE 根據面向的領域不同,提供了專門的領域模型,語料和數據都為不同的領域而定製。第三、ERNIE 在應用方面也提供了很多工具,通過使用這些工具,可實現 ERNIE 快速推理和推薦、對 ERNIE 進行模型壓縮、快速部署,或根據業務需求進行定製化開發。

半年21項全新發布和升級,百度飛槳團隊「碼力」全開

在升級到 2.0 版本之後,ERNIE 模型可以進行多任務和持續學習。同時,還有開源的壓縮版本——ERNIE-Tiny。

快速落地的 PaddleSeg

對於經典的圖像分割任務,馬豔軍表示,現在它在日常生活中越來越廣泛,人體特效和智能摳圖等應用也非常吸引人。PaddleSeg 在這些日常任務中有很好的效果,也很容易放到實際應用中去。

PaddleSeg 是產業級圖像分割庫,覆蓋了 DeepLabv3+、U-Net、ICNet 三類主流的分割模型。通過統一的配置,幫助用戶更便捷地完成從訓練到部署的全流程圖像分割應用。PaddleSeg 具備高性能、豐富的數據增強、工業級部署、全流程應用的特點。

項目地址:https://github.com/PaddlePaddle/PaddleSeg

半年21項全新發布和升級,百度飛槳團隊「碼力」全開

PaddleSeg 目前已支持了 18 個訓練模型,覆蓋了幾乎所有的主流網絡架構。

PaddleDetection

PaddleDetection 是目標檢測庫,目的是為工業界和學術界提供大量易使用的目標檢測模型。PaddleDetection 不僅性能完善,易於部署,同時能夠靈活的滿足算法研發需求。

項目地址:https://github.com/PaddlePaddle/PaddleDetection

半年21項全新發布和升級,百度飛槳團隊「碼力」全開

PaddleDetection 目前已支持了超過 60 種模型,其中有很多近年來推出的模型。考慮到圖像識別方面的模型較大的問題,PaddleDetection 還有很多小模型版本,這些都是通過模型結構搜索出來的,可以用於部署在移動端小型設備上。

此外,為了推動圖像識別對下游圖像處理任務方面的促進作用,PaddleDetection 具有模塊化拼裝的方式,可以很方便地和其他任務組合起來。

ElasticCTR

在工業領域,CTR 模型的應用非常廣泛。本次發佈會上,百度也介紹了他們的 ElasticCTR 模塊。能夠實現分佈式訓練 CTR 預估任務和 Serving 流程一鍵部署。為了幫助工業領域進行快速應用,百度提供了端到端的 CTR 訓練和二次開發的解決方案。

半年21項全新發布和升級,百度飛槳團隊「碼力」全開

多個開發模塊新發布

從模型定義到模型部署,整個開發過程涉及的流程非常多,遠不止常規的模型編寫。與此同時,模型的應用領域也非常廣,遠不止常見的視覺、語言等方面。如果想要打造統一的系統,那麼這兩者都是要覆蓋的。對於飛槳來說,全景圖中的核心框架承載的是整個模型開發流程,而各種工具組件,旨在提供更便捷好用的成套模塊。

如下四大工具,可以讓你更好地部署手機端模型、更好地構建多任務學習、圖神經網絡和聯邦學習模型。

面向移動端的 Paddle Lite 2.0

Paddle Lite 是 Paddle-Mobile 的升級版,定位支持包括手機移動端在內更多場景的輕量化高效預測,支持更廣泛的硬件和平臺,是一個高性能、輕量級的深度學習預測引擎。馬豔軍表示,Paddle Lite 2.0 具有極高的易用性,它擁有非常多的實際操作指南,從而幫助我們在不同的設備上快速部署模型。

項目地址:https://github.com/PaddlePaddle/Paddle-Lite

馬豔軍說:「Paddle Lite 2.0 對硬件的支持非常廣泛,八種主流的硬件都沒有問題,這一次該工具還新增了對華為 NPU 以及 FPGA 的支持。」有了如此多的硬件支持,在與 PaddlePaddle 無縫對接外,Paddle Lite 2.0 也兼容其他訓練框架輸出的模型。

除了好用外,性能也非常重要。如下圖所示,Paddle Lite 2.0 在運行移動端深度學習模型 MobileNet 時的速度,尤其是在 Int8 精度下的推斷速度有很大的優勢。

半年21項全新發布和升級,百度飛槳團隊「碼力」全開

圖學習框架 PGL1.0

Paddle Graph Learning(PGL)是一個高效易用的圖學習框架,PGL 提供一系列的 Python 接口用於存儲/讀取/查詢圖數據結構,並且提供基於遊走(Walk Based)以及消息傳遞(Message Passing)兩種計算範式的計算接口。

利用這些接口,我們可以輕鬆的搭建最前沿的圖學習算法,它覆蓋大部分的圖網絡應用,包括圖表示學習以及圖神經網絡。

項目地址:https://github.com/PaddlePaddle/PGL

半年21項全新發布和升級,百度飛槳團隊「碼力」全開

百度在 PGL 的接口的設計上做了大量工作,用於提升圖神經網絡的易用性。同時,為了提升整體性能,PGL 可使用分佈式訓練的方法進行運行。最終,PGL 和飛槳本身的變長張量特性結合,性能更快。據馬豔軍介紹,PGL 可支持十億節點、百億邊的訓練。

聯邦學習 PaddleFL

PaddleFL(Federated Deep Learning)是一個開源聯邦學習框架。據介紹,研究人員可以很輕鬆地用 PaddleFL 複製和比較不同的聯邦學習算法。開發人員也可以從 PadderFL 中獲益,因為用 PaddleFL 在大規模分佈式集群中部署聯邦學習系統很容易。

項目地址:https://github.com/PaddlePaddle/PaddleFL

半年21項全新發布和升級,百度飛槳團隊「碼力」全開

多任務學習 PALM

PALM(PAddLE Multitask)是一個靈活易用的多任務學習框架,框架中內置了豐富的模型 backbone(BERT、ERNIE 等)、常見的任務範式(分類、匹配、序列標註、機器閱讀理解等)和數據集讀取與處理工具。對於典型的任務場景,用戶幾乎無需書寫代碼便可完成新任務的添加;對於特殊的任務場景,用戶可通過對預置接口的實現來完成對新任務的支持。

項目地址:https://github.com/PaddlePaddle/PALM

半年21項全新發布和升級,百度飛槳團隊「碼力」全開

在任務方面,PALM 支持了多個人工智能領域的多任務學習。以自然語言處理為例,PALM 可為模型提供自然語言理解、機器閱讀理解、機器翻譯等方面的多任務學習訓練方法。而在計算機視覺方面則包括了圖像識別、圖像分類、語義分割、圖像生成等方面。發佈會上,馬豔軍表示,PALM 已支持 20 行代碼進行多任務訓練。

飛槳核心框架 Paddle 1.6:為易用而生

除了新工具的推出和舊有工具的優化,百度整體上對飛槳平臺進行了一次較大的改進。對於飛槳核心框架(簡稱 Paddle)的易用性,馬豔軍說:「我們 6 月份發的版本已經集成了動態圖機制,在這次的發佈中,動態圖編程又有很多新優化。」

飛槳有一個比較好的地方,即最開始設計的時候就充分地考慮了動態圖和靜態圖的兼容性。馬豔軍表示,採用動態計算圖,其呈現的不只有易用性,在動態圖的背後,它與靜態計算圖複用了很多底層性能優化技術,因此飛槳性能和效率的兼顧會做的會比較完善。

半年21項全新發布和升級,百度飛槳團隊「碼力」全開

全新升級後的飛槳,易用性大幅提升,動態圖全新升級、新增大量算子庫、優化 API 接口,技術文檔更加完善。大規模分佈式訓練性能領先,分佈式 GPU 訓練相比其他主流實現可以獲得 20%-100% 的速度提升,分佈式 CPU 訓練最大吞吐量可達競品的 6 倍以上。官方支持模型庫極大豐富,官方模型從 60 多個增加到了 100 多個,提供下載的預訓練模型已經超過 200 個。

馬豔軍表示:「Paddle 新版本只需要改動 5 行代碼,就能把單機程序變成分佈式訓練程序。」這免除了大量的手動工作,將複雜的調配過程都留給了框架本身。

半年21項全新發布和升級,百度飛槳團隊「碼力」全開

最後,百度在文檔上也下了很大功夫,這次更新後,整個中文文檔有了很大變化。因此從 API 層面到訓練機制、再到開發文檔都有顯著的改善,開發者用起來很方便,體驗上就會有顯著的改善。

成績斐然的半年

本次更新多達 21 項新模塊與新升級,馬豔軍說:「這些新的發佈和升級都是顯性的一些工作,我們在底層核心技術還做了更多的優化,團隊的能力也越來越強。這一領域國內人才非常稀缺,隨著飛槳平臺越來越完善,我們團隊得到了更多的鍛鍊,團隊也越來越強大。」

吳甜表示,從一年多之前開始,飛槳有了更強的戰略定位,並加大了對飛槳的投入。「在這一年多的時間裡,大家把原來的工作都做得更優秀,並同時去做更多的開源與推廣。」

在半年時間裡做出如此多的更新,確實很多部門通力合作的結果。通過今年兩次的大型發佈會,我們能清晰地感受到飛槳平臺以及 PaddlePaddle 框架變得越來越成熟。最終,飛槳也許會形成完整的系統,將複雜的機制隱藏在底層,將最好用的工具給用戶,這會是非常令人興奮的一件事。


分享到:


相關文章: