當前位置:
首頁 > 科技 > 落地機器學習前,我們應該思考清楚的幾個問題

落地機器學習前,我們應該思考清楚的幾個問題

隨著大數據技術的普及和發展,機器學習技術從搜索引擎開始,伴隨著互聯網、移動互聯和共享經濟的發展,日益成為改善用戶體驗、提高產品質量的核心組件。機器學習技術不僅給互聯網帶來了源源不斷的收入(互聯網廣告),甚至也在改善每一位用戶的日常電商購物、交通出行、旅遊等方方面面的體驗。那如何在已有的系統或者業務中落地機器學習相關實踐呢?在開始使用機器學習之前,企業應該有哪些準備?帶著這些問題,InfoQ 記者採訪了 PayPal 大數據研發架構師張彭善。另外,張彭善也將會在 10 月 17 日舉行的 QCon 全球軟體開發大會上分享相關話題,歡迎關注。

InfoQ:機器學習現在非常火熱,很多企業也逐步開始考慮在業務中實踐機器學習,你認為機器學習適合解決什麼樣的問題?

張彭善:拋開 AI 不談,機器學習在很多領域已經證明了其具有非常巨大的價值,尤其是在互聯網領域,無論是殺手級應用互聯網廣告、還是電商內容平台推薦、風控欺詐識別以及共享出行,機器學習已經成為互聯網變現提高盈利的重要手段。從這些主流應用中可以看出目前的機器學習主要是在解決複雜的預測優化問題,所以對於企業來講,應當思考業務環節中任何涉及優化策略的業務都可以嘗試實踐機器學習,比如新產品目標用戶推廣、銷售策略優化、客戶流失預警等等。

InfoQ:那在落地機器學習之前,企業應該有哪些準備?什麼樣的團隊適合實踐機器學習?

張彭善:我和很多企業聊過,這個問題和第一個問題構成目前企業應用機器學習最大的痛點。對於大部分企業來講不會像互聯網企業一樣有強大的數據科學和工程團隊,但是我也注意到很多傳統企業也是有數據分析和業務開發團隊的,這是一個很好的基礎,利用這些團隊可以組建或培訓適應機器學習應用的數據科學團隊。然後可以著手先嘗試以最小成本構建起端到端的機器學習管道,這包括基礎平台的構建、收集數據的渠道、特徵工程和模型開發的流程以及最終模型的部署上線,有了這樣的管道和平台,就可以持續不斷的優化性能進而達到預期的業務目標,然後可以慢慢嘗試應用到其它業務場景。

InfoQ:結合你的工作經驗以及業界的一些實踐,你認為企業落地機器學習的最佳路徑是什麼?

張彭善:始終以業務優化作為指導,無論是任何一個步驟,都需要思考是否是有利於達到最終的優化目標。最佳路徑是在構建整個流程管道和平台的同時,力爭快速部署模型到系統中去。當模型部署上去之後,通過反饋結果再持續的迭代和改進機器學習平台和整個管道,此過程中沒有必要去追求完美的模型和完美的系統,快速響應業務和持續演進能力是關鍵。

InfoQ:在落地機器學習的過程中,企業應該注意避開哪些坑?

張彭善:落地機器學習的過程,確實會有很多的坑,比如:

學習目標應儘可能的簡單以及可以量化,如果目標定義模稜兩可,很難想像能做出很好性能的模型。

應當首先從簡單線性模型開始,不要上來就盲目迷信複雜的非線性和深度模型,事實上每一個模型都有其適用場景和優缺點,從線性模型出發首先可以提供一個好的基準,其次也能幫助發現數據中存在的問題,比如說剔除一些噪音數據,解釋一些複雜的特徵數據等等。

確保訓練數據、測試數據和線上數據的分布一致,這個說起來簡單,實際上隨著業務的複雜性增加,很多情況下訓練數據和線上數據並不一致。有可能是業務調整導致線上預測只是之前的一小部分數據集,也有可能訓練數據集只是取的業務其中有偏差的一部分數據。

始終以機器學習平台管道構建為目標,不要局限於短期的性能改善,作為一個優化系統,更多的嘗試意味著更大可能的性能提高,有了平台的基礎,才能持續穩定的改善機器學習模型的性能,提高業務收益。

InfoQ:在一個相對完整的機器學習平台中,你認為應該包含哪些技術棧?

