王棟:要做好推薦,只有技術是不夠的(圖靈訪談)
王棟,美團網技術總監,負責美團外賣的搜尋推薦及資料團隊。2009年他博士畢業於清華大學人工智慧實驗室,研究機器學習演算法及計算機視覺的中層語義表示問題。畢業後先後任職於hulu及優酷,主要從事網路視訊中的搜尋、推薦、廣告等流量變現工作。曾多次帶隊或參與TRECVID/KDDCUP等國際機器演算法競賽並取得第一名。2011年帶領團隊搭建出世界上第一個實用的視訊人臉標註系統(hulu face match)。王棟是國內推薦系統的早期關注和研究者,對視訊搜尋有豐富研究經驗,他實現了展示及效果廣告的流量預估,線上匹配及使用者定向等多項核心技術的大規模應用,另外,他在電影票房預測等資料探勘的前沿方向也取得了突破。王棟目前關注O2O領域中的資料、演算法及平臺化問題,期望藉助智慧技術,更方便快捷地滿足使用者吃喝玩樂的需求,同時助力商戶理解其目標使用者,發現並促成商機。
機器學習的一萬小時理論
“我的導師張鈸老師現在已經80多歲了,由於各種政治運動的影響,他40歲才開始做研究。"
問: 您是什麼時候開始接觸計算機的?
我接觸網路其實挺早的,但是最開始只是玩,沒有意識到有機會去做一些真正能改變世界的事情,比較後知後覺。我在清華大學學的電子計算機,可能因為性格原因,所以一直偏向於研究性的東西。之前也曾經有過很多好玩、可以創業的想法,但是沒有真正自己去動手從頭做到尾。
問:您在清華從事研究工作很長時間,對於電腦科學的研究來說,學術界和工業界有什麼差別?
學術界其實更多的是要做更有趣的研究,要有創新。學術界並不在乎工業上應用某個演算法是否現實。比如一個使用者的一次推薦花上十分鐘對學界來說可能是可以接受的,只要推薦效果好,可以隨後再去優化實現的速度。但在工業界,更多的是從實際效果出發,有給定響應時間等限制條件,且需要有和業務掛鉤的客觀衡量的指標,包括從使用者維度和公司商業維度去考量,所以會受到比較多的現實限制。
國內的大部分公司現在並不會花很多人力去做純粹的研究,美團也類似。但我們會關注學界的發展,看有哪些看起來接近靠譜的東西,我們可以拿過來為我所用。但我們不會自己去做很多探索性的研究,這個可能是一個比較明確的界限。在平時,我們的工作任務也會有偏向“研發”的工作,也就是又有研究、又有開發,需要兩者結合的工作。所以如果有同學有自己的想法,可以自己去花10%到20%的時間去嘗試。
問:您曾經在清華大學從事的都是計算機視覺方面的研究,現在是否可以說您已經脫離了這個領域?
具體研究現在當然不搞了,但也沒有完全脫離。以前我們做的是語音、影像、視訊的內容分析和理解,以及一些演算法的研究,這些研究和推薦搜尋背後的原理還是類似的,都是機器學習,或者說是能夠深入和自發學習一些複雜規則的系統。對於這樣的系統來說,輸入和輸出的標準都是人設定的,系統自身現在還不具備自主學習的能力。所以從這個角度上說,這兩種技術我覺得還是相通的。
比如,之前我們做的物體識別或人臉識別其實就是一個樣本,機器學習系統來抽取一些特徵,從而通過模型判斷某些屬性是否存在。語音也是類似的。對於現在的大資料研究來說,真正的核心問題就是如何建立一個合理的問題表示,或者說一個層次化的表示結構,能夠把問題表達清楚。然後通過明確優化的目標,你就可以利用各種工具去做優化,最後得到一個滿足你要求的結果。
問:您之前說過,您現在很多精力其實都用在協調和激發您的同事上。您現在在管理和技術上如何平衡自己的時間和精力?
總體的思路還是成就別人,然後成就事業。我自己只是牽線搭橋,為別人提供更好的環境和機會,我日常處理的很多工作就是協同目標和協調資源。除此之外,我也需要對業務有比較多的思考。比如做商戶:商戶相關的基礎邏輯是什麼?商戶最根本的需求是什麼?我們怎麼樣去滿足需求?以什麼樣的路徑、什麼樣的產品形態去滿足?有一些可能會涉及到技術的運營方式,比如怎麼樣能更快地吸引商戶進來?這些都需要蠻多的積累。
對我來說,技術只能靠自己週末去抽空補了,平時沒時間。工作中管理是一方面,另外還有很多業務相關的事情需要去了解、去同步,所以沒有很多時間去自學和沉澱。畢竟是做技術管理,也需要不斷同步前沿的資訊,好在持續學習研究了這麼多年,也是很有意思的事情。
從巨集觀上說,我對於技術的關注包括某種技術的歷史源流、它之前是什麼樣子、現在發展到什麼階段,以及能夠對我們當前的業務產生什麼樣的作用。從公司的業務上說,有可能使用者發表的評論資訊文字處理以後效果會很明顯,所以至少我們在這個技術上要持續保持關注。從個人興趣上說,我最近一直對DNN比較感興趣,我們團隊也在嘗試做一些合適的應用。DNN下一步會有怎樣的進展,人工智慧在未來十年二十年會有什麼樣的發展,我們都拭目以待。我覺得,我們的下一代長大後都要學會跟機器人共處,因此,我經常會想怎麼樣能夠讓他們更早、更好地去了解計算機,將來也好打交道。
問:對於那些對機器學習感興趣或者正在相關專業學習的同學,您有哪些學習方面的建議?
現在的網際網路時代提供了一個特別好的機會。我剛上大學的時候看論文還都需要去圖書館借閱期刊,現在arxiv上尚未正式發表的最新研究成果都有了,想學什麼都很方便。你還可以用Coursera這樣的網站直接在課堂上學習,有世界知名的老師授課,只要想學肯定能學好。你還有各種機會可以去跟大家交流、去公司實習,或者參加各種競賽,這些活動都會讓你獲得很好的實戰經驗。
如果要學習機器學習,首先就是要堅持。我知道有些比較牛的人原先本來不做演算法,對計算機也不懂,但就是感興趣,他能夠持之以恆地去學、去做,然後在學和做的過程中不斷反思、覆盤,看自己到底還有哪些地方做得不夠好,然後不斷提高,最後做到了頂尖的水平。比如我的博士導師張鈸老師,他現在已經80多歲了,之前一直因為各種運動影響而沒有機會做研究,40歲改革開放之後才開始做。他的數學很好,而他也一直很努力地學習和思考。所以他能把這個東西想得很清楚,很快就站在了世界的前沿。
在堅持的前提下,第二是要不斷去反思。到底怎麼樣能讓自己的思考更加深入,能夠對問題的感受更清楚。
第三,就是要選好一個方向,因為機器學習最終還是要實際應用的。如果還沒有確定方向的話,可以先去探索一下,然後找一個自己感興趣的,未必是最時髦的方向。然後你要在這個方向上持之以恆地鑽研,無論是影像、文字,還是結構化的資料分析,其實都是跟應用領域相關的。
2006年 The Cambridge Handbook of Expertise and Expert Performance 出版。很多人在此基礎上提出了一萬小時的學習理論,我覺得在機器學習領域也適用。有很多數學理論你要去了解,很多程式設計方法你要去掌握,還有很多跟特定應用領域相關的知識,比如做語言需要了解語言學,做影像或者語音需要了解的人的視覺感知機制或聽覺機制。另外,還有對之前的研究成果的理解和判斷,也是需要時間去積累的。所以歸根到底,堅持還是最重要的。
在資料中淘金
“要從演算法原理上說,美團相比於其他公司可能並沒有多大優勢,但是我們有我們的特點。”
問:無論在清華大學還是在Hulu,您都曾完成很多富有挑戰性的活動或專案,比如TRECVID/KDDCUP國際機器演算法競賽和視訊人臉標註系統。O2O領域最吸引您的是什麼?對於您的研究和開發來說最大的挑戰是什麼?
現在大家都說O2O,之前很多人叫團購,以後的話,可能大家會想到的是服務引擎的概念,也就是我們做的本地生活服務。怎樣能把消費者和商家的需求匹配起來?商家肯定希望能找到比較適合他品牌定位的使用者,針對這些使用者可能會做促銷活動進行拉新,或者對老客進行更好的維護;消費者或者說使用者則有不同的要求,拿吃飯為例,有人希望能吃到符合自己口味又有價效比的東西,有人希望環境安靜一點,有人希望不用跑太遠。從餐飲業推廣到美髮、結婚等行業,這些行業其實都有很長的決策、支付和履約的鏈條,大家在做某些決策的時候都很困惑,所以需要獲取很多資訊。如果我們能夠對個人資訊進行積累,再結合我們對商家線上線下服務的整體資訊,然後利用一種比較複雜的匹配方式,就能在使用者沒有非常精確地說出他的需求時,就幫他匹配到。我覺得這是未來非常有潛力的方向。
問:在工業界,您能接觸到大量這樣的真實資料?
王棟:這是肯定的,但工業界的資料跟學術界不太一樣,有很多噪聲。我們在現實中處理這些資料時,一方面會遇到爬蟲,或者有人去刷單,我們需要結合風控部門在訓練模型時把這些噪聲處理掉;還有一些使用者可能資料特別稀疏,這時如果把他直接加進樣本集用於訓練未必是一個好的選擇,所以需要做很多前期處理工作。為了讓大家做演算法調研時能夠更快地迭代,我們在這方面比較注重平臺化建設,這樣就不需要花費時間重複開發工具,可以集中精力調演算法。
問:能否請您介紹一下美團基於Spark的離線訓練平臺?和基於Hadoop的系統是如何結合的?
我們離線資料的收集是在Hadoop上,一些統計資料的處理也是在Hadoop上,這是我們用來做機器學習訓練的一個平臺。Spark現在和Hadoop統一採用YARN管理,部署在同一個叢集上,這樣資料互動會更容易。我們很早就開始用Spark,比如早期我們發現演算法可能在某些情況下不收斂,所以我們還向Mllib的專案提交過一些Patch。
現在的研發已經比較完善了,所以我們在現有平臺的基礎上做了很多工具,能夠在訓練的時候很快提取我們需要的特徵、打好標記,然後迅速通過離線的方法得知最終效果是什麼樣的。要做離線調研的話,大部分時間實際上是在取資料、分析資料,最後看效果,不好了再去調。整個離線調研過程佔用大家工作時間的比例很高,所以我們很有必要去做優化,這樣我們才能有更多的時間去做真正重要的事。
關於我們的排序解決方案,可以參考美團技術部落格http://tech.meituan.com/meituan-search-rank.html。
問:相比於你們的競爭對手,你認為美團的架構和演算法有什麼特點?
可能不太好評價競對或者說友商,就說說我們自己吧。我們這邊對於推薦一直是蠻看重的,最早從PC端的時候就開始做,2013年時大家把注意力轉到了移動端上。隨著螢幕變小,推薦,尤其是個性化的推薦變成了非常有價值的事。當時移動端的負責人陳亮(他現在負責酒店業務),很早就看到了這一點,隨即開始招團隊做這方面的事情。
我覺得當時比較好的一個思路就是,上來我們先搭了一個很好的框架,這個框架能夠很方便地去實現演算法。對工程和演算法進行了簡單的整合之後,我們一方面可以不斷地迭代優化這個架構,另一方面可以用演算法本身做很多靈活的實驗,包括流量分配、不同的演算法測試,等等。
我們接下來所做的工作其實更多涉及使用者的各種行為,我們會把搜尋過程中的行為以及歷史上使用美團的行為資料蒐集起來。另外我們也想辦法去獲取一些使用者的評價反饋,也就是讓使用者自己去主動吐槽。我們再利用各種收集資訊的手段,把這些資料累積起來。
第三步,我們開始做個性化推薦的排序。在當時,雖然推薦排序在學術界已經研究得比較清楚了,但在工業界還沒有很廣泛的應用。最早的時候大家都用傳統的item CF/user CF這樣簡單粗暴又有效的做法。但是要做得好,繼續做深化提高,做演算法調優是避免不了的。我們當時試著研究了各種排序的策略,做到了個性化推薦,後來從個性化搜尋到個性化排序,我們也都做到了。
具體內容可以參考美團技術部落格中機器學習InAction系列的文章,如http://tech.meituan.com/machinelearning-data-feature-process.html。
問:剛才第二步您提到了跟使用者有關的資訊蒐集。亞馬遜的首席科學家Andreas Weigend曾說過:"亞馬遜做的不是從資料中分析出資訊,而是建立一套有效的評價和反饋機制,讓使用者形成一個良好的社群,讓使用者自身對於產品進行推薦。"在美團的推薦系統中,是否也考慮讓使用者群體成為產品的一部分?
我們之前也做過一些嘗試,比如把使用者不感興趣的內容刪除,或者使用者自己提交興趣。在影視相關應用上,如果使用者看到下面的條目,點選了,但是沒有看上面的,那就說明上面內容可能是使用者不感興趣的。這些方法很多也是被業界廣為使用的,事實上各種效果好的模型業界也都在用,要從演算法原理上說,美團相比於其他公司可能並沒有多大優勢。我們的特點在於,首先我們能更好地利用美團特有的資料,其次我們可以利用資料結合業務找到很多有效的特徵,這些特徵可能跟我們的應用場景相關。
我們之前也和豆瓣、阿里等公司交流過彼此的一些經驗,發現在不同場景下,真正產生效果的特徵是不太一樣的。比如,現在本地電商的商品推薦,是跟使用者當時所在的位置有很大關係的,使用者有需求的時候一般是找離他比較近的,所以這是一個很大的制約因素。另外推薦也和使用者本身有關,比如一個剛畢業的學生不一定每天會去吃大餐。反倒在豆瓣上,這種不同形態的消費更多的是基於使用者的興趣,因為使用者付出的成本就是時間,很可能不需要花錢。而我們受現實的約束更大一些,我們需要考慮離使用者比較近的商家的評價、銷量,以及價格優惠的力度,還有使用者以前的消費記錄、搜尋記錄,以及使用者對類似品類的興趣,這些都是我們排序的依據。我覺得推薦是蠻偏業務場景的,和產品相關,並不光是技術好就能做好。
關於我們推薦的工作總結,可以參考http://tech.meituan.com/mt-recommend-practice.html。
問:美團的四個產品美團團購、美團外賣、貓眼電影,以及美團酒店的技術架構相對獨立程度如何?這些產品存在哪些技術上的共享?
美團的所有業務都是部署在美團雲上的。美團雲作為美團業務的基礎,穩定支撐了整個業務。美團雲的技術架構主要有以下幾個特點:
- 分鐘級的雲資源交付,支援虛擬機器和物理機。
- 美團雲使用可見性隔離虛擬機器減小了應用之間的影響,避免軟體衝突、管理維護衝突等問題。
- 面對CPU、記憶體、儲存空間、io能力的利用率低問題,多元化業務分時複用資源將資源利用率提高了10倍。
- 美團雲採用單例項的資源分配與回收,解決了資源回收難、業務淡出、不能整合及混布其他應用等問題。
- 建立了分業務的精細計量模型,可精確計算各業務部門的運營成本資源使用情況。
另外,美團雲在排程方面做了很多優化。比如,同業務的VM使用不同Host;將業務分為I/O型、CPU型、記憶體型;並且在餐飲和電影票業務上分閒忙時段,錯開高峰期。
在技術架構特點方面,美團雲現在採用的是多機房部署模式,每一個機房都是自主運營,多個機房資源串連在一起,避免單機房出現故障而導致服務中斷的問題。美團雲提供的儲存有兩種:本地儲存和分散式IP SAN儲存。本地儲存提供高效能穩定性,分散式IP SAN儲存則提供靈活性。
除了底層架構,再往上各個業務有自己各自的特點。比如外賣其實並不只是關心下單,還要看之後的履約配送環節。我們以前也做過一些和電影相關的資料工作,後來為了讓業務跑得更快,貓眼電影就成立了獨立的技術團隊。現在,大家會有一些技術交流,內部討論,然後我們會提供一些平臺級別的工具,比如分詞的技術,就是各業務都在用,再比如我們做的搜尋平臺架構,各個業務也都在用,他們可以直接基於搜尋的框架,提供自己業務的邏輯。比如查詢的內容是五道口,在貓眼裡面就是找相關的附近電影院,比如五道口工人俱樂部電影院;如果在酒店頻道里找,可能找的就是賓館。業務理解上的差異會讓最後出來的結果也不一樣,這部分是可以定製化的,我們的平臺現在提供這樣的能力。
問:貓眼電影的票房預測現在進展到了什麼程度?
2015年六、七月份的時候我們做出過一版票房預測,當時提前一個月預測的準確率差不多能達到百分之七八十。貓眼產品的負責人,他也會去跟發行方商量要不要跟美團做聯合發行。他反饋票房預測是很有價值的方向。這塊美團肯定還會持續去改進,因為我們的資料蒐集比以前做得更好了。
我們現在用到的特徵還是貓眼本身的一些使用者行為特徵,包括搜尋、歷史評價等等。好多人都說要利用導演、演員,以及微博搜尋量去做,我們實踐之後發現這種方法不靠譜,還是我們自己的資料最有效。
更多精彩,加入圖靈訪談微信!
相關文章
- 圖靈訪談系列之九:CNode社群談Node.js技術及生態圖靈Node.js
- 一個非常不錯的技術視訊強烈推薦
- 取消演算法推薦,是技術上的倒退嗎?演算法
- CSS精靈圖技術CSS
- 「SAP技術」SAP不夠嚴謹?
- 推薦一張不錯的架構圖架構
- 進來!Get央視推薦的區塊鏈技術圖書區塊鏈
- 熱更新技術簡易原理及技術推薦
- 圖靈訪談1025 | 美團攻城獅:用技術創造歷史,用走過的路寫一本書圖靈
- 推薦系統技術概覽
- Linux是什麼?為什麼推薦學習Linux技術?Linux
- 圖靈技術圖書譯者須知圖靈
- 程式設計師光學技術還不夠?推薦一份運營書單給你品一品程式設計師
- 速度不夠,管道來湊——Redis管道技術Redis
- 我最推薦的一本技術書
- 【技術推薦】正向角度看Go逆向Go
- 【推薦】最新200篇:技術文章整理
- 圖靈訪談系列之一:陳世欣談產品經理與社群圖靈
- DataGirls社群創始人 Aislinn:做勇敢的少數派(圖靈訪談)AI圖靈
- 今天不聊技術,談談“工程師“三個字工程師
- 10大重點推薦的區塊鏈技術區塊鏈
- 技術人如何提升自己(推薦必讀)
- JSer全棧化技術棧推薦(一)——原生移動端是天堂還是泥潭JS全棧
- 微博推薦實時大模型的技術演進大模型
- Debias 技術在金融推薦場景下的應用
- 什麼是技術債,為什麼要還技術債?
- GSLB是什麼?談談對該技術的一點理解
- 遠端訪問技術是什麼
- 推薦系統 embedding 技術實踐總結
- 《區塊鏈技術指南》電子書推薦!區塊鏈
- 美顏SDK人像摳圖技術是什麼?人像摳圖技術是如何實現的?
- 如何提升推薦系統的可解釋性?京東智慧推薦賣點技術全解析!
- 如何提升推薦系統的可解釋性?京東智慧推薦賣點技術全解析
- 牆裂推薦:搜雲庫技術團隊,整理一年的技術乾貨
- 適合初學者學java技術的書籍推薦!Java
- 只有爛程式設計師才相信世界是由技術驅動的程式設計師
- 按圖索驥,談談資料庫技術選型資料庫
- 微信「看一看」 推薦排序技術揭秘排序
- 技術書籍推薦-v1.0版本