業界首批「首席AI架構師」出爐,百度黃埔學院推動飛槳在企業中的應用

機器之心發表於2019-06-19

去年 3 月 22 號,華為 HiAI 首席架構師楊鋆源第一次聽到 PaddlePaddle 這個名字。當時,他的內心想法是,「業界深度學習框架已經很多了,開發者已經是選擇困難,百度還有必要再做一個嗎?」

如今,他的想法發生了改變:「做深度學習框架需要大量的投入,無論是做框架的提供者,還是廣大的學員或者是開發者,都要花很大的精力去學習。平臺必須堅持數年連續投入,百度願意做這件事是國內開發者的幸事。向所有願意在基礎能力投入的組織和個人致敬,因為他們推動了整個產業的可持續性發展。」

楊鋆源想法的改變,源於一項為期六個月的培訓。

今年初,百度聯合「深度學習技術及應用國家工程實驗室」成立「黃埔學院」,旨在為各行各業培養第一批「首席 AI 架構師」。

第一期學員共 35 人,分別來自不同企業和單位(包括國家衛星氣象中心、中油瑞飛、中信銀行、神思電子、OPPO、廣東電網、廣東長隆集團、中國聯通軟體研究院、華為、米文動力、愛奇藝等),當然楊鋆源是其中之一。

他們在北京進修半年,在半年時間裡,他們結合自身行業和企業需求,使用飛槳(PaddlePaddle),將 AI 結合到業務實踐中應用落地。

上週日(6 月 16 日)下午,他們在百度科技園熊掌報告廳上完「最後一課」後,28 位透過畢業答辯的學員獲得了畢業證書,成為百度認證的業界首批「首席 AI 架構師」。

業界首批「首席AI架構師」出爐,百度黃埔學院推動飛槳在企業中的應用

飛槳(PaddlePaddle)核心框架 v1.5 即將釋出

在這半年時光裡,陪伴著楊鋆源們一起成長的,還有 PaddlePaddle——中文名為「飛槳」,是由百度自主研發,集深度學習訓練和預測框架、模型庫、工具元件、服務平臺等為一體的開源深度學習平臺。

2016 年,在百度世界大會上,百度宣佈 PaddlePaddle 開源,國內首個也是目前唯一一個開源開放、功能完備的端到端深度學習平臺誕生。

去年,PaddlePaddle 核心框架 Paddle Fluid v1.0 釋出了穩定版本;半年來,飛槳(PaddlePaddle)在易用性、效能、模型豐富度等方面取得了大量突破性進展,百度深度學習技術平臺部總監、黃埔學院副院長馬豔軍說。

基於百度多年的產業應用經驗,以及百度大腦生態夥伴的人工智慧解決方案實踐,飛槳(PaddlePaddle)目前已經支援六十多個經過真實業務場景驗證的官方模型,涵蓋視覺、自然語言處理、推薦等 AI 核心技術領域。

  • 在核心框架層面,它提供開發、訓練和預測一整套的技術能力,它同時支援稠密引數和稀疏引數場景,支援千億規模引數、數百個節點的高效並行訓練,為使用者提供業界最強的超大規模並行深度學習能力;它提供效能全面領先的底層加速庫和推理引擎、Paddle Mobile、Paddle Serving、高效自動化模型壓縮庫 PaddleSlim,為使用者提供端到端全流程部署方案;

  • 為適應工業大生產階段的「標準化、自動化和模組化」,它提供包括遷移學習、強化學習、自動化網路結構設計、訓練視覺化工具、彈性深度學習計算等在內的工具元件;

  • 在服務平臺層面,它提供零基礎定製化訓練和服務平臺 EasyDL 和一站式開發平臺 AI Studio,進一步降低深度學習應用門檻,讓零演算法基礎加速推動產業智慧化變革。

業界首批「首席AI架構師」出爐,百度黃埔學院推動飛槳在企業中的應用

飛槳(PaddlePaddle)全景圖

「飛槳(PaddlePaddle)核心框架 Paddle Fluid v1.5 馬上就要釋出」,馬豔軍當日透露。

飛槳(PaddlePaddle)總架構師於佃海、主任架構師胡曉光和董大祥分別從飛槳的基本能力、設計,模型的穩定性和易用性,飛槳在大規模分散式應用場景中的應用等方面,對飛槳在這半年裡取得的進展做了更詳細的介紹。

於佃海說,最近半年,他們在 OP 的完備性上做了很多建設;飛槳(PaddlePaddle)的 API 也逐漸穩定下來;他們還完善了對應的中英文雙語文件,最佳化了底層效能,並增加了對動態圖程式設計的支援。

胡曉光表示,飛槳(PaddlePaddle)模型庫中模型的數量已經從早期的不到二十個模型,增長到六十多個,覆蓋方方面面,還包含「非常前沿」的模型。

他還表示,飛槳(PaddlePaddle)提供的演算法模型全部源於百度的工業實踐,歷經大規模資料、場景訓練,特別是針對中文的語義表示、情感分析等,百度基於特有的資料演算法已可提供成熟穩定的模型,大幅提升訓練速度和實現效率。比如機器翻譯的模型,在訓練上比其他框架快 60% 以上,預測速度快近 4 倍。

