郭一璞 夏乙 發自 香格裡拉
量子位 出品 | 公眾號 QbitAI
深度學習框架裡的唯一國貨PaddlePaddle,集中迎來一大波更新。
百度PaddlePaddle全景圖也首次曝光。
在框架核心覆蓋的整個深度學習流程中,PaddlePaddle為從開發、訓練到部署、預測的每一個環節都做了新升級。同時,百度還免費放出了總價值1億元的計算力福利,甚至能「人手一張英偉達Tesla V100計算卡」。
眾多新功能、新特性中,不僅有全新的自然語言處理(NLP)和視頻工具集發布,升級了大規模分布式訓練、大數據處理等等能力,還響應開發者要求,將百度實際業務中使用的Serving部署能力完整開放了出來。
在核心框架之外,PaddlePaddle還提供了自動機器學習、強化學習、遷移學習三大新組件。
除了一口氣放出11項升級之外,這款兩歲多的國產深度學習框架,也終於有了中文名:
飛槳
百度深度學習技術平臺部總監馬豔軍介紹說,這個名字出自朱熹的兩句詩「聞說雙飛槳,翩然下廣津」, 飛槳表示急速划動的船槳或船,意指PaddlePaddle是快速成長,性能優異的平臺。從古詩詞裡找靈感起名字,還蠻符合百度這家科技公司一貫的文藝傾向。
新特性、新組件、新名字的集中宣布,就在昨天(4月23日)下午,開發者雲集的國內首場深度學習峰會上。
這場峰會上,數百人的會場擠得座無虛席,甚至還有一大群開發者找不到座位,在後排站著圍觀。
除了各家公司的工程師,參會者裡還有不少年輕的面孔,一直在拍照。
其中坐在量子位旁邊的是位本科生,這個在天津大學計算機專業就讀的男孩為此專程跑來了北京,自稱是PaddlePaddle的粉絲。
前來參會的可不只年輕人,現場至少有3位頭髮花白的老人。其中一位來自清華計算機系的老先生,和一旁清華軟院畢業的百度工程師討論起了人工智慧與數學的種種聯繫。據稱,老先生是清華55級的校友,從50年代開始就做人工智慧研究,今年83歲,還在帶博士。當年也是清華大學計算機系建系第一屆入學的本科生。
而在會議開始後,全場都安靜了,觀眾們像聽課一樣,齊刷刷的抬頭望著PPT,如果不是臺上有人在演講,現場幾乎安靜的讓人不敢竊竊私語。
這些聚集在現場的開發者,見證了「飛槳」開源近三年來的成長,也第一時間趕上了百度發放的算力福利。
這些新發布,都是面向深度學習在各行各業落地的需求,應運而生。
智能時代的作業系統
在這個深度學習滲透各行各業的時代,框架有著至關重要的作用。百度高級副總裁、深度學習技術及應用國家工程實驗室主任王海峰將它稱為「智能時代的作業系統」。
智能時代的一個重要特徵,就是人工智慧進入了工業化大生產階段,背後的推動力正是比前幾代技術更加通用的深度學習。
比如在我們日常生活離不開的地圖導航裡,深度學習就起著重要的作用。地圖每次找到路線之後估算要花費的時間,都要考慮到路上動態出現的各種情況,把歷史路況、實時路況、限行等等大量信息作為特徵輸入到一個深度學習模型中,統一建模,才能準確地預估時間。
王海峰說,百度地圖每天提供大約5億次時間預估,每一次都是深度學習在背後起作用。
從全行業來看,深度學習也為各個行業帶來了商業增值潛力。麥肯錫《深度學習的應用和價值》報告顯示,旅遊、交通、零售、高科技、媒體娛樂、半導體、通信等19個行業都會受益於深度學習。對旅遊業來說,深度學習會帶來128%的增值,各行業平均來看,也會帶來62%的提升。
深度學習為各個行業輸送價值,體現在具體的行業應用上,而它們和底層硬體之間,有一個重要的中間層,就是深度學習框架。
深度學習框架起著承上啟下的作用,向下對接系統和晶片層,很多基本算子都和晶片的指令集非常類似;而向上對接各種業務、領域的模型和行業應用,就表現出作業系統的屬性。
飛槳,就是百度版「智能時代作業系統」。
作為一個完整的深度學習平臺,它當然包含核心框架部分,支持訓練、預測、組網等等能力。
同時,它還提供了視覺、自然語言等領域的模型,形成一個完整的模型庫,以模塊化的方式呈現。在想要實現智能應用的時候,選擇合適的模型,簡化了前期收集、整理數據和從頭開始訓練的過程。
這些還不足以應對工業化生產的需求,因此,飛槳還包含遷移學習、強化學習、自動組網(AutoDL)、彈性深度學習計算等等組件,以及EasyDL和AI Studio平臺。
王海峰介紹說,AutoDL設計的網絡已經超過了很多專家設計的深度學習系統,而EasyDL上已經有超過3萬個模型,很多行業都在EasyDL上解決自己的問題,比如零售、工業、醫療等等。它們都讓深度學習任務更加自動化了。
可以說,無論是整個飛槳的設計還是剛剛發布的更新,都在適應工業化大生產的需求:具有通用性,朝著標準化、自動化和模塊化的方向發展。
「飛槳」新升級
還記得我們前面講過的飛槳三層架構嗎?這一波大更新,遍布每層架構每個模塊,可以說是整個框架平臺的大變身。
在核心框架層,飛槳在模型庫中發布了用於NLP和視頻理解的新工具集,還在訓練和預測環節更新了眾多功能,工具組件層有三款新品發布。
在AI Studio平臺上,百度還發放了一波開發者福利。
新特性眾多,我們從重頭戲PaddleNLP說起。
飛槳對60多個主流模型提供官方支持,這些模型構成了計算機視覺、NLP、推薦算法三大類工具集。
其中的NLP工具集這一次做了非常多升級。這些升級,都是百度在NLP領域的積累和工業化前沿經驗的呈現。前不久,百度發布了中文任務上全面超越BERT的語言表示ERNIE,就在PaddleNLP的基礎網絡層中開源了,還包含預訓練模型。
這個工具集能夠靈活插拔,還覆蓋了幾乎所有的常見NLP場景,全面支持主流的中文處理任務,並且能達到工業級的應用效果。
另外,其中的所有模型共享同一套骨架代碼,無論要跑其中哪一個模型,任何模型都可以用一套API和類似的模式,不需要每個模型執行不同的方法。
在PaddleNLP的基礎網絡層中,包含最基本的的BERT、ERNIE、ELMo等語義表示模型和語言模型組網集,以及序列標註、文本分類、語義匹配、語言生成與複雜任務上的組網集。
在應用任務上,它支持中文詞法分析、文本情感分類、短文語義匹配、閱讀理解、機器翻譯、對話等多種任務。
用PaddleNLP,能用共享的組網集靈活搭配,構建自己的網絡,還可以針對任務進行後處理:
除了NLP,飛槳在視覺領域也有更新:視頻領域工具集。
馬豔軍說,現在視頻內容越來越多,視頻處理已經成為一個主流任務,用通用方法來處理和理解它非常關鍵。
視頻工具集也是一套共享通用架構和配置文件,7個模型共享同一套數據讀取、評估代碼。
在這7個模型中,stNet、Attention LSTM和Attention三個都是百度在工業實踐中開發出來的。
百度自身業務就對視頻理解有很大的需求。
比如說這段跑男的視頻,Paddle的視頻工具集能將所有的聲音都轉換成文本,識別出裡邊各位明星的臉和所有物品,然後就可以對視頻做自動分類、打標籤了。
通過這種處理,還能得到一個視頻語義向量,在涉及視頻的搜索、推薦等場景下,用這個語義向量都能達到更好的效果。
在分布式訓練方面,飛槳也有三個主要功能發布。
第一是對多機多卡的全面、全方位的支持,提升了速度。第二是在CPU的應用場景設計並開放了大規模稀疏參數伺服器。第三是大規模分布式訓練支持各種容器,也支持了K8S。分布式訓練效果怎麼樣?下圖就是ResNet-50兩種精度下在ImageNet上的訓練benchmark,隨著卡和機器數量的增加能實現很好的線性增長:
在網絡條件不太好的情況下,也可以通過稀疏通信技術,實現穩定的訓練:
在CPU場景下,飛槳分布式訓練的吞吐量和加速比也都能呈現線性增長。
在部署和預測上,關鍵部分就是推理引擎,另外,飛槳還應開發者要求,開放了百度自身業務中使用的一個伺服器端部署系統Paddle Serving,還在移動端提供了壓縮工具PaddleSlim。
在伺服器端,飛槳支持主流的CPU、GPU,也支持移動端多種CPU和GPU硬體。
在Benchmark上可以看出,在英特爾的至強處理器上、P4 GPU上,飛槳的推理引擎都做了很好的優化。
移動端性能的優化更加關鍵,百度在多款晶片上測試了MobileNet網絡的延遲,也可以看到非常明顯的優化。
這些優化和飛槳新發布的模型壓縮能力密切相關。現在,模型優化已經成為一個剛需,飛槳通過支持剪枝、量化、蒸餾三種主要壓縮方式,讓用戶可以通過兩行Python代碼簡單調用自動化模型壓縮。
飛槳對語言的支持也在逐漸完備,目前已經支持Python和C++,後續也會支持更多語言。
展示了種種能力之後,飛槳聯合嘉楠、軟通等合作夥伴,發布了一款軟硬一體的產品:Paddle派210晶片板卡,售價不到100塊,5月將在百度AI市場發售。
除了這些框架之中支撐深度學習全流程的功能之外,PaddlePaddle還有三款工具組件亮相:
一是正式開源模型架構自動搜索工具AutoDL Design,以及這個AI設計出來的一些預訓練模型,有的能在圖像分類數據集CIFAR10上,達到98%的準確率;二是強化學習工具PARL,7分鐘就能訓練出一個會玩雅達利桌球遊戲Pong的智能體。三是預訓練的一站式管理平臺PaddleHub,10行代碼就能實現遷移學習。新升級就是以上這些,量子位拿到了一份完整的馬豔軍的演講PPT,對飛槳的新功能、新特性有更為詳細的介紹。給量子位公眾號(QbitAI)發送「飛槳」兩個字索取。
那麼百度的1億元算力福利具體是怎麼回事呢?
基於免安裝的集成環境AI Studio,百度為開發者提供了總共1億元的免費算力。算力的發放有兩種方式,一種是人手一張V100訓練卡,用戶通過邀請碼獲取AI Studio平臺上的免費算力時長,還能邀請好友獲得更多時長;另一種是遠程集群模式,只要登錄AI Studio就能通過這種方式免費使用單卡12GB顯存的算力。
國貨的進擊之路
2016年PaddlePaddle發布之時,谷歌的TensorFlow已經開源近一年,位列GitHub最受歡迎機器學習項目之首,更有Torch、Caffe、MXNet等前輩環伺。
當時的PaddlePaddle,雖然收到了運行速度快等讚譽,但是在大量同類產品之後「重複造輪子」,還是引來了文檔太少、資源太少、「短期內難以改變科研格局」等等吐槽。
如今,深度學習框架版圖早已不是兩年前的模樣,PaddlePaddle也經歷了翻天覆地的變化。
2017年,PaddlePaddle Fluid發布,還發布了新的API,大幅精簡了代碼量,提供「訓練、「測試」、「推理」等新的高級API,並支持Kubernetes。
2018年,PaddlePaddle支持了Python 3、計算圖分析、cuda8,1.0正式版本也就此出爐,為推薦系統、視覺和自然語言處理任務提供了大量的官方模型,還增加了對windows環境的支持,全面支持了Linux、Mac、 windows三大環境,最終升級為了端到端的深度學習平臺。
而在今年年初,PaddlePaddle更新至 Fluid v1.3 版本,新增發布視頻模型庫,支持了BERT模型。
伴隨著這些升級而來的,是用戶量的提升。馬豔軍說,PaddlePaddle現在已經覆蓋10萬開發者,並且增速非常可觀,在過去的一個季度內有了兩位數百分比的增長,用戶多數集中於產業界,從網際網路公司,AI公司到中國石油、南方電網這類傳統公司都在用PaddlePaddle,甚至像ERNIE這類研究還吸引了一些國外用戶下載使用。
相比TensorFlow和PyTorch這些模型,馬豔軍認為,PaddlePaddle有獨特的優點。
一方面PaddlePaddle是在企業實踐中做出來的,超大規模數據處理能力、高速推理能力強,場景和實際應用貼合,更為實用;
另一方面,PaddlePaddle不僅僅包含深度學習框架,提供一整套緊密關聯、靈活組合的完整工具組件和服務平臺,更加有利於深度學習技術的應用落地。加上百度在自然語言處理等方面的優勢,最終PaddlePaddle是十分易用的平臺。
下一步,馬豔軍說,PaddlePaddle還將在硬體的適配性等方面進一步提升,在今年內完善動態圖功能,提升動態圖訓練速度,實現動態圖與靜態圖的靈活轉換;新增流水線並行能力,提供視覺檢測、生成工具集,並且還會發布PaddleHub 2.0,基於最完備的預訓練模型庫進行遷移學習。
One more thing
量子位向現場的朋友要了一個遠程使用V100 GPU的邀請碼,當然要轉贈讀者啦!4月25日13:00,我們會定位評論區點讚數最高的讀者,轉送出這份福利。
你可以獲得最多120小時的使用時間,還可以額外贈送給你的3名開發者小夥伴免費用的機會。
— 完—