百度深度學(xué)習(xí)研究院“杰出科學(xué)家”徐偉和大家交流自己的研究成果
大會(huì)現(xiàn)場(chǎng),百度深度學(xué)習(xí)研究院“杰出科學(xué)家”徐偉先生就新一代深度學(xué)習(xí)框架助力人工智能發(fā)展和大家交流他自己的研究成果。
以下為現(xiàn)場(chǎng)實(shí)錄全文:
各位領(lǐng)導(dǎo),各位專家、各位朋友你們好今天非常有幸給大家分享百度在人工智能,軟件基礎(chǔ)設(shè)施做的一些工作。人工智能發(fā)展的異常火熱,這兩個(gè)圖就是美國(guó)(英文)AI(英文)的報(bào)告里面給的兩組數(shù)據(jù),這個(gè)數(shù)據(jù)里面表示過(guò)去20多年,AI創(chuàng)業(yè)公司的數(shù)量,這20多年,AI的創(chuàng)業(yè)公司的數(shù)量有了非常大的增長(zhǎng),2000年到現(xiàn)在有14倍這么多的增長(zhǎng)。右邊那幅圖是風(fēng)投,風(fēng)險(xiǎn)投資的數(shù)量,我們看到近20多年有了非常大的增長(zhǎng)。2000年到現(xiàn)在,風(fēng)險(xiǎn)投資的數(shù)量也增長(zhǎng)了6倍。
這是美國(guó)的狀況,中國(guó)發(fā)展的狀況更為火熱,大家也了解到人工智能相關(guān)方面的人才在就業(yè)市場(chǎng)里面非?;馃幔€有各大公司提出他們?cè)谌斯ぶ悄芊较虬l(fā)展的計(jì)劃。比如百度說(shuō)要All in AI,還有騰訊提出的AI in all,阿里建立了達(dá)摩院來(lái)積極地發(fā)展人工智能。
再就是去年7月份的時(shí)候國(guó)務(wù)院對(duì)整個(gè)國(guó)家的人工智能發(fā)展也作出規(guī)劃。提出我們?cè)?030年要把中國(guó)建設(shè)成為理論和技術(shù)以及產(chǎn)業(yè)方面在人工智能都成為世界先進(jìn)的國(guó)家。我們看到人工智能,我們已經(jīng)開(kāi)始進(jìn)入這么一個(gè)人工智能的時(shí)代,進(jìn)入這個(gè)時(shí)代根本的原因就是說(shuō),就是人工智能在一些特定的應(yīng)用場(chǎng)景,它的效果有了非常非常大的提升,在近的幾年。
提升的幾個(gè)基本動(dòng)力:一個(gè)就是計(jì)算能力在過(guò)去幾十年有非常大的增長(zhǎng)。再一個(gè)點(diǎn)就是隨著計(jì)算機(jī)的增長(zhǎng)還有互聯(lián)網(wǎng)產(chǎn)業(yè),各行各業(yè)計(jì)算機(jī)技術(shù)的廣泛使用,我們也積累了大量的數(shù)據(jù)。具備這樣大量數(shù)據(jù)的情況下,還有非常重要的一點(diǎn)就是深度學(xué)習(xí)的使用。因?yàn)槲覀兪褂玫纳疃葘W(xué)習(xí)和以前傳統(tǒng)的機(jī)器學(xué)習(xí)相比有一個(gè)重要的特點(diǎn),就是傳統(tǒng)的機(jī)器學(xué)習(xí)隨著數(shù)據(jù)量的增大它的性能準(zhǔn)確度什么之類的會(huì)逐漸達(dá)到飽和的階段。深度學(xué)習(xí)不同的就是隨著數(shù)據(jù)量的增大,因?yàn)樗哪P涂梢宰兊酶訌?fù)雜,可以更有效的從很大量的數(shù)據(jù)里面提取數(shù)據(jù)里面蘊(yùn)藏的豐富的信息,從而在應(yīng)用里面能夠不斷地提升它的準(zhǔn)確度、提升效果。
除了這三點(diǎn)之外,還有非常重要的一點(diǎn),軟件的角度來(lái)講,我們近幾年看到在深度學(xué)習(xí)方面有非常多的開(kāi)源軟件框架的出現(xiàn),就為開(kāi)發(fā)者還有研究者來(lái)使用和開(kāi)發(fā)深度學(xué)習(xí)模式大大降低了門檻,從而涌現(xiàn)出非常多的人工智能的應(yīng)用和技術(shù)。我們剛才說(shuō)到,在特定的人工智能領(lǐng)域有了非常好的技術(shù),這是我印象特別深的例子,百度去年參加了江蘇衛(wèi)視做的《強(qiáng)大腦》的節(jié)目,在這個(gè)節(jié)目當(dāng)中有一個(gè)比賽,通過(guò)父母的照片能夠在幾十個(gè)女生里面能夠把他的女兒找出來(lái)。
大家可以看,左邊是父母的照片,右邊是幾十個(gè)女生中的其中六個(gè)女生,你們是否可以從他們父母的照片能夠看出哪個(gè)女生是他的女兒,大家可以記住他的答案。你們有沒(méi)有認(rèn)出來(lái)的,我們從這個(gè)例子可以看出來(lái),通過(guò)深度學(xué)習(xí)的使用,我們?cè)谌粘L囟ǖ念I(lǐng)域,所謂的特定領(lǐng)域就是指的我們能夠比較方便的提供數(shù)據(jù)標(biāo)簽的一些應(yīng)用領(lǐng)域,人工機(jī)器已經(jīng)可以做的非常非常好了。
因此我們的機(jī)器在能力的提升過(guò)程中,我們也逐漸看到人工智能開(kāi)始進(jìn)入我們傳統(tǒng)行業(yè)里面去,做一些我們意想不到的事情。這里給大家分享一小段視頻給大家介紹一下。(播放視頻)
這里我們看到像人工智能可以進(jìn)入到我們生產(chǎn)、生活中非常細(xì)微的方面,能夠提升我們的是各個(gè)生產(chǎn)環(huán)節(jié)的生產(chǎn)效率。剛才視頻里面提到用的PaddlePaddle,這是我們百度開(kāi)發(fā)的一款深度學(xué)習(xí)的框架,它的用途是用來(lái)讓工程師還有研究人員可以用它來(lái)描述他們深度學(xué)習(xí)的模型,對(duì)深度學(xué)習(xí)模型結(jié)合數(shù)據(jù)進(jìn)行訓(xùn)練,后把這個(gè)模型應(yīng)用到實(shí)際的生態(tài)環(huán)境里面去。
今天給大家介紹一下PaddlePaddle三個(gè)方面的一些工作吧。首先就是PaddlePaddle,我們是一個(gè)開(kāi)源的軟件,可能相對(duì)于別的深度學(xué)習(xí)方面的框架的軟件相比,PaddlePaddle相對(duì)是開(kāi)源的比較晚的,到目前為止開(kāi)源的時(shí)間大概16個(gè)月左右。這幅圖可以看到PaddlePaddle和其他開(kāi)源軟件相比,他們同樣的時(shí)期使用的時(shí)候,就是Paddle16個(gè)月的時(shí)候和TensorFlow,還有其他的比如說(shuō)MXNet、Caffe,開(kāi)源16個(gè)月的時(shí)候活躍度的比較。在Github,這是開(kāi)源軟件的社區(qū),這個(gè)就是表示了在上面開(kāi)發(fā)的力度。同期的TensorFlow,還有其他的開(kāi)源軟件相比,這里面紅色的這條就是PaddlePaddle它的開(kāi)發(fā)者力度已經(jīng)遠(yuǎn)高于那個(gè),即使拿到現(xiàn)在來(lái)看,PaddlePaddle的開(kāi)發(fā)的活躍度也是僅次于現(xiàn)在谷歌開(kāi)發(fā)的開(kāi)發(fā)的深度學(xué)習(xí)的TensorFlow。
這個(gè)是問(wèn)題討論的活躍度,可以達(dá)到TensorFlow同期的水平,它現(xiàn)在也是僅次于它在Github上面的討論活躍度來(lái)看。PaddlePaddle在深度的開(kāi)源軟件里面,是唯一一家中國(guó)公司做出的深度學(xué)習(xí)的開(kāi)源軟件。
我們做深度學(xué)習(xí)PaddlePaddle這個(gè)開(kāi)源軟件,一個(gè)很重要的出發(fā)點(diǎn)就是說(shuō),我們希望它不僅能夠支持深度學(xué)習(xí),像現(xiàn)在的模型,還有現(xiàn)在的算法,也希望它能夠支持我們現(xiàn)在還沒(méi)有出現(xiàn)過(guò)未來(lái)可能出現(xiàn)的深度學(xué)習(xí)的模型和算法。怎么才能做到這一點(diǎn)呢?我們提出來(lái),要能夠做到這一點(diǎn)就是根本像編程語(yǔ)言一樣有比較豐富的表達(dá)能力。近我們開(kāi)發(fā)了PaddlePaddle新的版本叫PaddlePaddle(英文),可以像高級(jí)語(yǔ)言一樣的描述,來(lái)書寫深度學(xué)習(xí)的模型。
在深度學(xué)習(xí)模型的訓(xùn)練里面有一個(gè)非常重要的概念就是要對(duì)訓(xùn)練做一些批處理,這樣才能充分利用硬件的計(jì)算能力。像這里的這個(gè)東西描述的一個(gè)模型,它有一個(gè)特點(diǎn),就是這個(gè)里面有一些動(dòng)態(tài)的結(jié)構(gòu),包括(英文)的結(jié)構(gòu),這樣的動(dòng)態(tài)的模型要他比較高效率的進(jìn)行計(jì)算利用TensorFlow,它是非常非常難以高效地實(shí)現(xiàn)的。我們使用PaddlePaddle它可以非常容易地描述具有這種動(dòng)態(tài)結(jié)構(gòu)的深度學(xué)習(xí)的模型。
我們可以看到,和現(xiàn)有的其他深度學(xué)習(xí)的框架相比,(英文)是比較簡(jiǎn)單編程的框架,還有TensorFlow,如果你用的非常好可能比較高效,但是像我們剛才說(shuō)的動(dòng)態(tài)的模型結(jié)構(gòu),要把它的高效通過(guò)TensorFlow實(shí)現(xiàn)是比較繁瑣的事情,但是相比之下PaddlePaddle可以非常高效的實(shí)現(xiàn)非常先進(jìn)的深度學(xué)習(xí)的模型,同時(shí)非常靈活,非常應(yīng)用。
另外PaddlePaddle還依托于深度學(xué)習(xí)技術(shù)與應(yīng)用國(guó)家工程實(shí)驗(yàn)室,像我們學(xué)校里面開(kāi)發(fā)一些百度的實(shí)驗(yàn)室里面的一些預(yù)算資源。這個(gè)實(shí)驗(yàn)室是百度和清華大學(xué)還有北航,還有其他研究機(jī)構(gòu)一塊成立的這么一個(gè)國(guó)家工程實(shí)驗(yàn)室,目的就是說(shuō)希望能夠推動(dòng)深度學(xué)習(xí)在中國(guó)進(jìn)一步的發(fā)展。我們通過(guò)這個(gè)實(shí)驗(yàn)室開(kāi)放的計(jì)算資源叫PaddlePaddleCloud,它能夠提供到一個(gè)這樣非常直觀的編成的界面,它可以在網(wǎng)頁(yè)上,把你的模型描述出來(lái),能夠非常交互式的調(diào)試和書寫模型,同時(shí)在你的應(yīng)用提交到實(shí)驗(yàn)室內(nèi)部訓(xùn)練的Cloud的訓(xùn)練,同時(shí)可以實(shí)時(shí)的觀察到這個(gè)結(jié)果。
深度學(xué)習(xí)還有非常重要的一點(diǎn),就是良好的深度學(xué)習(xí)的框架需要非常有效的處理非常大的數(shù)據(jù)。因此它要能夠很好的進(jìn)行多棲的進(jìn)行訓(xùn)練。相比其他的深度學(xué)習(xí)框架,它的深度學(xué)習(xí)的訓(xùn)練任務(wù),集訓(xùn)里面提交之后訓(xùn)練任務(wù)所占的資源數(shù)不能夠動(dòng)態(tài)調(diào)控的。這樣導(dǎo)致的問(wèn)題就是在一個(gè)集訓(xùn)里面,它很難對(duì)集訓(xùn)的使用率能夠充分的利用。比如說(shuō)它集訓(xùn)繁忙的時(shí)候,現(xiàn)在的任務(wù)可能就因?yàn)榍懊娴娜蝿?wù)不能調(diào)整它的規(guī)模,現(xiàn)在的任務(wù)就需要做長(zhǎng)期的等待。如果集訓(xùn)屬于比較前置的時(shí)候,一個(gè)新人的任務(wù)也不能做到充分的能夠把所有的閑置的資源都用到,因?yàn)樗荒茴A(yù)期接下來(lái)是不是有新的任務(wù)提交進(jìn)來(lái),因此這樣就會(huì)導(dǎo)致集訓(xùn)使用率比較低,同時(shí)有一些任務(wù)繁忙的時(shí)候?qū)θ蝿?wù)有等待的狀況,對(duì)體驗(yàn)也非常不好。
因此我們開(kāi)發(fā)了,我們叫做Elastic Deep Learning能力的這樣一個(gè)技術(shù),它可以動(dòng)態(tài)地根據(jù)集訓(xùn)的反饋程度能夠動(dòng)態(tài)地調(diào)整訓(xùn)練任務(wù)的規(guī)模,從而能夠在一個(gè)集訓(xùn)里面更有效的利用它的資源。這里稍微展示一下,通過(guò)EDL能力以后使用的效果。左邊這幅圖就是說(shuō),我們?cè)谝粋€(gè)集訓(xùn)里面不斷地提交深度學(xué)習(xí)任務(wù),但是深度學(xué)習(xí)的任務(wù)到一定的時(shí)候比較多了,這個(gè)時(shí)候如果我們開(kāi)始實(shí)現(xiàn)的話,就沒(méi)有開(kāi)啟EDL的功能。這張圖就是左上面的圖展示這個(gè)集訓(xùn)需要等待的任務(wù)數(shù),它沒(méi)有開(kāi)啟EDL,隨著這個(gè)集訓(xùn)的負(fù)載比較繁忙,在這個(gè)等待狀況會(huì)出現(xiàn)比較高的數(shù)量。如果我們開(kāi)啟EDL這樣的功能,提交以后就能夠自動(dòng)把這個(gè)任務(wù)占用的資源縮小,能夠?qū)⑿碌臇|西可以很快地執(zhí)行。
另外就是當(dāng)有周期性的,流量周期性的任務(wù)和深度學(xué)習(xí)的訓(xùn)練能夠混合,這樣的話比如說(shuō)網(wǎng)絡(luò)服務(wù),比如說(shuō)白天比較繁忙,晚上比較空閑的時(shí)候我們也能夠把這個(gè)空閑的資源用來(lái)做深度學(xué)習(xí)的訓(xùn)練。
深度學(xué)習(xí)目前發(fā)展趨勢(shì)就是在不同硬件的場(chǎng)所都要進(jìn)行使用,包括訓(xùn)練,CPU、GPU,甚至FPGA這樣的環(huán)境進(jìn)行訓(xùn)練。部署的時(shí)候傳統(tǒng)的服務(wù)端、移動(dòng)端進(jìn)行訓(xùn)練。根據(jù)這樣的發(fā)展趨勢(shì)我們PaddlePaddle也根據(jù)不同的訓(xùn)練環(huán)境、部署環(huán)境進(jìn)行開(kāi)發(fā),同時(shí)和相應(yīng)的公司進(jìn)行合作,針對(duì)這些不同的使用環(huán)境進(jìn)行優(yōu)化。還有深度學(xué)習(xí),人工智能發(fā)展非??煊幸粋€(gè)算法、數(shù)據(jù),還有技術(shù)、應(yīng)用的迭代。開(kāi)始的算法設(shè)計(jì),底下的初始數(shù)據(jù)得到初的模型,通過(guò)應(yīng)用的打磨收集到更多的數(shù)據(jù),反過(guò)來(lái)讓我們算法和模型變得更好。未來(lái)讓廣大的開(kāi)發(fā)者快把人工智能的閉環(huán)能夠構(gòu)造出來(lái),我們也開(kāi)放了一系列在百度內(nèi)部,通過(guò)我們實(shí)踐打磨出來(lái)的工業(yè)級(jí)的應(yīng)用的模型,停留在我們官方的Github上面的我們的開(kāi)源的社區(qū)里面,通過(guò)這些開(kāi)源的模型,這些開(kāi)發(fā)者可以使用,這些開(kāi)源的模型也進(jìn)行了詳細(xì)的中英文的文檔,還有中文的數(shù)據(jù),英文的數(shù)據(jù),可以方便開(kāi)發(fā)者來(lái)使用,謝謝大家!官方微博
官方微信公眾號(hào)
官方百家號(hào)