張彭善:機器學習平台是一個相對複雜的系統,主要包括離線、近線、在線三個方向的技術棧。

離線系統的技術棧主要是構建在 Hadoop 系統,如日誌數據存儲(HDFS)、特徵數據倉庫(Hive,SparkSQL,…)、ETL 計算、MapReduce 特徵工程、模型訓練和評估,目前一些主流的基於 GPU 的深度學習也可以統一到 YARN、Kubernetes 等系統中進行統一的調度管理。

近線主要涉及到一些流式的計算,如計算各個產品維度的滾動值、歷史值等,涉及到的技術棧包括消息系統如 Kafka、流失計算如 Storm、Flink、Spark Streaming 等。

在線主要涉及到在線特徵管理和計算以及模型執行,在線系統對於系統的可用性有很高的要求,主要涉及的技術棧包括各種 NoSQL 資料庫用來管理和快速存取特徵,Rest 或微服務架構管理各種模型和所依賴的特徵。除模型預測外,在線系統還可能包括策略系統:主要根據模型預測做相應的策略,此系統一般會和業務系統結合也是偏向服務化的技術棧。

除此之外,還會有監控、日誌收集、調度等系統輔助整個平台的運行,這些技術棧並不是特別固定,可以根據實際需要選取和研發。

InfoQ:做應用的時候,大家都經常喜歡說架構。機器學習平台有架構之類的說法嗎?

張彭善:機器學習平台並沒有脫離軟體工程,架構在整個平台依然扮演著非常重要的作用。

和傳統應用一致,在線機器學習平台目前主要也是分層的微服務架構,通過微服務可以把數據存取及模型執行以及策略執行做很好的解耦,數據服務通過資料庫存取一般是 IO 密集型的,模型和特徵計算是 CPU 密集型,各服務和應用可以單獨優化和部署,進而提高整個在線系統的性能和可用性。如果在線系統涉及到模型增量運算,對於在線系統還需要做好線上模型更新和隔離,這時分層和服務架構更加重要而且對層次劃分也更細緻。

機器學習平台還涉及到很重要的離線數據平台,底層一般是構建在 Hadoop/YARN 之上的資源管理系統,數據和特徵存儲在上層的 HDFS/Hive 或其它 Hadoop 數據倉庫,此外構建基於內存的分散式迭代計算框架,也可以使用 Spark 或者 TensorFlow 等主流框架,再上層構建完整的機器學習特徵工程和模型訓練的管道。

InfoQ:你認為一個機器學習從業人員和傳統的應用工程師(程序員)最大的區別是什麼?他們的能力側重點各是什麼?

張彭善:從機器學習的應用來看對於傳統的應用工程師也提出了新的挑戰,首先機器學習應用是一個融合了離線平台和在線平台的更加複雜的應用,機器學習從業者主要包括數據科學家和機器學習工程師,他們往往是圍繞數據和優化目標來設計系統,而為了很好的達到優化目標和業務預期,實際機器學習從業者需要對業務、統計和機器學習以及工程領域都要有很好的理解,而他們的相對弱勢是對於系統架構如可用性和服務化等的掌握。傳統的應用工程師在這方面較有優勢,工程能力是一個很好的基礎,也可以幫助他們擴展到面向數據和業務的機器學習應用系統。

InfoQ:在 QCon 上海全球軟體開發大會上,你會重點為參會者分享哪些技術點?

張彭善:這次也是我第一次作為出品人參加 QCon,出品專題是《機器學習應用與實踐》,主要是由來自攜程、PayPal、美團點評以及唯品金融的機器學習專家分享他們在各自公司運用機器學習技術提升業務價值的實踐和經驗。我覺得這些議題具有相當的代表性,各位專家也是從另一個角度來幫助我回答上面的一些問題。從應用出發,使用機器學習去驅動業務,不是為了用而用,也是出品這個專題的初衷。

除《機器學習應用與實踐》專題外,張彭善老師還將在 10.15-16 日的會前深度培訓中分享如何使用機器學習的方法去構建預測模型,對於不同的業務問題如何使用具體的演算法和方法,以及學習如何從無到有構建產品環境的機器學習應用。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 InfoQ 的精彩文章:

Facebook 如何實現大規模快速發布?
欲修鍊成架構師,必先……
瞄準全球頂尖的AI落地案例,AICon來了!
英特爾軟體開發人員大會報名
蘋果在GitHub上正式開源iOS內核源碼

TAG:InfoQ |