董大祥透露,他們在大資料訓練的過程中做了很多最佳化,包括資料分散式的 I/O,隨機打亂等功能。他們將在飛槳(PaddlePaddle)的開源專案裡逐步增強模型的非同步能力,以更高價效比擴充套件節點。「易用性方面,1.5 版本會發布分散式訓練的 API。」

「最後一課」:探討飛槳(PaddlePaddle)在企業中的應用

當日,答辯結束後,百度黃埔學院的導師——百度馬豔軍、於佃海、胡曉光、董大祥給學員們上了「最後一課」,分享了飛槳(PaddlePaddle)在百度產品落地的經驗。

他們還與學員——華為 HiAI 首席架構師楊鋆源、愛奇藝深度學習平臺架構師周海維、米文動力 CTO 蘇俊就「飛槳(PaddlePaddle)在企業中的應用」展開了圓桌討論,他們圍繞深度學習框架落地過程中的痛點、IoT 趨勢給深度學習部署帶來的挑戰、國產深度學習平臺應該如何發展等話題進行了探討。

業界首批「首席AI架構師」出爐,百度黃埔學院推動飛槳在企業中的應用

以下為圓桌討論實錄,經筆者編輯、刪減後,以對話體的形式呈現給讀者:

馬豔軍:首先,請三位學員介紹在使用深度學習框架的過程中,遇到了哪些開發上的痛點?

愛奇藝周海維:我們公司工程師團隊人數不是特別多,特別是做平臺的人數不是特別多,所以我們很希望能夠看到飛槳(PaddlePaddle)有一些端到端的解決方案,特別是設計方面,比如直接提供 RPC 介面或者直接把最終的產品形態能夠提供出來,對於我們開發的效率還有上線的時間壓力,特別有保證。

華為楊鋆源:飛槳(PaddlePaddle)進步非常大,無論從基礎能力還是開發資源上面都取得很可觀的進步,同時我們也要看到在飛槳對於開發者的文件體系或者描述還有提升的空間,因為很難透過直截了當的東西看明白問題在哪兒,要從底層程式碼一層層去看。經過與飛槳的框架的整合的過程,我覺得飛槳(PaddlePaddle)在移動端有很大的發展空間。在整個業界發展來看,隱私以及執行速度方面飛槳都佔很大的優勢,我們希望在未來的發展裡,能夠透過晶片和飛槳,在移動端做更多工作。

米文動力蘇俊:我們更加註重融合場景。深度學習對於傳統演算法提高的效能很多,但是一般來說,我們的檢測手段有限。深度學習是基於現有的資料集做判斷,但是實際情況和我們掌握的情況有比較大的區別,這個時候,深度學習的侷限性會體現出來。

一般的人機檢測,大家覺得沒有什麼問題,都比較成熟,但工業場景中不可避免會出現檢測和人臉識別失效的問題,如何用基於資料分析的方法論和部署相結合,是一個痛點。

另一方面,深度學習並不適合所有的場景,怎麼劃定深度學習真正適用的領域的邊界,讓它可複製化,是現在很多場景裡做的不太夠的地方。

馬豔軍:深度學習在很多場景下都有很成功的應用;同時,在真實的業務場景實現部署,並把它的效果調到最優的狀態,還是有不小的挑戰。一般專案的落地會有一定的週期,接下來請胡曉光和董大祥分別介紹飛槳(PaddlePaddle)在百度產品的經驗。

胡曉光:2014 年底,機器翻譯領域提出深度學習演算法的應用;2015 年 5 月,百度翻譯就率先上線了深度學習系統。我們那個時候開發框架,面臨一些多機和分散式多卡的問題,攻克了一系列技術問題。

而線上應用的時候又面臨新的問題:整合飛槳之後,預測速度能不能滿足相應的需求?百度整體流量很大,每天有上億的請求,我們又花了很多時間做加速。百度翻譯需要用大量伺服器,我們花了接近小半年的時間針對不同場景做最佳化,使預測速度快了近 4 倍。

所以,做一個任務,如果用好框架,速度會很快;但真正在大規模的應用場景裡落地,還有很多針對性的任務要做,包括針對不同場景做加速。

董大祥:百度有很多大資料的場景,資料的儲存、壓縮以及和深度學習框架之間的融合是需要很多工作的。我們的業務環境非常複雜,並不是說任何一個框架進去之後都可以很容易地和業務資料串聯起來,進行快速的訓練,並且是分散式的訓練。

如果大家使用深度學習框架,首先,要對自己的業務非常瞭解,瞭解業務上整個資料流的來源以及特點,能夠快速定義自己的問題,並用最簡單的模型快速除錯。小規模資料除錯沒問題,要考慮上規模訓練,也就是分散式訓練(百度基本上使用的是分散式訓練,數百 CPU 節點的任務十分常見)。

