換個角度談談優秀的機器學習團隊
閱讀說明,本文的機器學習領域限制於互聯網搜索、推薦、廣告場景,僅限於個人觀點。
2017年有段時間,和團隊的幾個核心一起去了趟北京,找了各大互聯網公司一線實戰的同學,交流各自在機器學習應該上的一些經驗。可以說,這次交流讓我的認知上了一個台階,從而開始思考什麼是真正優秀的機器學習團隊。
感慨一句,百度,特別是鳳巢,真是中國機器學習的黃埔軍校,門生遍布天下。
系統---經濟基礎決定上層建築
工程系統才是演算法收益的上限。工程的同學可能聽過一句流行的話,能加幾台機器解決的問題,不要投人去優化。咋一看好反智,放在一些語境中,這句話核心表達的意思是做事情要看ROI,機器好便宜,而程序員很貴,在業務快速發展的階段,有很多更重要的事情要去做,比競爭快一個迭代,可能就是生與死的差別。提前優化節省成本反而是不明智。
對比學術界,互聯網中搜索推薦及廣告的場景,有個明顯的特點,就是數據規模大,訓練數據豐富,正負反饋獲取成本低。也就造成了和傳統機器學習演算法格格不入的方案,通常模型方案都是不那麼經濟。
另一個點,大多數工程系統,是從業務需求側或者產品需求側設計的,很少會把演算法當做真正的業務方,比如工程同學很容易argue演算法同學的idea,常見的理由是先想辦法證明有收益在投入吧,而業務方的需求,就算不合理,大部分的時候還是會被執行。因此,大部分工程同學給演算法設計的方案,更像是主流需求外的附加需求,常常是閹割再閹割。
幾個問題:數據質量建設:abtest怎麼做的,流量波動大不大,實驗置信度有多少,埋點方案有第三方檢驗沒,數據口徑統一嗎。
為什麼說大規模Logistics regression是一個milestone
這兩年,各大公司將少帥的PS各自實現了一發,動不動就號稱千億級的特徵規模。這套廣告業務的核心技術:ctr預估,最開始是Google的,而國內最早跟進的是。千億級的特徵規模,讓吃瓜群眾不明覺厲。而造成如此大規模的特徵,主要是又愛又恨的id類特徵引入。總所周知,LR模型是線性模型,需要手動做特徵交叉,互聯網的用戶、商品、內容都是一個非常誇張的量級,很容易通過交叉得到一個大規模的特徵集。
大規模首先要解決是計算力,很多互聯網公司的機器學習團隊,一直在做自我閹割,他們有很多數據,但是跑不動,就只能用部分數據,因為訓練數據不足,特徵工程就不能做多,因此又要做很多特徵選擇,費時費力。如果計算力足夠,為何要做特徵選擇,加入正則不就可以自動刷選,怕什麼過擬合,樣本量級上去,更多的可能都是欠擬合。
同樣搞機器學習,別人一天可以10個嘗試,你一天只能做2個,就想步兵面對重騎兵,只有被碾壓。少帥在14年提出的state of art,100T數據,10億特徵,半個小時迭代100輪的計算力,不知道現在有幾家公司做到了。
然後是線上服務,這個變態模型,上線還是個大麻煩。這麼大的模型,怎麼發布上線,更新模型的時候怎麼保持線上數據的一致性。模型大了,相應的特徵也很大,那麼哪裡存儲這些特徵,離線的特徵可以存緩存,實時特徵怎麼辦,還要交叉,RT控的住嗎?如果模型不能被單機載入到內存,恭喜你,難道又上升了一個量級。
綜合起來,大規模LR模型,非常考驗團隊工程系統能力。從另一個角度看,這是一種工業級的哲學觀,追求通用,追求效率,降低模型對個別演算法同學的依賴,通過堆切大量特徵的方式擊敗小作坊式特徵工程,充滿暴力美學。
為何要搞深度學習,因為效率
前面提的大規模LR,看起來是一種「笨方法」。而最近這幾年前仆後繼的投入深度學習,則是另一個觀念。說實話,大部分的深度學習在推薦和搜索,並沒有取得像圖像領域那樣讓人印象深刻的效果。但它擁有一個致命的誘惑,不需要或需要少量的人工特徵工程。
就是這個方案對比以前的模型沒有提升,但它不需要特徵工程,就是巨大的效率提升。如果做出較通用的解決方案,對業務來講,原先可能要好幾個同學哼哧哼哧搞好幾個月的特徵工程,現在深度學習方案能快速的搞出來。
PS: 哈哈,技術的同學這麼賣力,都是要把自己搞失業的節奏。
最後,我們不是AI,把喧囂留給媒體,讓真正幹活的人安安靜靜的玩耍。
推薦閱讀:
※有哪些解決推薦系統中冷啟動的思路和方法?
※現有新聞推薦產品是如何向用戶進行個性化推薦?
※開源代碼上新!6 份最新「Paper + Code」 | PaperDaily #17
※特徵工程到底是什麼?
※誰能解釋下這個架構?