PaddlePaddle深度學(xué)習(xí)開(kāi)源平臺(tái) :等待眾人劃槳的中國(guó)AI大船
原創(chuàng)【51CTO.com原創(chuàng)稿件】序言:說(shuō)點(diǎn)歷史
十年前,當(dāng)我在學(xué)校跟著老板苦哈哈地做圖像識(shí)別的時(shí)候,我想不到十年后的今天機(jī)器學(xué)習(xí)技術(shù)有了如此長(zhǎng)足的發(fā)展,而AI的概念也由之深入人心。岡薩雷斯的圖像處理,是我們?cè)?jīng)挑燈夜讀的經(jīng)典;OpenCV和C++或MATLAB是我們僅有的工具;后來(lái)我們又有了Libsvm&Liblinear;但即便在剛畢業(yè)工作的時(shí)候,想要實(shí)現(xiàn)一個(gè)稍復(fù)雜的算法也要遍查論文和各種博客。再后來(lái),我們有了Github,這一技術(shù)人的軍火庫(kù);我們用起了Python,畢竟人生苦短;我們也開(kāi)始有了Sklearn,算法人的工具箱內(nèi)趁手的工具越發(fā)多了起來(lái)。
當(dāng)深度學(xué)習(xí)發(fā)展起來(lái)以后,相似的一幕又一次上演,最早自己寫(xiě)反向傳導(dǎo),測(cè)試的時(shí)候戰(zhàn)戰(zhàn)兢兢,深怕哪里寫(xiě)錯(cuò)一點(diǎn)功虧一簣。到后來(lái),有了Caffe、有了Theano、有了TensorFlow、有了mxnet、有了上層封裝的keras,也有了越來(lái)越多的model zoo。后來(lái)的事,大家都知道了,在這些炙手可熱的平臺(tái)上,研究人員和工業(yè)界從大量的重復(fù)體力勞動(dòng)中解放出來(lái),得以將自身智慧更多地投入到更具創(chuàng)造性的研究與業(yè)務(wù)中去,并做出了很多非常棒的結(jié)果。
回首這十年,人工智能可以說(shuō)經(jīng)歷了從刀耕火種時(shí)代到第二次工業(yè)革命這樣的巨變,而我們也正站在新的黎明之前。
一、 PaddlePaddle是什么
我們說(shuō)了很多歷史,也提到了一些舞臺(tái)上正興的機(jī)器學(xué)習(xí)平臺(tái),而這篇文字,是想介紹一下一個(gè)新的選擇:來(lái)自百度的PaddlePaddle。Paddle(Parallel Distributed Deep Learning,并行分布式深度學(xué)習(xí))。PaddlePaddle的原意是“用漿劃動(dòng)”,其Logo也是兩個(gè)劃船的小人,莫名萌出一臉血……
書(shū)歸正傳,從2016年9月27日發(fā)布至今,PaddlePaddle也有一年多的時(shí)間了,而其前身是百度于2013年自主研發(fā)的深度學(xué)習(xí)平臺(tái),且一直為百度內(nèi)部工程師研發(fā)使用??梢哉J(rèn)為是一個(gè)類似google、facebook等工業(yè)優(yōu)而開(kāi)源的又一個(gè)典范。
這里不妨先從全局看一批數(shù)據(jù)。一般開(kāi)源項(xiàng)目的熱度指標(biāo)從Github可以略見(jiàn)一斑,PaddlePaddle的數(shù)據(jù)是這樣的(截止17.12.22):
-star(可以認(rèn)為是技術(shù)人的點(diǎn)贊)有6099人;
-forks(想自己基于此做修改)有1599人;
-commits(代碼更新次數(shù))有10073,也就每天更新幾十次吧;
-以及90個(gè)contributors(代碼貢獻(xiàn)者)。
這樣的受關(guān)注程度,和更新的頻次,即使和現(xiàn)在如日中天的TensorFlow比,雖說(shuō)整體熱度仍有差距,但PaddlePaddle也處于迅猛的上升期中。除了Github直接的用腳投票,在知乎等平臺(tái)上,PaddlePaddle也引起了熱烈的討論,包括架構(gòu)層面和應(yīng)用層面:
Caffe的設(shè)計(jì)者賈揚(yáng)清,評(píng)價(jià)說(shuō)“很高質(zhì)量的GPU代碼”、“非常好的RNN設(shè)計(jì)”、“設(shè)計(jì)很干凈,沒(méi)有太多的abstraction,這一點(diǎn)比TensorFlow好很多”、“總之是一個(gè)非常solid的框架,百度的開(kāi)發(fā)功底還是不錯(cuò)的”,這可以算是技術(shù)人之間的惺惺相惜了吧。
CPU/GPU的單機(jī)和分布式的模式也是開(kāi)發(fā)者們關(guān)注的點(diǎn),畢竟得益于原來(lái)parameter server的工作,而TensorFlow不能對(duì)多機(jī)CPU有很好的支持。以及速度快,顯存占用小等特性,這些在github的benchmark跑分中提到的優(yōu)勢(shì),也被開(kāi)發(fā)者們著力關(guān)注到了。
框架和功能的細(xì)節(jié),我會(huì)在第二節(jié)挑一些感興趣的點(diǎn),仔細(xì)剖析一下。應(yīng)用層面,是作為使用者最為關(guān)心的,有哪些實(shí)際的業(yè)務(wù)中,用到了PaddlePaddle,用得如何,我們將在第四節(jié)揭曉。功能和優(yōu)點(diǎn)提到了不少,但是現(xiàn)實(shí)是PaddlePaddle確實(shí)還有更廣大的開(kāi)發(fā)者群體需要觸達(dá),才能發(fā)揮更大的影響力和作用。
所以在第三節(jié)我也打算聊聊PaddlePaddle的劣勢(shì),以及在第五節(jié)探討一下這個(gè)優(yōu)秀工具的發(fā)展路徑。
二、PaddlePaddle探秘
每一個(gè)成功的開(kāi)源項(xiàng)目,文檔和教程都必不可少,而且很大程度上是項(xiàng)目易用性的保證、是深度鉆研的輔助,更為項(xiàng)目的成功增色。PaddlePaddle當(dāng)然也是這樣,它有自己一套較為詳實(shí)的輔助材料:http://www.paddlepaddle.org/
單從文檔形態(tài)的角度,相較于TensorFlow和keras的中文文檔基本是愛(ài)好者翻譯而成,PaddlePaddle的文檔來(lái)自于百度一線的工程師,多少會(huì)覺(jué)得親切和信賴稍多一些不?至于文檔的內(nèi)容,從全面性的角度出發(fā),一般都很龐雜,所以,我想抽取其中比較感興趣的幾個(gè)點(diǎn),做一下介紹:
-Docker
如果說(shuō)docker是什么,搞純算法的人一般不太接觸的話,那提到virtualenv、anaconda或者winpython,應(yīng)該很多人都有所耳聞,或者自己就確實(shí)在用。無(wú)論是在Linux下,還是在Windows下,科研工具的迭代一日千里(真的比游戲什么的更新快多了),帶來(lái)的問(wèn)題就是,版本間的依賴問(wèn)題、配置問(wèn)題,以及由此帶來(lái)的安裝和使用的方便性問(wèn)題。尤記得,Github上的opencv安裝腳本,都有大量的star。我自己在6、7年前也被scipy和numpy之流擺了一道。
數(shù)據(jù)和算法科學(xué)家本著應(yīng)該把時(shí)間花在更有價(jià)值的研究和業(yè)務(wù)任務(wù)上來(lái)的目的,類似虛擬化發(fā)布地使用,進(jìn)一步方便了大家,和虛擬機(jī)不同的是用docker的方式,性能和直接安裝在本機(jī)是一樣的。paddle的官網(wǎng)上是這么寫(xiě)得:
“為了開(kāi)發(fā)PaddlePaddle,我們需要:
A.一臺(tái)電腦,可以裝的是 Linux, BSD, Windows 或者 MacOS 操作系統(tǒng),以及
B.Docker。不需要依賴其他任何軟件了。即便是 Python 和 GCC 都不需要,因?yàn)槲覀儠?huì)把所有編譯工具都安裝進(jìn)一個(gè) Docker image 里。”
簡(jiǎn)單來(lái)說(shuō)就是:
1、下載CPU或GPU版本的鏡像:
比如CPU版本的就是docker pull docker.paddlepaddle.org/paddle
2、編寫(xiě)適用于Paddle的程序:
可以參考https://github.com/PaddlePaddle/book
順便說(shuō)一句,這本書(shū)也可以以docker方式安裝,并且支持Jupyter Notebook方式運(yùn)行。
3、運(yùn)行(假設(shè)/home/work/train.py為第二步完成的程序):
cd /home/work
docker run -it -v $PWD:/work paddlepaddle/paddle /work/train.py
進(jìn)入docker以交互的方式執(zhí)行和調(diào)試代碼也是可接受的。
-感興趣的業(yè)務(wù)
如TensorFlow和keras,都有自己的example模塊,主要功能有二:
- 提供一個(gè)demo的作用,對(duì)主要框架模塊的使用進(jìn)行演示;
- 解決一些實(shí)際的問(wèn)題,方便部分用戶直接使用。
比如,針對(duì)文本分類的任務(wù),keras對(duì)于imdb數(shù)據(jù)的情感識(shí)別,提供了CNN、LSTM、CNN_LSTM、fastText等多種方案,不僅對(duì)不用的網(wǎng)絡(luò)模型和組合的使用做了演示,稍微改一改其實(shí)就可以用到實(shí)際的業(yè)務(wù)中去。以及圖像方面keras下minst手寫(xiě)數(shù)字識(shí)別對(duì)應(yīng)的相關(guān)任務(wù)demo代碼就更多啦。
PaddlePaddle自然也有類似的模塊,體現(xiàn)在兩塊:
1.前文提到的PaddlePaddle – Book
它提供了從linear regression到mnist手寫(xiě)數(shù)字識(shí)別;從基于cnn的圖像分類到NLP領(lǐng)域的word2vec實(shí)現(xiàn)(做nlp的同學(xué)肯定記得分布式表述相較于onehot表述的優(yōu)勢(shì),以及king-queen=man-woman的例子);以及“個(gè)性化推薦”、“情感分析”、“語(yǔ)義角色標(biāo)注”、“機(jī)器翻譯”等典型應(yīng)用。
不得不說(shuō),作為一個(gè)算法或機(jī)器學(xué)習(xí)的初學(xué)者,且不論使用何種平臺(tái)開(kāi)始自己今后的學(xué)習(xí)和研究,這個(gè)book里對(duì)業(yè)務(wù)場(chǎng)景的描述、對(duì)算法背景和流程的介紹、以及提供的數(shù)據(jù)集,都是非常值得看一看得。
一個(gè)更方便閱讀的網(wǎng)址在:
http://www.paddlepaddle.org/docs/develop/book/index.cn.html
能相信么,還自帶視頻課堂,確實(shí)誠(chéng)意滿滿了:
http://bit.baidu.com/Course/datalist/column/117.html
2.模型庫(kù)http://www.paddlepaddle.org/docs/develop/models/README.cn.html
如果說(shuō)前面還是入門(mén)級(jí)的教程,那么這里的模型庫(kù)其實(shí)擔(dān)綱的角色是解決(很大程度上)工業(yè)級(jí)的實(shí)際問(wèn)題,這也是我特別關(guān)注的。
總共有14個(gè)類目:
詞向量、RNN語(yǔ)言模型、CTR預(yù)估、文本分類、LTR、結(jié)構(gòu)化語(yǔ)義模型、NER、序列到序列學(xué)習(xí)、閱讀理解、自動(dòng)問(wèn)答、圖像分類、目標(biāo)檢測(cè)、OCR、ASR。
- NLP :詞向量、RNN語(yǔ)言模型、文本分類、結(jié)構(gòu)化語(yǔ)義模型、NER、序列到序列學(xué)習(xí)、閱讀理解、自動(dòng)問(wèn)答
- 圖像:圖像分類、目標(biāo)檢測(cè)、OCR
- 語(yǔ)音:ASR
- 商業(yè):CTR預(yù)估、LTR
看出來(lái)了么?從搜索技術(shù)發(fā)展起來(lái)而集技術(shù)大成的百度,對(duì)NLP的研究確實(shí)是非常深入的。而隨著業(yè)務(wù)線的擴(kuò)充,圖像和語(yǔ)音的業(yè)務(wù)也有了長(zhǎng)足的發(fā)展(比如語(yǔ)音搜索、以圖搜圖、所投資得作業(yè)幫的OCR等),至于ctr預(yù)估是其廣告業(yè)務(wù)的核心,LTR也是網(wǎng)頁(yè)搜索等的技術(shù)命脈。
當(dāng)然,需要說(shuō)明的是,上面的分類不是完全嚴(yán)謹(jǐn),比如序列到序列學(xué)習(xí)其實(shí)也可以用到ASR中嘛,畢竟語(yǔ)音和文本都大致是二維的信息流,所有其實(shí)是有想通的地方所在。
既然如此,限于篇幅,我想在這篇小文中只關(guān)注那些最重要的信息,所謂最重要,就是說(shuō)百度有***的投入、***的產(chǎn)出和產(chǎn)品化的那些業(yè)務(wù),亦即:
LTR、CTR預(yù)估、序列到序列學(xué)習(xí)的古詩(shī)生成、以及DeepSpeech等。這樣一些信息,可以說(shuō)只此一家,別無(wú)分店,值得我們好好研究下。
1、LTR
http://www.paddlepaddle.org/docs/develop/models/ltr/README.html
一個(gè)簡(jiǎn)單的例子,當(dāng)用戶搜索“劉德華”這個(gè)query的時(shí)候,他想看到的是作為演員的劉德華、是作為歌手的他、還是有八卦新聞的他、亦或是他的圖片?每個(gè)人的需求是不一樣的,單純的規(guī)則系統(tǒng),很難滿足大部分人的需求。且不要說(shuō),這還是熱門(mén)query呢,如果碰到那些冷門(mén)query,本來(lái)能搜到(召回)的結(jié)果就不多,用規(guī)則的方式根本無(wú)法覆蓋到千萬(wàn)用戶的額需求(準(zhǔn)確)。所以LTR就是為了解決這樣的問(wèn)題應(yīng)運(yùn)而生。以及,在推薦和廣告的排序系統(tǒng)中,LTR都發(fā)揮了舉足輕重的作用。
文中也提到了pointwise、pairwise、listwise等幾種不同的方式,當(dāng)然沒(méi)有提到得是,pointwise的標(biāo)注較困難,常用有五檔打分的方式,但是復(fù)用性較好;而pairwise的方式標(biāo)注則容易很多。以及,標(biāo)注的效果等也需要有很多手段來(lái)控制。再以及,用戶的點(diǎn)擊,也是另外一種形式的(弱)標(biāo)注。這些都是很重要的學(xué)問(wèn)。
總的來(lái)說(shuō),PaddlePaddle在這里給出了pairwise的ranknet以及l(fā)istwise的lambdarank的具體實(shí)現(xiàn),有代碼、有數(shù)據(jù)集,可以看到效果,甚至于自己的數(shù)據(jù)按格式規(guī)整,也可以原封不動(dòng)的使用現(xiàn)成的模型。這么說(shuō)來(lái),LTR其實(shí)也不是大廠專屬了啊,現(xiàn)在做垂直行業(yè)的搜索、推薦的團(tuán)隊(duì)那么多,在和規(guī)則搏斗的同時(shí),確實(shí)也可以試試這個(gè)LTR的方案,把人力解放出來(lái),并迎接更好的效果。
2、CTR預(yù)估
http://www.paddlepaddle.org/docs/develop/models/ctr/README.cn.html
CTR是click-through rate的簡(jiǎn)寫(xiě),CTR預(yù)估就是點(diǎn)擊率預(yù)估,是百度技術(shù)的另一大核心。場(chǎng)景是這樣的:無(wú)論百度、騰訊、阿里、頭條等本質(zhì)上都是一個(gè)廣告公司(騰訊游戲除外)。通過(guò)分析用戶的行為,展示出能滿足用戶需求的信息,就是廣告的本質(zhì),也就是CTR預(yù)估的目的所在。
即優(yōu)化用戶的點(diǎn)擊率是這些公司的目標(biāo),因?yàn)橹挥杏脩酎c(diǎn)擊了廣告,才說(shuō)明廣告信息是和用戶需求相匹配的;也只有用戶點(diǎn)擊了廣告,公司才能有收益。且不說(shuō)廣告行業(yè)涉及的專業(yè)知識(shí)和技術(shù)非常之廣,僅算法相關(guān)就包括搜索、排序、反作弊、用戶畫(huà)像、NLP等等,而其中的明珠就是CTR預(yù)估。
最早的CTR預(yù)估是基于logistic regression的,把所有特征通過(guò)分段、組合得到高維的稀疏特征,然后用LR并行化的求解,得到CTR的預(yù)估。而特征工程的團(tuán)隊(duì)當(dāng)時(shí)在百度應(yīng)該就有幾十人。
LR的優(yōu)勢(shì)在于,可解釋性、容易并行化等,文中也提到了,DNN后來(lái)逐步從解決某些模塊的預(yù)測(cè),到不斷發(fā)揮更大作用的階段。
這里的代碼展示了wide&deep learning model的實(shí)現(xiàn),融合了適用于學(xué)習(xí)特征的DNN和適用于大規(guī)模稀疏特征的LR兩者的優(yōu)點(diǎn)。仍然,有數(shù)據(jù)可以用來(lái)做實(shí)驗(yàn),也可以按格式準(zhǔn)備數(shù)據(jù)服務(wù)于自己的業(yè)務(wù).
3、古詩(shī)生成
http://www.paddlepaddle.org/docs/develop/models/generate_chinese_poetry/README.html
這個(gè)是挺好玩的一件事,最早是百度內(nèi)部hackathon的一個(gè)項(xiàng)目,所謂的看圖寫(xiě)詩(shī),在手機(jī)百度上似乎有過(guò)產(chǎn)品化。是一個(gè)比AlphaGo更早的AI項(xiàng)目展示。結(jié)合了圖像識(shí)別對(duì)圖像信息的提取,和nlp技術(shù)對(duì)古詩(shī)的建模和生成。
不知道當(dāng)時(shí)有沒(méi)有使用lstm的方案,但是現(xiàn)在用lstm來(lái)做這件事已經(jīng)非常成熟了。外國(guó)有同行按耐不住看不到《冰與火之歌》的寂寞,用這個(gè)方案生成了***的一卷故事,我們炎黃子孫,也可以來(lái)試試古詩(shī)的生成,等閑唬一唬人還是完全可以的。
4、DeepSpeech
https://github.com/PaddlePaddle/DeepSpeech
在DeepSpeech系列論文出來(lái)的時(shí)候,還是讓做語(yǔ)音的同事們比較激動(dòng)的。做語(yǔ)音識(shí)別或者叫ASR,是一個(gè)門(mén)檻比較高的事,大量的語(yǔ)料要收集、大規(guī)模的機(jī)器要用來(lái)訓(xùn)練、非常專業(yè)的人才才能做這件事,小作坊還是比較難的。http://proceedings.mlr.press/v48/amodei16.pdf對(duì)整體的架構(gòu)和效果有了比較好的論述。
我們搞算法特別是深度學(xué)習(xí)的,都知道一個(gè)詞叫煉丹,而一個(gè)好的架構(gòu)和方法往往來(lái)自于大公司,也是有上面提到的這些原因的。得窺論文奧秘,并且能看到具體的實(shí)現(xiàn),還是讓人很高興的一件事呀。
- 命令行的方式
http://www.paddlepaddle.org/docs/develop/documentation/zh/howto/usage/cmd_parameter/index_cn.html
可以看到得是,提供了非常多且靈活的命令行控制參數(shù):細(xì)致到線程數(shù)、機(jī)器數(shù)、GPU還是CPU模式、輪數(shù)、是否批處理、集束搜索的方式、異步還是同步、參數(shù)稀疏性的檢查、隨機(jī)數(shù)的方式等等。
當(dāng)然,直接使用默認(rèn)的方式也很方便,不過(guò)既然有了這么多個(gè)性化的選項(xiàng),其實(shí)一個(gè)有經(jīng)驗(yàn)的開(kāi)發(fā)者可以做得定制也就很多了,這也越發(fā)讓我覺(jué)得paddle是一個(gè)面向工業(yè)界實(shí)際應(yīng)用的平臺(tái),既能滿足新手的使用,在新手向老手的轉(zhuǎn)變過(guò)程中,也能提供更多的選擇。
-分布式訓(xùn)練
http://www.paddlepaddle.org/docs/develop/documentation/zh/howto/usage/cluster/cluster_train_cn.html
Fabric集群、OpenMPI集群、Kubernetes單機(jī)和分布式、AWS上的分布式。
前面很多的討論都是基于單機(jī)的版本,個(gè)人愛(ài)好者或者小公司解決實(shí)際問(wèn)題的需要,如何使用PaddlePaddle來(lái)滿足業(yè)務(wù)需要。當(dāng)數(shù)據(jù)變多,或者公司業(yè)務(wù)變大,到單機(jī)無(wú)法處理得時(shí)候怎么辦?
我們都知道數(shù)據(jù)量大了以后,算法有數(shù)據(jù)并行和模型并行之分,hadoop比較善于解決的是能數(shù)據(jù)并行的問(wèn)題,而一旦涉及到了模型并行的問(wèn)題,怎么解決數(shù)據(jù)的調(diào)度、死節(jié)點(diǎn)的控制、迭代的速度等等問(wèn)題就一擁而上了。作為一個(gè)還主要在算法而非架構(gòu)層面研究的人,我們大都希望,框架能解決我們的問(wèn)題。
好了,PaddlePaddle作為一個(gè)框架,解決了這些問(wèn)題,實(shí)驗(yàn)也表明了它的有效性。不要多問(wèn),拿去用就好啦:)
作為一個(gè)大的框架,PaddlePaddle其實(shí)有很多值得深入了解的地方,這里只抽其中我比較感興趣的幾點(diǎn)加以介紹,剩下的留給感興趣的你吧。
三、PaddlePaddle的劣勢(shì)
PaddlePaddle相關(guān)的功能很多,我們?cè)?**節(jié)看到了從大牛到開(kāi)發(fā)者的推薦;在第二節(jié)也一起看了一下它與眾不同的能力。但是現(xiàn)實(shí)是,PaddlePaddle的使用范圍和氛圍都還有很大的提升空間。仔細(xì)思考一下其中的緣由,也不難理解:
1、PaddlePaddle和TensorFlow有相近的功能但出現(xiàn)遲
通過(guò)對(duì)比,我們可以看到在基本的圖像識(shí)別、文本分類等業(yè)務(wù)上,TensorFlow已經(jīng)可以較好的完成任務(wù)了,雖說(shuō)從benchmark的比較來(lái)看,PaddlePaddle能以更小的顯存和更快的速度完成任務(wù),但是TensorFlow的先發(fā)優(yōu)勢(shì)對(duì)于用戶的獲取還是至關(guān)重要的,畢竟我們很多是用人生苦短而又不差錢(qián)的機(jī)器學(xué)習(xí)研究者嘛:),學(xué)習(xí)和遷移成本是使用PaddlePaddle的較大成本(雖然學(xué)習(xí)成本一點(diǎn)也不高),而機(jī)器成本在較小的業(yè)務(wù)下也可以當(dāng)做不存在;
2、社區(qū)環(huán)境和氛圍的不足
即使在一個(gè)公司內(nèi)的開(kāi)發(fā)人員,也講求大家要使用相近的技術(shù)棧,否則互相溝通得成本較大,而從全局來(lái)看,一個(gè)較好的社區(qū)環(huán)境也會(huì)不斷貢獻(xiàn)架構(gòu)開(kāi)發(fā)者、應(yīng)用開(kāi)發(fā)者和業(yè)務(wù)使用者,短短一年多的時(shí)間還是沒(méi)有建立其一個(gè)很好的機(jī)制來(lái)發(fā)展這個(gè)社區(qū)。
3、重技術(shù)而輕產(chǎn)品
我們一直說(shuō)百度技術(shù)做得***,騰訊產(chǎn)品***,阿里的運(yùn)營(yíng)不錯(cuò)。做技術(shù)的人比較單純,大多深信“酒香不怕巷子深”。但是既然是開(kāi)源項(xiàng)目,那就不只是自己用就得了,如果想要讓更多的人來(lái)使用它,結(jié)合前面是說(shuō)得1、2兩點(diǎn),既然外部環(huán)境不利,那***自己能把產(chǎn)品做到更方便、更易用,這樣才能改變逆勢(shì)。不得不說(shuō),如第二節(jié)所述,隨著paddle的文檔和模型的補(bǔ)全,隨著一些競(jìng)賽的組織,它開(kāi)始有自己的特色和環(huán)境的改善。
四、實(shí)際業(yè)務(wù)的使用
上面說(shuō)了很多務(wù)虛的,那么這節(jié)就來(lái)說(shuō)說(shuō)PaddlePaddle在實(shí)際業(yè)務(wù)中的使用:
1、大搜、鳳巢和IDL的使用
PaddlePaddle的前身是百度于2013年自主研發(fā)的深度學(xué)習(xí)平臺(tái),且一直為百度內(nèi)部工程師研發(fā)使用。全球各大科技巨頭開(kāi)源的深度學(xué)習(xí)平臺(tái)都***各自技術(shù)特點(diǎn),對(duì)于百度,由于其自身在搜索、圖像識(shí)別、語(yǔ)音語(yǔ)義識(shí)別理解、情感分析、機(jī)器翻譯、用戶畫(huà)像推薦等多領(lǐng)域的業(yè)務(wù)和技術(shù)方向,PaddlePaddle則表現(xiàn)更加全面,是一個(gè)相對(duì)全功能的深度學(xué)習(xí)框架。
2016年,PaddlePaddle已在百度30多項(xiàng)主要產(chǎn)品和服務(wù)之中發(fā)揮著巨大的作用,如外賣(mài)的預(yù)估出餐時(shí)間、預(yù)判網(wǎng)盤(pán)故障時(shí)間點(diǎn)、精準(zhǔn)推薦用戶所需信息、海量圖像識(shí)別分類、字符識(shí)別(OCR)、病毒和垃圾信息檢測(cè)、機(jī)器翻譯和自動(dòng)駕駛等領(lǐng)域。以外賣(mài)行業(yè)為例,外賣(mài)員等待商家出餐的時(shí)間耗時(shí)嚴(yán)重,百度將不同時(shí)段商家的客流量、菜品的制作時(shí)間和訂單量等數(shù)據(jù)交給了PaddlePaddle,經(jīng)過(guò)對(duì)海量數(shù)據(jù)的深度學(xué)習(xí)處理,百度外賣(mài)的內(nèi)部系統(tǒng)可以預(yù)估每個(gè)商家菜品出餐時(shí)間,及時(shí)告知外賣(mài)員,提高了送餐效率,系統(tǒng)也可以更加合理地規(guī)劃取餐和送餐的路線。
2、個(gè)人開(kāi)發(fā)者
案例鏈接:https://zhuanlan.zhihu.com/p/29177825
“AI桃子選美機(jī)”,好吧,這個(gè)名字的畫(huà)面感太強(qiáng)了。但是,從另一方面也說(shuō)明,這個(gè)平臺(tái)的易用性。以前的機(jī)器學(xué)習(xí)可以用一句話解釋為“養(yǎng)在深閨人未識(shí)”,現(xiàn)在的趨勢(shì)則是,進(jìn)入門(mén)檻的不斷降低,越來(lái)越多的人可以很方便的使用開(kāi)源的工具,結(jié)合自己的業(yè)務(wù)支持,很方便和高效的完成實(shí)際的任務(wù)。我是很期待其他新的產(chǎn)品的,畢竟,我最常說(shuō)得一句話是“機(jī)器學(xué)習(xí)的生命力在于和業(yè)務(wù)結(jié)合”。
五、展望
寫(xiě)到這里,又回想起差不多十年前,我調(diào)OpenCV的那些個(gè)晚上。哦,現(xiàn)在多方便啊,我可以把我的精力更多的專注于算法、產(chǎn)品與管理;我可以投入更多的時(shí)間去看新的論文、了解新的業(yè)務(wù)、嘗試新的體驗(yàn)。
從小的方面來(lái)說(shuō),算法和平臺(tái)的迭代和發(fā)展,讓我作為一個(gè)算法開(kāi)發(fā)和管理者,能夠更高效的工作,有了更充裕的時(shí)間來(lái)滿足個(gè)人的好奇心和追求。從大的方面來(lái)說(shuō),算法、平臺(tái)和業(yè)務(wù)的迭代和發(fā)展,也帶給了我們每個(gè)人一個(gè)不一樣的世界。
愿機(jī)器學(xué)習(xí)走入尋常百姓家,讓我們的工作和生活越來(lái)越好。
【51CTO原創(chuàng)稿件,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文作者和出處為51CTO.com】