0
本文作者: 亞萌 | 2017-02-22 23:32 |
(Facebook AML實(shí)驗(yàn)室負(fù)責(zé)人 Joaquin Candela)
雷鋒網(wǎng)按:在Facebook,有兩個(gè)實(shí)驗(yàn)室領(lǐng)導(dǎo)著AI發(fā)展方向,一個(gè)是Yann LeCun領(lǐng)導(dǎo)的FAIR實(shí)驗(yàn)室,偏向AI的基礎(chǔ)研究;另一個(gè),就是AML實(shí)驗(yàn)室,偏向機(jī)器學(xué)習(xí)應(yīng)用,負(fù)責(zé)將AI技術(shù)落地在Facebook各種產(chǎn)品。本月初,AML實(shí)驗(yàn)室負(fù)責(zé)人Joaquin Candela在@Scale大會(huì)上發(fā)表了一次演講,他講述了Facebook在規(guī)?;瘧?yīng)用AI技術(shù)的方方面面,包括Facebook人工智能母體FB Learner Flow平臺(tái)、圖像處理引擎Lumos、文本理解、語(yǔ)音識(shí)別、視頻風(fēng)格變換等各領(lǐng)域的應(yīng)用。
下面是演講文字版,由雷鋒網(wǎng)亞萌和夏睿共同編輯整理。
我在Facebook已經(jīng)工作了五年,這是令人愉悅的經(jīng)歷。今天,我想要跟大家分享一下Facebook是如何設(shè)計(jì)AI來改善人們每天的生活。
每次你使用Facebook、Instagram和Messanger的時(shí)候,可能你沒有意識(shí)到,你的使用體驗(yàn)已經(jīng)是由AI技術(shù)做支撐了。
而實(shí)際上,我想強(qiáng)調(diào)的一點(diǎn)是,Facebook如果沒有AI,那就會(huì)失去存在根基。
我們?cè)贏I上面加入了雙倍的投資,幫助用戶彼此之間聯(lián)系更加緊密,及時(shí)得知最關(guān)心的消息和內(nèi)容。我們AML團(tuán)隊(duì),與FAIR團(tuán)隊(duì)及公司內(nèi)其它產(chǎn)品團(tuán)隊(duì)緊密合作。
我們面臨的一個(gè)挑戰(zhàn)就是,我們的工作是在Facebook這么大的一個(gè)規(guī)模上進(jìn)行的。這周三,F(xiàn)acebook發(fā)布了統(tǒng)計(jì)數(shù)據(jù):我們每天支持了12億用戶。也就是說,每一天就有12億人使用Facebook 。而其中的11億用戶,都是在手機(jī)上使用Facebook 的。所以手機(jī)的使用,占據(jù)主導(dǎo)地位。
首先,我們需要回過頭去,思考“工程”這件事情,好好思考“工程”對(duì)于Facebook的價(jià)值所在。其中有2個(gè)關(guān)鍵的價(jià)值:關(guān)注影響力(foucus on impact)和快速行動(dòng)(move fast)。前者是指,要時(shí)刻清楚了解我目前所能解決的最重要的問題是什么。關(guān)于第二點(diǎn),快速行動(dòng),F(xiàn)acebook對(duì)于“犯錯(cuò)”的容忍度極大,我們反復(fù)提醒自己,有時(shí)最危險(xiǎn)的做法就是不去冒險(xiǎn),不去行動(dòng)其實(shí)是非常冒險(xiǎn)的一件事情。我們需要在Facebook這么大的體量上去快速行動(dòng)。
這些價(jià)值觀,啟發(fā)了AML的戰(zhàn)略,這個(gè)戰(zhàn)略包括 3 大基本支柱:
推進(jìn)最新技術(shù),最大程度實(shí)現(xiàn)產(chǎn)品影響力。我們一直與FAIR實(shí)驗(yàn)室及產(chǎn)品團(tuán)隊(duì)合作,推進(jìn)最新的技術(shù)。我們進(jìn)入非常具體的問題領(lǐng)域,雖然我們可能起初并不知道如何去解決,但是我們知道,一旦我們攻克這個(gè)問題,其價(jià)值將異常巨大。
通過AI打造全新產(chǎn)品體驗(yàn)。當(dāng)你在現(xiàn)今最前沿領(lǐng)域工作時(shí),你往往會(huì)遇到別人從未想過的產(chǎn)品體驗(yàn)。待會(huì)后面,我會(huì)就此舉一個(gè)具體的例子來說明。
使AI大眾化?!耙?guī)?;笔莻€(gè)大事情。對(duì)于Facebook來說,你需要不斷地在平臺(tái)、實(shí)驗(yàn)室和服務(wù)項(xiàng)目上進(jìn)行創(chuàng)新,讓整個(gè)公司都能用你的新技術(shù)。
很久之前,我還是一名Phd學(xué)生,當(dāng)時(shí)致力于貝葉斯非參數(shù)法(bayesian nonparametric method),我在其中感受了一種類似于“巫師”的力量,當(dāng)被給予一個(gè)任務(wù)時(shí),比如在不同的域里做分類和遞歸任務(wù),這種解決具體問題的感覺非常好。
之后,我去了工業(yè)界。我為此感到興奮,因?yàn)楣I(yè)界充滿了亟待解決的諸多問題。但很快,我變得有點(diǎn)“被淹沒”了,因?yàn)轭A(yù)測(cè)任務(wù)的類型、域的數(shù)量、訓(xùn)練數(shù)據(jù)的數(shù)量,這些比你所能想象的要龐大的多。
我意識(shí)到,巫師不知道如何“規(guī)模化”。當(dāng)我在學(xué)術(shù)界的時(shí)候,關(guān)注點(diǎn)在于“準(zhǔn)確度”,我能建造一個(gè)模型,以期比其它已經(jīng)發(fā)表的研究成果,多出那么0.1%的AUC值。但是在工業(yè)界我發(fā)現(xiàn),最重要的事情是“迭代速度”,是你每天可以運(yùn)行多少次實(shí)驗(yàn)。因?yàn)?,你無法忽視一個(gè)事實(shí),那就是你所做的事情是融合各方利益的,如果你每周都可以將一個(gè)新的模型投入生產(chǎn)中(當(dāng)然在我剛加入Facebook的時(shí)候這是很困難的一件事情),最終的成果是建立在一次又一次的嘗試之上的。
如果你仔細(xì)想一想,你需要探索的參數(shù)、模型架構(gòu)、輸入值特征等如此龐大,實(shí)驗(yàn)的加速會(huì)產(chǎn)生非常非常大的影響。
所以,你必須建造一個(gè)“工廠”(就是后面要講到的FB Learner Flow平臺(tái)),成為一個(gè)巫師很酷,但是建造一個(gè)強(qiáng)大的“工廠”,讓公司的每個(gè)人能夠并行探索這個(gè)廣闊的領(lǐng)域,將會(huì)讓你以很穩(wěn)定的節(jié)奏取得進(jìn)步,不斷地輸出對(duì)產(chǎn)品的影響力。
當(dāng)我們?cè)谠O(shè)計(jì)一個(gè)“工廠”時(shí),我們主要考慮五個(gè)方面的事情。
性能(performance)。我們必須加快速度,之前需要花幾天時(shí)間進(jìn)行的實(shí)驗(yàn),現(xiàn)在要在一個(gè)小時(shí)內(nèi)完成。這種速度的提升,對(duì)人們的心理狀態(tài)會(huì)產(chǎn)生很大影響,當(dāng)你工作到晚上回到家的時(shí)候,在這一天里你實(shí)際上已經(jīng)完成了實(shí)驗(yàn)的一部分。而在之前,可能你一天里只能弄出一個(gè)模型,回家后可能就有點(diǎn)忘了,再過幾天,這個(gè)模型可能會(huì)崩潰掉。
自動(dòng)化(automation)。這非常重要,拖慢速度的永遠(yuǎn)都是人自己。比如,我曾經(jīng)有一些系統(tǒng),要進(jìn)行轉(zhuǎn)移到新的服務(wù)器等操作,但是運(yùn)行不好,最后崩潰了,這浪費(fèi)了我?guī)滋斓臅r(shí)間。所以你必須將事情自動(dòng)化。
重復(fù)使用(reusability)。這點(diǎn)非常重要,你必須得確保其中的工作內(nèi)容,是可以一遍又一遍地使用。
成套系統(tǒng)(turnkey)。讓整個(gè)系統(tǒng)變得容易使用,大部分工程師都是局限于一個(gè)小的領(lǐng)域,沒有那么全面的知識(shí)和技術(shù)。
應(yīng)用研究社群(applied research community)。對(duì)于建造研究社群這一點(diǎn),我充滿熱情,我將會(huì)對(duì)此多談一點(diǎn),關(guān)于在整個(gè)公司內(nèi)部打造“應(yīng)用研究社群”的力量。
而我們建造的這個(gè)“工廠”確實(shí)是有效果的,而且效果很不錯(cuò)。
我們這個(gè)平臺(tái)的建造工作,目前只進(jìn)行了1%,也就是說,一切還是開始。整個(gè)Facebook公司使用這個(gè)平臺(tái)的人數(shù)中,超過25%的人是該平臺(tái)的活躍用戶。而其中令人驚訝的是,如果你仔細(xì)觀察這些工程師的背景,大部分人并不是AI或ML方面的專家。
另一件事就是,我們構(gòu)建了一個(gè)非常強(qiáng)大的應(yīng)用研究社群(applied research community)。我們?yōu)檫@個(gè)平臺(tái)的“重復(fù)使用”性能感到興奮,當(dāng)一個(gè)工程師寫了一個(gè)AI 工作流(workflow),可以被其它工程師拿過來接著使用。這有一個(gè)關(guān)于Instagram的例子。去年6月,Instagram開始對(duì)它的feed進(jìn)行排序,幾個(gè)工程師共同完成了這個(gè)功能,而這其中花費(fèi)的時(shí)間之少令人驚訝。作為對(duì)比,F(xiàn)acebook的feed功能在前幾年進(jìn)行的,這在當(dāng)時(shí)就是一個(gè)大工程,因?yàn)樗菑臒o到有建立起來的?,F(xiàn)在,Instagram的工程師,就可以進(jìn)入一個(gè)公共的實(shí)驗(yàn)平臺(tái),找到其它產(chǎn)品類似功能實(shí)現(xiàn)時(shí)的工作流和模型。也就是說,工程師們可以借用前人的工作成果,“站在巨人的肩膀上”建立Instagram的feed功能,而且他們也能很快找到相關(guān)同事去請(qǐng)教。
其中有一個(gè)數(shù)據(jù),我很驕傲。在過去的6個(gè)月時(shí)間里,這個(gè)平臺(tái)的ML工作流的數(shù)量增長(zhǎng)了6倍。
FB Learner Flow平臺(tái)是一個(gè)非常有彈性的環(huán)境,用于書寫和執(zhí)行AI工作流。生產(chǎn)力是最重要的事。其中有一件很酷的事情,那就是如果你要運(yùn)行某個(gè)任務(wù),F(xiàn)B Learner Flow將會(huì)把一整個(gè)流程都規(guī)劃好,比如硬件用什么、如何規(guī)?;鹊?。
FB Learner Flow平臺(tái)設(shè)計(jì)之初,就把“重復(fù)使用”的理念植入其中。如果你是一個(gè)Instagram工程師,想要訓(xùn)練和部署你的排序模型,F(xiàn)B Learner Flow就像是一個(gè)放滿了工作流的圖書館庫(kù)(library),你可以在當(dāng)中搜索、索引、發(fā)現(xiàn)各種工作流,然后對(duì)此重復(fù)利用。你還可以進(jìn)入到算法里,你可以看到不同參數(shù)下的各種學(xué)習(xí)曲線,最重要的是,你可以看到某個(gè)特定工作流的作者是誰,這是最重要的,因?yàn)檫@時(shí)你就知道找誰去請(qǐng)教問題了。
FB Learner Flow非常綜合,這里有一個(gè)有趣的故事。有一次,我對(duì)團(tuán)隊(duì)成員說:“伙計(jì)們,你們?cè)谶@個(gè)平臺(tái)上運(yùn)行PyTorch、Caffe和Caffe 2,我們?cè)囋嘥ensorflow怎么樣?”。三天后,他們跟我說,我們?cè)嚵艘幌耇ensorflow,可以運(yùn)行。所以它是兼容各種語(yǔ)言的,這很重要。
接下來我會(huì)講解一些關(guān)于基于FB Learner Flow平臺(tái)的一些系統(tǒng),包括計(jì)算機(jī)視覺引擎、文本和語(yǔ)言理解系統(tǒng)、語(yǔ)音等方面的內(nèi)容。
更多雷鋒網(wǎng)文章:
對(duì)話百度IDL負(fù)責(zé)人林元慶:人臉識(shí)別獲評(píng)十大突破性科技背后百度的布局和野心
百度引入Ring Allreduce算法,大規(guī)模提升模型訓(xùn)練速度
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。