閱讀489 返回首頁    go 技術社區[雲棲]


《構建實時機器學習係統》一1.4 實時是個“萬靈丹”

1.4 實時是個“萬靈丹”

成長會解決一切問題。如果一個企業正在飛速成長,大家步調一致、同心齊力,那麼內鬥或管理混亂等問題將是難以出現的。而當企業的成長受到了製約,停滯不前的時候,往往就會出現眾多非技術性原因造成的悲劇。
我們強調機器學習的實時性,就是為了保證應用機器學習的企業能夠利用機器學習的資源大踏步向前,而不會被早早地製約,徘徊不前。機器學習就已經夠有挑戰性的了,為什麼還要采用實時機器學習?根據我們的經驗,實時機器學習上馬應該越早越好,原因具體有以下三點。
1.實時架構穩定性可以得到保證
Fail fast(快速失敗)強調如果有問題,那麼應讓問題盡早出現,使得問題可以得到盡早修複,這是軟件工程裏麵一個重要的思想。如果係統有問題,就應該讓問題盡早暴露,而不是往後拖。實時機器學習架構強調連續運行,設計、實施中的任何問題一般都可以在部署上線後的幾個小時內暴露出來,以及時得到更正。
非實時架構往往會在每天的某一個固定時刻進行數據處理、建模等工作。如果前一天開發人員部署了問題程序,到了第二天運行的時候才發現,打好補丁就到了第三天,然後驗證補丁是否正確又到了第四天……在流程的反複中,寶貴的時間就這樣浪費下去了。
2. 代碼、架構質量可以得到保證
與非實時架構不同,實時架構設計假設數據是無限量連續到來的。這時候係統的設計和開發必須從一開始就設計好全局步驟,而不是走一步算一步,由此可以大大提高架構設計的質量。與此同時,連續交付的要求需要代碼能夠事先考慮到所有邊際情況,這樣我們所得到的代碼質量也會更高。
3.數據驅動的組織文化可以得到加強
由於機器學習具有實時性,因此所有有關業務效果的討論都可以基於實時數據,而不是憑空根據大佬的主觀臆斷。與此相對的,沒有采用實時機器學習的組織往往隻會定期手動進行數據分析,得到真相的速度大大減慢,不利於商業決策的正確執行。另外,非實時架構企業的數據處理往往會經過相關人員之手,數據的原始性和真實性很難得到保證,最終用戶拿到數據的時候,數據可能已經失去了使用的價值。

最後更新:2017-09-19 10:03:25

  上一篇:go  在土耳其,他是阿裏唯一的員工
  下一篇:go  《構建實時機器學習係統》一1.3 機器學習領域分類