聊聊工业界做机器学习的里程碑
文 | 吳海波
編 | YY
閱讀說明,本文的機器學習領域限制于互聯網搜索、推薦、廣告場景,僅限于個人觀點。
2017年,我和團隊的幾個核心去了趟北京,找了各大互聯網公司一線實戰的同學,交流各自在機器學習上的經驗。這次交流讓我的認知上了一個臺階,開始思考什么是真正優秀的機器學習團隊。
感慨一句,百度,特別是鳳巢,真是中國機器學習的黃埔軍校,門生遍布天下。
系統——經濟基礎決定上層建筑
工程系統中,提升收益是優化算法的根本動機。 業界流行過這樣一句話:“能加幾臺機器解決的問題,不要讓人去優化。”乍一眼看有些反直覺,但是結合語境細想,這句話的核心思想是做事應當把控好大方向。機器便宜,人力昂貴,在業務快速發展的階段,有很多更重要的事情要去做。能不能比競爭對手快一個周期,就是團隊生與死的差別。這種情況下,過度追求算法的提升可能是在舍本逐末,反而不明智。
對比學術界,互聯網中搜索推薦及廣告的場景,有個明顯的特點,就是數據規模大,訓練數據豐富,正負反饋獲取成本低。這就造成了和傳統機器學習算法格格不入的方案,通常模型方案都是不那么經濟。
此外,大多數工程系統,是從業務需求側或者產品需求側設計的,很少會把算法當做真正的業務方。 工程師對研究者常見的批評,有一條就是開發的算法往往缺少對應的需求。而業務方的要求,就算有時在實現難度上大到不合理,通常也是市場的客觀反映。因此,大部分工程上針對算法的設計方案,更像是主流需求外的附加需求,常常是閹割再閹割。
采用機器學習時,有幾個問題是共通的:數據質量建設——ABtest怎么做的,流量波動大不大,實驗置信度有多少,埋點方案有沒有第三方檢驗,數據口徑是否統一。
為什么說大規模Logistics Regression是一個里程碑
這兩年,各大公司分別實現了一波少帥的Parameter Server,動不動就號稱千億級的特征規模。這套廣告業務的核心技術:點擊率 (Click Through Rate, CTR) 。預估任務最開始由Google提出,而國內選擇的突破口是在Logistics Regression中引入id類特征,這就造成了極大的運算量。眾所周知,LR模型是線性模型,需要做特征交叉,互聯網的用戶、商品、內容都是一個非常夸張的量級,交叉之后往往會得到一個規模極大的特征集。
大規模首先要解決計算力問題。 很多互聯網公司的機器學習團隊雖然有很多數據,但是跑不動,就只能用部分數據;又因為訓練數據不足,特征工程就不能做多,只好人工進行特征選擇,費時費力。如果計算力足夠,樣本量級上去,這個問題就可以迎刃而解。
同樣搞機器學習,大公司可能一天進行十幾種嘗試,小公司卻只能做一兩種。冷兵器對上火炮,只有被碾壓。少帥在14年提出的SOTA,100T數據,10億特征,半個小時迭代100輪的計算力,到了現在能實現的公司也寥寥無幾。
另一方面是線上服務。 這么大規模的模型,怎么發布上線,更新模型的時候怎么保持線上數據的一致性,處處都是難題。模型大了,相應的特征也很多,那么哪里存儲這些特征?離線的特征可以存緩存,實時特征怎么辦,數據還要溝通,能做到實時嗎?如果模型不能被單機加載到內存,難度又得上一個量級。
綜合起來,大規模LR模型非常考驗團隊工程系統能力。從另一個角度看,這是一種工業級的哲學觀,追求通用,追求效率,降低模型對個別算法的依賴,通過堆切大量特征的方式擊敗小作坊式特征工程,充滿暴力美學。
為何要搞深度學習?因為效率
上文的大規模LR看起來是一種“笨方法”。最近這幾年工業界投入甚多的深度學習,則是另一條被看好的道路。說實話,大部分的深度學習在推薦和搜索,并沒有取得像圖像領域那樣讓人印象深刻的效果。但它擁有一個致命的誘惑——不需要或需要少量的人工特征工程。
就是這個方案對比以前的模型沒有提升,但它不需要特征工程,于是能帶來巨大的效率提升。如果想做出較通用的解決方案,對業務來講,原先可能要好幾個同學哼哧哼哧搞好幾個月的特征工程,現在深度學習方案能快速的搞出來。
寫在最后
總的來說,目前的機器學習還有很大的發展空間,讓我們把喧囂留給媒體,自己安安靜靜地繼續探索吧~
往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統計學習方法》的代碼復現專輯 AI基礎下載機器學習的數學基礎專輯獲取一折本站知識星球優惠券,復制鏈接直接打開:https://t.zsxq.com/662nyZF本站qq群704220115。加入微信群請掃碼進群(如果是博士或者準備讀博士請說明):
總結
以上是生活随笔為你收集整理的聊聊工业界做机器学习的里程碑的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 谷歌大佬花了半年整理的Leetcode刷
- 下一篇: 【Python基础】Python画王者荣