業務落地的過程其實週期比較長,一般分兩個情況:一個情況是,這個業務以前已經在用某一種深度學習模型的實現,也可能不是使用深度學習的系統。這時,把一個新的深度學習框架做到線上是有挑戰的,需要很長時間的調研和打平,比如,怎麼和線上策略打通,包括深度學習的訓練效果和預測速度以及模型切換的週期,都需要精準打平。

像資訊流場景一般需要快速更新模型,除了要求對業務的瞭解以及資料流能夠精準的匹配到系統外,它對深度學習框架的訓練速度也有非常高的要求,這也是為什麼我們持續建設非同步並行能力的原因。

很多實際業務場景,並不是需要花更多的時間把 1% 的準確率提上來,而是要把這個模型運轉起來,能夠快速跟上資料產出速度,快速迭代新的模型,讓系統見到很多新的知識,這是資訊流裡面比較大的挑戰。

大家用上深度學習框架以後,後面拼的主要是迭代週期。使用飛槳(PaddlePaddle)的業務線,想迭代一個新模型,百度的通常情況是,每個人都可以支援一條線,如果資料流很完備,大概幾天可以迭代一個版本。

所以,在最開始選框架的時候,要注重長期維護的可能性。有一些框架第一部分使用起來比較容易,但如果後面迭代效率不高,對整個公司的貢獻度並不高,這是為什麼使用飛槳(PaddlePaddle)反而是比較快的實現方式。

馬豔軍:完整打通整個流程確實比較複雜,但是第一次流程打通了,後面更新資料、再迭代模型,讓效果變得更好,可以變得很快。所以,大家要把第一次上線做紮實。

關於深度學習的部署,是很多同學關注的點。現在,IoT 的趨勢越來越明朗,出現了各種各樣異構的裝置(不只雲、端),這對於深度學習的部署是比較大的挑戰,並且直接關係到整個應用的效果和整個應用的效率。接下來,我們聊一下這個話題。先請佃海介紹一下現在飛槳(PaddlePaddle)的情況以及計劃。

於佃海:整體來說,我們對飛槳(PaddlePaddle)的預測部署能力是非常重視的。首先,我們公司內部業務的實際應用場景很就很多,我們的模型都要上線部署,所以必須把上線部署這個環節做好。第二,我們做端到端完整的深度學習框架,最大程度上便利開發者。

部署是很多開發者真正把這個東西落地的痛點。我們在這塊投入很大,做了多個方面的工作:包括服務化的支援,以及對飛槳(PaddlePaddle)移動端的工作,支援手機上的各種部署,已經在百度 APP 上有廣泛使用。還有很多場景都有類似的需求,比如自動駕駛。我們思考怎麼把速度做的最快,同時相容多種平臺。我們讓飛槳能夠在不同的硬體平臺上方便部署。端上的環境很複雜多樣,我們也在不斷完善,目標是做到更全的覆蓋,並將模型做的更小。我們也提供壓縮工具,有量化等多種方式全方位支援,把這個工作做好。

周海維:昨天跟董大祥老師交流的時候,他說百度在推理方面特別看重效能,特別看重計算速度。但這跟原來傳統的有點區別,更看重單執行緒。

如果完全按照這個進行改造,我們要把整個引擎上下游全部改造一遍,不管是工程還是工作量,難度都很大。但效果可能很多倍,所以我們很希望做到這個事情。如果我們公司做的話,可能請董大祥老師把這部分開源出來,我們把這個短板能夠補上。

楊鋆源:現在,安卓的體系裡有一些演算法支撐,但是,想發揮好晶片的極限效能,還是要針對晶片做單獨的定製。 

我們一直把模型作為資料檔案,如果模型部署能夠對於開發者提供模型託管能力,相當於根據不同的平臺能夠把模型自動下載到本地的方式,開發者可以節省很多適配工作,而百度天然具備這樣的平臺和優勢。

蘇俊:IoT 有比較明顯的趨勢,比如在框架層面和應用層面。

框架層面包括華為開源和百度開源,給 IoT 的發展打了一個很好的基礎,能夠解決我們模型不斷迭代、自動部署的問題。隨著業務推進,不斷獲取新的資料,如何有效地根據新的資料再調整模型,只用其進行訓練還是有更好的方法?現在其實沒有方法論的東西,我們還是基於原來的基礎理論在做。

飛槳(PaddlePaddle)訓練出來後,如何直接使用在裝置上?針對這一點,我們的情況比較好,現在沒有什麼問題。

「我們今天擁有非常好的時機。國內現在有大量的需求在驅動著我們,我們能夠預見,人工智慧和產業的深度結合勢必發展迅速。」百度 AI 技術平臺體系執行總監、深度學習技術及應用國家工程實驗室副主任、黃埔學院院長吳甜在畢業典禮致辭中表示,

「黃埔學院希望能切實幫助企業儲備既能分析業務問題,又掌握模型演算法,還能操刀落地應用,深諳演算法與工程的緊密結合的企業創新型人才,如此由內需驅動,讓我們擁有更多更好的創新機會。」

相關文章