深度學(xué)習(xí)已經(jīng)推動(dòng)人工智能進(jìn)入工業(yè)大生產(chǎn)階段,而深度學(xué)習(xí)框架則是智能時(shí)代的操作系統(tǒng)。
在4月23日下午的Wave Summit深度學(xué)習(xí)開發(fā)者峰會(huì)上,百度高級(jí)副總裁王海峰開場(chǎng)就為深度學(xué)習(xí)框架PaddlePaddle在百度內(nèi)部的戰(zhàn)略地位進(jìn)行了定調(diào)。
王海峰表示,人類已經(jīng)經(jīng)歷了三次工業(yè)革命:機(jī)械技術(shù)、電器技術(shù)以及信息技術(shù),而這些都是從一個(gè)行業(yè)開始,然后擴(kuò)展到各行各業(yè),直到我們生活的各個(gè)角落。而這些為我們的生活帶來深刻變革的技術(shù)往往有很強(qiáng)的通用性,包括標(biāo)準(zhǔn)化、自動(dòng)化和模塊化。如今,我們正進(jìn)入第四次工業(yè)革命——智能時(shí)代,而人工智能是第四次工業(yè)革命核心驅(qū)動(dòng)力量。
人工智能經(jīng)歷了人工規(guī)則、機(jī)器學(xué)習(xí),而深度學(xué)習(xí)的出現(xiàn)則帶來了很多新的變化,包括語(yǔ)音識(shí)別、語(yǔ)音合成、計(jì)算機(jī)視覺、自然語(yǔ)言處理、機(jī)器翻譯等等都因?yàn)樯疃葘W(xué)習(xí)取得了更好的效果。王海峰認(rèn)為,深度學(xué)習(xí)技術(shù)已經(jīng)具備了很強(qiáng)的通用性,正在推動(dòng)人工智能進(jìn)入工業(yè)大生產(chǎn)階段,呈現(xiàn)出標(biāo)準(zhǔn)化、自動(dòng)化和模塊化的特點(diǎn)。深度學(xué)習(xí)框架承上啟下,下接芯片、大型計(jì)算機(jī)系統(tǒng),上承各種業(yè)務(wù)模型、行業(yè)應(yīng)用,是智能時(shí)代的操作系統(tǒng)。
作為最早研究深度學(xué)習(xí)技術(shù)的公司之一,百度早在2013年即設(shè)立了深度學(xué)習(xí)研究院,并于2016年正式開源深度學(xué)習(xí)框架,而PaddlePaddle也身負(fù)百度搶占人工智能時(shí)代高地的重要使命。
在發(fā)布幾年之后,PaddlePaddle不再與TensorFlow、PyTorch等正面競(jìng)爭(zhēng),而是開始強(qiáng)調(diào)自己更懂中文,更懂中國(guó)開發(fā)者,以及更加專注于深度學(xué)習(xí)模型的工業(yè)生產(chǎn)和部署,并給自己取了個(gè)中文名「飛槳」。
為籠絡(luò)開發(fā)者,現(xiàn)場(chǎng)百度深度學(xué)習(xí)技術(shù)平臺(tái)部總監(jiān)馬艷軍還宣布了“1億元” 的AI Studio算力支持計(jì)劃,為開發(fā)者免費(fèi)提供昂貴的計(jì)算資源。
在此次的技術(shù)升級(jí)中,PaddlePaddle除了發(fā)布了11項(xiàng)新特性及服務(wù),還首次展示了PaddlePaddle的全景圖和未來的Roadmap,更加凸顯了PaddlePaddle的戰(zhàn)略地位。
PaddlePaddle全景圖
PaddlePaddle可以分為核心框架、工具組件、服務(wù)平臺(tái)。
核心框架支持從開發(fā)到訓(xùn)練到預(yù)測(cè),以及智能推薦工具集PaddleRec、NLP工具集PaddleNLP、計(jì)算機(jī)視覺PaddleCV工具集,并且支持超過60個(gè)模型。
工具組件則包括預(yù)訓(xùn)練模型管理框架PaddleHub,強(qiáng)化學(xué)習(xí)框架PARL,基于PaddlePaddle的AutoDL技術(shù)實(shí)現(xiàn)AutoDL Design,數(shù)據(jù)可視化工具庫(kù)VisualDL,以及支持彈性深度學(xué)習(xí)計(jì)算的EDL。
服務(wù)平臺(tái)則主要由可定制化訓(xùn)練深度學(xué)習(xí)模型的EasyDL以及一站式開發(fā)平臺(tái)AI Studio組成。EasyDL目前已經(jīng)支持圖像識(shí)別、文本分類、聲音分類等深度學(xué)習(xí)模型的訓(xùn)練,而AI Studio則集合了AI教程、代碼環(huán)境、算法算力、數(shù)據(jù)集和比賽,屬于百度大腦的深度學(xué)習(xí)實(shí)訓(xùn)平臺(tái)。
而此次重磅發(fā)布的更新則涉及11項(xiàng)新特性及服務(wù),包含PaddleNLP、視頻識(shí)別工具集、Paddle Serving、PaddleSlim、AutoDL Design等多種深度學(xué)習(xí)開發(fā)、訓(xùn)練、預(yù)測(cè)環(huán)節(jié)。
開發(fā)環(huán)節(jié)
PaddleNLP
PaddlePaddle支持CV、NLP以及推薦系統(tǒng)三大類別的一系列模型算法,目前官方能夠支持的模型數(shù)量已經(jīng)超過60個(gè),而且已經(jīng)經(jīng)過真實(shí)業(yè)務(wù)場(chǎng)景的驗(yàn)證。
PaddleNLP一直是PaddlePaddle的核心組件,囊括了諸多工業(yè)級(jí)中文NLP算法和模型庫(kù),涵蓋文本分類、序列標(biāo)注、語(yǔ)義匹配等多種NLP任務(wù)的解決方案,而這一次百度對(duì)又PaddleNLP進(jìn)行了中大升級(jí)。
首先,百度把NLP這個(gè)領(lǐng)域的模型做了一套共享骨架代碼,每一個(gè)模型都可以用同一套API和類似的模式,大大降低了操作的復(fù)雜程度;其次,這個(gè)工具包可以支持主流的中文處理任務(wù),并且能夠?qū)崿F(xiàn)工業(yè)級(jí)的應(yīng)用效果。
PaddleNLP由基礎(chǔ)網(wǎng)絡(luò)層和應(yīng)用任務(wù)層構(gòu)成?;A(chǔ)網(wǎng)絡(luò)層是表示層,包括語(yǔ)義表示、語(yǔ)言模型、序列標(biāo)注、文本分類、語(yǔ)義匹配、語(yǔ)言生成與復(fù)雜任務(wù)等組網(wǎng)集合。
分類組網(wǎng)集:可用于文本分類的深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu),輸入為文本中每個(gè)字、詞的ID,輸出為文本屬于各個(gè)類別的概率。包括:BOW、CNN、GRU、LSTM、BiLSTM。
語(yǔ)義表示組網(wǎng)集:可用于文本表示的深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu),輸入為文本中每個(gè)字、詞的ID,輸出為文本中每個(gè)字詞的embedding。包括:BERT、ELMo、ERNIE。
語(yǔ)義匹配組網(wǎng)集:可用于計(jì)算短文本相似度的深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu),輸入為兩個(gè)文本中每個(gè)詞的ID,輸出為二者的相似度得分。包括:BOW、CNN、GRU、LSTM、MMDNN。
序列化標(biāo)注組網(wǎng)集:可用于計(jì)算序列標(biāo)注的深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu),輸入為文本中每個(gè)字的ID,輸出為文本中每個(gè)字所屬各個(gè)標(biāo)注的概率。目前主要有BiGRU-CRF。
語(yǔ)言模型組網(wǎng)集:可以用于計(jì)算句子概率的深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu),目前主要有LSTM。
復(fù)雜模型組網(wǎng)集:可以處理復(fù)雜任務(wù)的深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu),包括閱讀理解、對(duì)話等任務(wù)。包括:BERT、BiDAF。
基于這些網(wǎng)絡(luò)結(jié)構(gòu),同時(shí)再配套任務(wù)相關(guān)的工具和數(shù)據(jù),PaddleNLP可以實(shí)現(xiàn)一系列的應(yīng)用任務(wù),包括詞法分析、情感分類等,未來百度還會(huì)進(jìn)一步擴(kuò)充PaddleNLP的能力。
PaddleNLP還集成了百度近期發(fā)布的最新語(yǔ)義表示預(yù)訓(xùn)練模型——ERNIE。馬艷軍表示,ERNIE把中文領(lǐng)域處理的一些知識(shí)融入到建模的過程當(dāng)中,從而提升整個(gè)語(yǔ)義表示的效果,它很多中文任務(wù)上它的Benchmarck都比現(xiàn)在最好的效果要好不少。
此外,PaddleNLP的另一大亮點(diǎn)則是在模型訓(xùn)練階段可靈活切換基礎(chǔ)網(wǎng)絡(luò)結(jié)構(gòu),在任務(wù)預(yù)測(cè)過程中可靈活組合訓(xùn)練好的模型,大大提高了模型開發(fā)的靈活性。
視頻識(shí)別工具集
除了NLP工具集,此次更新的還有視頻識(shí)別的工具集。這個(gè)工具集覆蓋當(dāng)前7個(gè)經(jīng)典的視頻分類模型,包括TSN、Non-Local、stNet、TSM、Attention LSTM、Attention Cluster、NextVLAD。這些模型共享同一套配置文件,并且在數(shù)據(jù)的讀取、評(píng)估等方面共享一套代碼,并使用統(tǒng)一的訓(xùn)練和預(yù)測(cè)的框架。
據(jù)介紹,這些視頻理解的技術(shù)已經(jīng)在很多場(chǎng)景下得到了應(yīng)用,并且已經(jīng)在諸多百度產(chǎn)品上廣泛使用。
訓(xùn)練環(huán)節(jié)
針對(duì)訓(xùn)練環(huán)節(jié),PaddlePaddle也發(fā)布了兩項(xiàng)重要升級(jí):第一是大規(guī)模分布式訓(xùn)練的能力升級(jí),第二是工業(yè)級(jí)數(shù)據(jù)處理能力的升級(jí)。
大規(guī)模分布式訓(xùn)練
對(duì)于大規(guī)模分布式訓(xùn)練,PaddlePaddle推出了三個(gè)主要特性:
全方位支持多機(jī)多卡,速度提升。
在CPU的應(yīng)用場(chǎng)景,針對(duì)大規(guī)模稀疏特征,PaddlePaddle設(shè)計(jì)并且開放了大規(guī)模稀疏參數(shù)服務(wù)器,開發(fā)者可以下載相關(guān)的鏡像。
大規(guī)模分布式訓(xùn)練支持在各種容器上高速運(yùn)行,如今在K8S這個(gè)生態(tài)下也可以使用PaddlePaddle進(jìn)行訓(xùn)練。
針對(duì)多機(jī)多卡的訓(xùn)練場(chǎng)景,在ResNet50數(shù)據(jù)集上進(jìn)行測(cè)試,保持精度不變的情況下,F(xiàn)P16的訓(xùn)練速度要比FP32要快很多。此外,PaddlePaddle還做了帶寬不敏感的技術(shù),在ResNet50數(shù)據(jù)集上,帶寬不敏感相關(guān)的技術(shù)在性能和效果方面也有非常出色的表現(xiàn)。
在CPU場(chǎng)景下進(jìn)行基于個(gè)性化點(diǎn)擊率預(yù)估任務(wù)場(chǎng)景測(cè)試,可以發(fā)現(xiàn),不同并發(fā)資源下單位時(shí)間的吞吐量,不同的Batch Size下面加速比,都呈現(xiàn)線性的增長(zhǎng)狀態(tài),可以直接應(yīng)用到工業(yè)場(chǎng)景。
預(yù)測(cè)環(huán)節(jié)
模型在訓(xùn)練和開發(fā)完整之后需要部署到各個(gè)應(yīng)用場(chǎng)景,這里面涉及到幾個(gè)重要環(huán)節(jié)。首先,我們需要高速的推理引擎;在這個(gè)基礎(chǔ)之上,為了部署在更多的硬件上,我們常常需要做模型壓縮;最后,為了真正投入使用,還需要有相應(yīng)的硬件。
上圖是PaddlePaddle完整的端到端的全流程部署方案。
底層:在服務(wù)器端,PaddlePaddle已經(jīng)支持了比較主流的CPU和GPU;在移動(dòng)端,PaddlePaddle支持多種CPU和GPU,包括ARM的CPU以及Mali GPU等。對(duì)其他硬件的支持也正在快速擴(kuò)充中。
推理引擎:在底層硬件之上就是推理引擎,一方面是底層的加速庫(kù),另外就是在服務(wù)器端和移動(dòng)端做推理的能力。
多語(yǔ)言支持:PaddlePaddle目前已經(jīng)支持Python、C++,后續(xù)還會(huì)支持JaveScript等編程語(yǔ)言。
工具:PaddlePaddle這次正式發(fā)布的是一整套壓縮工具,可以不同的端上把模型壓到最小,同時(shí)又不損失精度。
方案與服務(wù):此外,PaddlePaddle還提供完整的方案,比如專用的硬件和部署的手冊(cè)說明等等,方便開發(fā)者部署和使用。
推理引擎
PaddlePaddle在推理引擎方面做了大量工作,能夠?qū)崿F(xiàn)推理加速,提升用戶的體驗(yàn)。據(jù)介紹,跟某主流框架的對(duì)比,在不同的GPU場(chǎng)景下,PaddlePaddle在多個(gè)模型推理的速度上展現(xiàn)了非常顯著的加速效果。
另外,在移動(dòng)端(ARM處理器),用MobileNet進(jìn)行測(cè)試,PaddlePaddle也實(shí)現(xiàn)了很好的效果。
Paddle Serving
針對(duì)服務(wù)器端,此次PaddlePaddle也終于開放了Serving的能力,可以實(shí)現(xiàn)模型從訓(xùn)練到上線服務(wù)器的無縫對(duì)接。Paddle Serving還內(nèi)置了諸多模型,可以實(shí)現(xiàn)批量預(yù)測(cè)。其架構(gòu)圖顯示,Paddle Serving有離線的準(zhǔn)備和在線的實(shí)現(xiàn),另外還有基本的Built-in的一些預(yù)處理執(zhí)行器。
Paddle Serving可以提供非常完備的在線服務(wù)能力,包括單服務(wù)多個(gè)模型,包括多版本的模型A/B Testing,模型的熱更新等等這些能力。硬件也是可擴(kuò)展的,包括CPU、GPU。同時(shí),還有內(nèi)置了多個(gè)模型服務(wù),包括圖像分類、文本分類等。
PaddleSlim
在移動(dòng)端部署深度學(xué)習(xí)模型常常要考慮模型的大小,因此模型壓縮的能力在移動(dòng)端的場(chǎng)景下是一個(gè)剛需。PaddleSlim做了參數(shù)集中管理,可以對(duì)模型進(jìn)行自動(dòng)壓縮,并且提升了操作的便利程度,開發(fā)者只需要兩行Python代碼就可以調(diào)自動(dòng)化的模型壓縮能力。目前PaddleSlim支持三種主要的壓縮能力,包括剪枝、量化以及蒸餾的方法。
工具
除了從開發(fā)到訓(xùn)練到部署的全流程,PaddlePaddle還更新了幾款工具組件:自動(dòng)化網(wǎng)絡(luò)設(shè)計(jì)工具AutoDL Design,強(qiáng)化學(xué)習(xí)工具PARL,以及預(yù)訓(xùn)練一站式管理工具PaddleHub。
AutoDL Design
AutoDL是一種高效的自動(dòng)搜索構(gòu)建最佳網(wǎng)絡(luò)結(jié)構(gòu)的方法,通過增強(qiáng)學(xué)習(xí)在不斷訓(xùn)練過程中得到定制化高質(zhì)量的模型。系統(tǒng)由兩部分組成,第一部分是網(wǎng)絡(luò)結(jié)構(gòu)的編碼器,第二部分是網(wǎng)絡(luò)結(jié)構(gòu)的評(píng)測(cè)器。這次PaddlePaddle發(fā)布的AutoDL Design的版本,主要是基于PaddlePaddle和PARL來實(shí)現(xiàn),并且已經(jīng)開源。
PARL
PaddlePaddle針對(duì)強(qiáng)化學(xué)習(xí)的工具PARL進(jìn)行了諸多升級(jí),在算法覆蓋、高性能通訊以及并行訓(xùn)練方面做了大量的支持和擴(kuò)展。百度前一段時(shí)間在NeurIPS獲得AI假尸挑戰(zhàn)賽冠軍的模型,運(yùn)用了Target Driven DDPG + Bootstrapping的方法實(shí)現(xiàn),并取得了很好地效果。
PaddleHub
PaddleHub是基于PaddlePaddle開發(fā)的預(yù)訓(xùn)練模型管理工具,可以借助預(yù)訓(xùn)練模型更便捷地開展遷移學(xué)習(xí)工作。利用這個(gè)平臺(tái),只需10行左右的代碼就可以實(shí)現(xiàn)遷移學(xué)習(xí),從而在自己的任務(wù)場(chǎng)景下使用。
架構(gòu)圖顯示,PaddleHub封裝了一系列的NLP和CV領(lǐng)域的數(shù)據(jù)集,同時(shí)還在數(shù)據(jù)的處理方面做了Reader封裝。PaddleHub目前已經(jīng)支持5大類的預(yù)訓(xùn)練模型,包括Transformer分析等等,還有幾類模型會(huì)在后續(xù)陸續(xù)開放。同時(shí),PaddleHub還支持文本分類、序列標(biāo)注等任務(wù)場(chǎng)景下的遷移,并提供了兩種優(yōu)化策略來提升遷移學(xué)習(xí)的效果。最后,PaddleHub還提供Finetune API和命令行,保證開發(fā)者可以快速使用PaddleHub來做遷移學(xué)習(xí)。
Roadmap
在2016年百度開源了PaddlePaddle,并且在2017年、2018年的時(shí)間內(nèi)陸續(xù)把PaddlePaddle Fluid新一代的深度學(xué)習(xí)框架做了完善,并發(fā)布了穩(wěn)定的1.0版本。根據(jù)PaddlePaddle的Roadmap,7月PaddlePaddle還會(huì)發(fā)布Fluid動(dòng)態(tài)圖分布式訓(xùn)練的功能,以及會(huì)新增流水線并行的能力,分布式訓(xùn)練會(huì)變得更快。11月PaddlePaddle會(huì)實(shí)現(xiàn)動(dòng)態(tài)圖的能力與靜態(tài)圖的靈活轉(zhuǎn)換,讓開發(fā)更加便捷,兼顧效率和性能。
2019年7月:
動(dòng)態(tài)圖基本功能完善,新增流水線并行能力
提供視覺檢測(cè)、生成工具集,使用文檔全面優(yōu)化
顯存占用優(yōu)化,靜態(tài)圖訓(xùn)練速度全面提升
優(yōu)化高速推理引擎,支持在更多硬件的快速擴(kuò)展,完善支持半精度
2019年11月:
動(dòng)態(tài)圖實(shí)現(xiàn)與靜態(tài)圖靈活轉(zhuǎn)換,支持高層 API
動(dòng)態(tài)圖訓(xùn)練速度全面優(yōu)化
PaddleHub 升級(jí)到 2.0,基于最完備的預(yù)訓(xùn)練模型庫(kù)進(jìn)行遷移學(xué)習(xí)
多項(xiàng)行業(yè)應(yīng)用解決方案發(fā)布
“1億元” 籠絡(luò)人心
想要籠絡(luò)開發(fā)者的心,單靠這些功能更新顯然不行,畢竟TensorFlow、PyTorch等已經(jīng)十分強(qiáng)大。因此百度還推出了“1億元”的AI Studio算力支持計(jì)劃。
馬艷軍介紹,開發(fā)者可以免費(fèi)申請(qǐng)使用工業(yè)級(jí)應(yīng)用的一些旗艦型的GPU硬件,這次主要是V100,另外還提供免費(fèi)、免安裝的集成環(huán)境,直接上手使用。
具體的使用模式有兩種,第一種是一人一卡的模式,包括16G的顯存,最高2T的存儲(chǔ)空間。第二種是遠(yuǎn)程集群模式,開發(fā)者只要登錄AI Studio做預(yù)測(cè),就可以免費(fèi)使用上面的算力資源。
除了免費(fèi)算力,PaddlePaddle還會(huì)提供各種深度學(xué)習(xí)的培訓(xùn)、認(rèn)證等等,壯大自己的朋友圈,打造自己的開發(fā)者生態(tài),讓更多開發(fā)者來使用百度云服務(wù),最終實(shí)現(xiàn)AI的商業(yè)化落地。
2018年7月,李彥宏在百度AI開發(fā)者上喊出了要讓“Everyone Can AI”的口號(hào),PaddlePaddle具有重要的戰(zhàn)略地位。不過,CSDN的《2018-2019中國(guó)開發(fā)者調(diào)查報(bào)告》顯示,目前國(guó)內(nèi)絕大部分的開發(fā)者依然選擇主流的深度學(xué)習(xí)開發(fā)框架,PaddlePaddle依然任重道遠(yuǎn)。
-
人工智能
+關(guān)注
關(guān)注
1793文章
47539瀏覽量
239392 -
計(jì)算機(jī)視覺
+關(guān)注
關(guān)注
8文章
1699瀏覽量
46057 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5511瀏覽量
121373
原文標(biāo)題:薅百度GPU羊毛!PaddlePaddle大升級(jí),比Google更懂中文,打響AI開發(fā)者爭(zhēng)奪戰(zhàn)
文章出處:【微信號(hào):rgznai100,微信公眾號(hào):rgznai100】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論