揭秘出行巨頭Uber的機器學習平台與團隊
李根 發自 凹非寺
量子位 報道 | 公眾號 QbitAI
科技巨頭加註人工智慧彷彿是場競賽。
前不久,Uber正式推出機器學習平台Michelangelo,希望通過這個平台全面處理工作流程,並推動AI普及化。恰巧就在當天,量子位在人工智慧計算大會(AICC)上注1,遇到並專訪了Uber機器學習負責人王魯明。
對於這個機器學習平台的意義,Uber機器學習負責人王魯明介紹說,Top級企業真正的核心競爭力就是數據和平台,如果我們把大數據看成一個金礦,那這個平台就是挖掘金礦的工具。
「一個好的機器學習平台,不光是個鐵鍬,它必須是個現代化大型自動化挖掘機。只有讓大數據以更廉價的方式得到,才能讓人工智慧更好走向最高峰。」
關於Uber這個名為Michelangelo的機器學習平台,其負責人王魯明還向量子位分享了更多幕後故事。
能做什麼?
我們先從結果上來看,Michelangelo到底可以做些什麼?
Uber方面的說法是,Michelangelo的主要作用是能夠讓內部團隊可以無縫構建、部署和運作適合Uber量級的機器學習解決方案,可以覆蓋端到端機器學習工作流,包含:管理數據、訓練、評估和部署模型,以及監控預測。該系統還支持傳統的機器學習模型、時間序列預測和深度學習。
在Uber內部,Michelangelo是Uber工程師和數據科學家實際使用的機器學習系統,有幾十個團隊使用它構建和部署模型。由於該系統部署在多個Uber數據中心上,還會影響到專門的硬體,以及對Uber最高載入量的在線服務提供預測。
歸根結底,Michelangelo的出現,把Uber內部分散在各個業務團隊中的機器學習開發需求集中起來,減少重複開發的資源浪費。
一開始走了彎路
王魯明稱,這個機器學習平台創建於2015年年底,當時最大的需求來自大量團隊在實際工作中需要用到機器學習。
在這個平台推出前,Uber內部每個團隊都「各自為政」——自己做自己的機器學習開發,所以中間必然有大量重複的工作,效率也比較低。
這直接促成了Michelangelo建立,不過也並不意味著一路順利。
現在總結起來,最大的彎路在於對深度學習不夠專註。而圍繞非深度學習切換了不同的平台,比如H2O之類的,最後才決定使用Spark ML作為自己的機器學習平台。
「當時的出發點是儘可能使用開源資源,在開源的基礎上有一些Uber的開發和創新,也儘可能把這些開源和創新回饋給整個社區。在Spark ML我們做了很多工作,比如加了很多新的演算法,像我們前段時間加了Siri的演算法,這個是原來Spark ML不支持的。」王魯明透露說。
其後直到2016年7月,Uber機器學習平台才加入了對深度學習的支持。這才算真正讓Michelangelo走上了正軌。
現在,有幾十個來自Uber的內部用戶通過Michelangelo來滿足自己在機器學習方面的要求,並且讓任務變得更富效率,幾乎所有的測試工作,都可以在Michelangelo上完成。
「具體業務團隊只需要專註他們所需的業務需求上,然後思考用什麼樣的演算法去解決業務需求的問題。他們不需要考慮數據從哪裡來、需要多少台機器、機器在何方?這些問題都由Michelangelo承擔。」
王魯明進一步明確說,Michelangelo實際上提供的就是一個端到端的解決方案,可以幫助Uber內部團隊完成挑選數據、建立模型、訓練模型、模型比較、管理,最後把最佳模型進行分析、計算和處理。
因為Uber的業務涉及全球成百上千個城市,而且每一個城市還可以按照區域往下建模型,因此一個「用戶」可能就會有幾千個模型,這就要求Michelangelo能夠給這幾千個模型同時支持、平衡和分析。
過去,涉及較大數據的模型,單機訓練可能要將近1個月的時間,但現在整個效率已經大大提升,整個技術從定向到開發,時間周期大大縮短。
王魯明舉例說,內部一個項目此前花了4個月時間,但換到Michelangelo後,整個周期變成了1個月。
實際應用
對於Michelangelo的實際應用,王魯明舉了幾個例子。
一是Uber的無人駕駛業務,之前圍繞深度學習方面的工作都在其他平台或買一台4GPU的單機進行訓練,但現在已經完全轉到了Michelangelo上。
二是Uber的街景車業務,在獲取了眾多高精度相片中,需要對圖像中的價值信息進行提取。一開始街景車團隊在Caffe1.0上進行,不過只有單機版的Caffe1.0顯然拖慢了效率。
20人規模的團隊,需要在模型和機器之間的管理、共享和資源分配上浪費精力,甚至需要人工去修改機器是否在用,非常落後且低效。
而換到Michelangelo之後,「用戶」不用再去記住模型和具體機器的對應關係,整個平台互聯互通,就好似在一台機器上一樣。
以上都是深度學習的案例,Uber還有一些非深度學習解決的問題。
比如有人叫車時,周圍有十幾個司機,選哪個司機來與乘客匹配?如果沒有選好的話,司機和乘客都有可能取消,而取消就是對所有人都存在損失——即便沒有經濟上的,也有時間成本和用戶體驗上的。
所以這個模型核心要解決的問題是最大概率減少「取消」的操作,「取消率」越低,效果越好。
類似的模型也應用於Uber Eats上,其中關於食物的推薦、下訂單後所需時長,其中都是機器學習的應用,而目前所有這些機器學習的應用,都在Michelangelo上實現。
深度學習非萬能
王魯明也解釋了為什麼Michelangelo平台並非全部使用深度學習的原因。
一方面跟深度學習目前存在的「瓶頸」有關,另一方面與Uber實際應用需要密不可分。
這位Uber機器學習負責人表示,深度學習的第一個問題是「不好解釋」:為什麼起作用、為什麼不起作用,無據可查。
另一個問題是在具體應用中模型層數的問題,以自動駕駛舉例,可能一千層在測試中效果很好,但真正實際應用中,40毫秒之類的時間內,如此深的計算來不及,即便配上最好的GPU,也迫使你需要把模型層級變得更窄,這就會造成限制。
目前,對於上述情況,Uber內部的解決方案主要通過降低計算量和提升計算力兩大方面來展開。
Uber機器學習負責人王魯明
揭秘Uber機器學習團隊
關於Uber機器學習團隊,王魯明也向量子位透露了規模、優勢和招聘要求。
他表示,目前Uber機器學習團隊維持著30人規模,最早的時候才有10人。現在隨著客戶數量的不斷增加,團隊規模也在不斷擴充。
對於人才吸引,這位Michelangelo負責人並不擔心。
他認為Uber對機器學習工程師吸引力明顯。
首先,Uber的工作,是一個比特(數字世界)和原子(現實世界)結合的事業,可以通過演算法去影響人在實際生活中的行為,這是很多互聯網公司所缺乏的。
其次,同樣因為核心業務的原因,Uber源源不斷的數據相對更富價值,這也是Uber有信心在AI領域一展身手的原因。
王魯明透露說,在對數據模型的並行處理方面,Uber目前甚至比Google還要出色。
不過,並不意味著機器學習方向的工程師都能進入Uber機器學習團隊。
在解釋Michelangelo所需人才的素質時,王魯明希望找到那些熟悉具體應用領域,又對機器學習有較深理解的技術人才。
「我們團隊不是真正在做應用,但需要對具體領域非常了解,這樣才能知道用戶痛點,才能給他提供最有效的支持。還需要較強的技術背景,比如在並行計算、性能優化等方面有技術能力。」
OMT:對其他公司的建議
最後,對於其他公司從無到有建立一個類似Michelangelo的機器學習平台,王魯明也向量子位表達了建議:
一方面是向優秀公司或優秀平台學習,比如在Uber機器學習平台建設過程中,就從Facebook學習了很多經驗;
另一方面是選擇合適的開源架構,比如完全學習Google並不容易,但從Google開源平台TensorFlow中選擇合適的開源技術,會讓所有的事情事半功倍。
注1:人工智慧計算大會(AICC)由中國工程院信息與電子工程學部主辦、浪潮集團承辦的聚焦「人工智慧計算」領域的行業大會。
—完—
加入社群
量子位AI社群9群開始招募啦,歡迎對AI感興趣的同學,加小助手微信qbitbot3入群;
此外,量子位專業細分群(自動駕駛、CV、NLP、機器學習等)正在招募,面向正在從事相關領域的工程師及研究人員。
進群請加小助手微信號qbitbot3,並務必備註相應群的關鍵詞~通過審核後我們將邀請進群。(專業群審核較嚴,敬請諒解)
誠摯招聘
量子位正在招募編輯/記者,工作地點在北京中關村。期待有才氣、有熱情的同學加入我們!相關細節,請在量子位公眾號(QbitAI)對話界面,回復「招聘」兩個字。
量子位QbitAI
? ? ? 追蹤AI技術和產品新動態
※人工智慧、機器學習和深度學習的區別是什麼?
※一文清晰講解機器學習中梯度下降演算法
※當機器學習遇上3D列印,大型工業製造革命指日可待
※五種機器學習是革命性製造
※Splunk在.conf2017上帶來的新解決方案使機器學習成為主流
TAG:機器學習 |