Facebook和Netflix都為之著迷的實時機器學習演算法,到底是怎麼工作的?
最近,Facebook宣佈開發出了一種新的演算法Spiral,可以為網站上的數十億使用者提供實時調節的服務。能夠在短短几分鐘內預測並將新結果輸出給使用者,而不是依靠好幾周的資料來最佳化和更新服務。
舉個例子,如果一個使用者突發奇想,想要知道“我的哪些朋友贊過此貼”,傳統演算法的解決方案是,建立一個龐大而持續的長時間記錄,精心觀察和記錄每個相關使用者行為對結果的影響。
但Spiral只需要幾分鐘就能收集反饋,自動學習並立即獲得精準推斷。
聽起來是不是很神奇?
最近,這種能夠隨資料獲取實時調整模型的實時機器學習,正在成為媒體技術領域的新“網紅”。曾經連續兩年,都被FTI評為傳媒業的重要技術趨勢之一,與自然語言理解NLU、機器閱讀理解MRC、音影片演算法等共享金字塔頂端的榮光。
實時機器學習技術的深入應用,將解鎖很多超乎想象的媒體功能和應用場景。但是,儘管學界已經在演算法上提出了幾種理想的架構,但產業端卻未迎來蓬勃的質變。這究竟是為什麼?
什麼是實時機器學習
在開啟扒皮模式之前,我們先來了解一下,實時機器學習究竟在哪些地方比傳統的機器學習更強?
傳統的機器學習(ML)正在媒體領域得到越來越多的應用,利用演算法實現內容的“個性化推薦”,已經成為主流媒體的標配。
但過去的演算法,主要側重於使用靜態模型和歷史資料進行訓練並提供預測。比如使用者在瀏覽網站時,可以根據使用者歷史行為資料來推送新聞。
而一些新的涉及動態實施決策的業務,比如具備時效性的熱點新聞,或是使用者想要看點新東西,這就需要用一種新的演算法來實現,即實時機器學習Real-Time Machine Learning。
以頭條的核心技術“個性化推薦演算法”為例,其核心原理就是根據使用者對文章的歷史行為資料反饋,進行統計挖掘和判斷。
比如具有相同偏好的三個使用者,分別選擇了自己喜歡的文章,得到最高票數的文章就會被推薦給被系統打上同一屬性標籤的第四個人……以此類推。
不難發現,傳統機器學習演算法的成功,依賴於對使用者的“知根知底”,需要使用者不斷開放自己的私人領地。
而實時機器學習,更擅長對使用者的當下需求體察入微,讓使用者在保持隱私安全感的同時,獲得如沐春風的瀏覽體驗。
顯然,實時機器學習演算法將主導一個令人期待的新世界,也有越來越多的媒體在為此做著準備。
帶來的新挑戰
實時機器學習雖然很美好,但要讓機器在資料獲取過程中實時調整模型,也帶來了不同維度的技術挑戰,讓工程師們為之禿頭:
1. 高吞吐量與低延遲的平衡。
媒體平臺的海量使用者需求,決定了實時機器學習要在每秒處理數百萬任務量級。以這樣的速度進行大規模的資訊分發,需要細緻到毫秒級的任務執行能力。
2. 動態異構任務模組的高效喚醒。
對於Facebook這樣體量龐大的平臺來說,其服務是由成千上萬個不同模組構建而成的,流量調節、影像轉碼、儲存編碼等等。在實時任務中,會伴隨生成很多不同資源支援的新任務,增加系統的響應和處理難度。
如何對這些重要且不一樣的特性進行預測,十分具有挑戰性。
3. 實時演算法與業務場景的融合。
實時響應和預測,意味著留給系統的容錯空間更小。要保障這一技術在實際應用場景中的穩定性,就要在完成高吞吐量任務的同時,能夠快速模擬真實世界的互動,然後精準地判斷出,哪些是結果的決定性因素,從而做出正確的響應。
舉個例子,如果想給使用者推薦“哪些朋友贊過此貼”,實時演算法會快速判斷出“最近一次檢視”這一資料集對完成該任務毫無意義,然後快速修改關聯並重新學習。這種自適應調整,可以有效防止使用者收到的結果中出現明顯的錯誤點。
以上這些問題,似乎說明媒體們挑戰實時機器學習的難度還是蠻大的。那麼,有必要做這麼吃力不討好的事嗎?
進擊的媒體:實時機器學習的N種可能
儘管在剛剛問世時,基於靜態模型的機器學習演算法,展現出了很高的分發效率優勢,目前看來,也仍舊能夠滿足大部分使用者的需求。但在某些場景下,還是會有鞭長莫及的地方:
首先,是高質量流媒體體驗帶來的技術要求。目前主流內容平臺都在向音影片業務推進,面對多元化內容和行為資料的及時分發,高延遲的解決方案就變得不太理想了。
另外,傳統的機器學習演算法,往往會為使用者打上各種各樣的偏好標籤,難以對即時或潛在的資訊需求及時洞察與響應。這就會使使用者在“貼心”之餘幸福地進入資訊繭房,習慣性地被既有興趣所引導,失去了探索未知的動力和可能性。
更為重要的是,靜態模型對歷史資料的規模化處理,只是一種理想狀態的假設。由於技術能力和隱私授權等重重限制,實現“全樣本”的資料分析幾乎不可能,結果就是其統計結果往往“以偏概全”。
因此,作為一種更加高效的解決方案,實時機器學習自然成為了接下來媒體平臺提升使用者體驗的主戰場。
其中,又分為了三個主要議題:
1. 常規資訊流與突發新聞實時推送的相互補充。目前,常規資訊流依然在主流媒體的內容呈現中佔據主要位置。而藉由實時機器學習,可以將使用者偏好與突發的熱點事件相結合,方便讀者及時瞭解其他事件;
2. 對歷史快取機制的合理規避。為了應對使用者的查詢和需求,傳統的機器學習系統需要進行大量的資料庫更新。實際上,只有很小一部分資料才是真正影響輸出結果的,這無疑增加了很多不必要的工作量。透過更高效的演算法來降低資源儲存和管理成本,自然吸引了媒體們用腳投票;
3. 主動挑戰意外和偏見。媒體的本質是建立一個彙集各種不同觀點的公共平臺,而個性化演算法總會讓人們停留在認知的舒適區。未來的新聞服務,如果想要挑戰讀者的偏見,又不願激怒使用者,就需要運用實時演算法來小心試探。未來,商業服務與新聞意志之間的矛盾,可能會被新的演算法所消融,這種結果無疑會讓媒體的生存環境變得更好。
總體來說,實時機器學習雖然還是個新生事物,已經吸引了眾多媒體巨頭們為它消得人憔悴,不僅因為它比此前的演算法有著更低的成本與更好的療效,更因為它代表了一種媒體與AI融合更光明的前景:讓技術的革新為人類創造更多的可能性,而不是相反。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31561483/viewspace-2220059/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 為什麼很多程式設計師工作時都戴耳機?程式設計師
- 為什麼會辭去Netflix的45萬美元工作? - Lin
- 在Facebook工作的感受是怎樣的?
- 機器學習到底是什麼?機器學習
- “使用者組”在 Linux 上到底是怎麼工作的?Linux
- 從規範去看Function.prototype.call到底是怎麼工作的?Function
- Go Error 巢狀到底是怎麼實現的?GoError巢狀
- DHCP和PXE是怎麼工作的
- jaWE工作流時怎麼和程式中的程式碼關聯的!!!!
- Flink ML API,為實時機器學習設計的演算法介面與迭代引擎API機器學習演算法
- 機器學習中的正則化到底是什麼意思?機器學習
- 什麼是實時渲染,實時渲染是如何工作的
- 為什麼15年來我工作過的地方都沒有成功實施過OKR? - RedditOKR
- 雲端計算到底是怎麼玩的?
- 那些算頻率的演算法,現在都怎麼樣了?演算法
- 想知道jsonp到底是怎麼實現的?看我,包教會!JSON
- Amazon和Netflix的個性化推薦是如何工作的?
- 交友原始碼中即時通訊怎麼工作的?原始碼
- Facebook 的應用機器學習平臺機器學習
- 機器學習13種演算法的優缺點,你都知道哪些?機器學習演算法
- 我們常說的演算法時間複雜度和空間複雜度到底是什麼?演算法時間複雜度
- 在幫Facebook實現一天內10億使用者線上的Growth團隊工作,我都經歷了什麼
- 網站流量到底是怎麼來的?網站
- Facebook時間序列預測演算法Prophet的研究演算法
- 探索 babel 和 babel 外掛是怎麼工作的Babel
- 美國最值得為之工作公司Facebook排第三位
- 為什麼要選擇Python語言實現機器學習演算法Python機器學習演算法
- 人人都說的比特幣挖礦,到底是在挖什麼?比特幣
- 工作雜談:臨時想到的,團隊怎麼進步
- 怎麼實現微服務的實時效能分析?微服務
- 機器學習中梯度下降演算法的實際應用和技巧機器學習梯度演算法
- 華為和榮耀的關係區分 年輕人都知道怎麼選
- 揭秘FACEBOOK未來的機器學習平臺機器學習
- 為什麼都說UX / UI設計師是最佳工作?UXUI
- mysql和redis實時同步資料怎麼實現MySqlRedis
- 關於大資料到底是怎麼來的大資料
- Facebook的Libra “區塊鏈”到底是如何運作的?區塊鏈
- 機器之魂:聊天機器人是怎麼工作的機器人