Netflix 推薦系統(Part Eight)-Spark+AI 2018

做推薦的Bella醬發表於2018-09-30

原文來自Netflix at Spark+AI Summit 2018。並不追求完全和完整的翻譯,僅翻譯個人認為的重點部分。如發現任何侵權行為,請聯絡我。

A glimpse at Spark usage for Netflix Recommendations

Apache Spark一直是分散式計算中非常流行的大資料平臺。 Netflix已廣泛使用Spark進行各種批處理和流處理工作。 大量Spark計算資源用於內容推薦和個性化領域中的各種應用程式。 用於使用者個性化的大多數機器學習pipeline在大型託管Spark群集上執行。 這些模型構成了推薦系統的基礎,該系統支援您在Netflix應用程式上看到的各種個性化內容,包括標題相關性排名,行選擇和排序以及海報個性化等。

Spark提供計算基礎設施,能幫助完成模型開發中的資料準備,特徵提取,訓練和模型選擇過程。 在過去的幾年中,Personalization Infrastructure團隊一直在這個領域中擴充套件Spark應用程式。 我們堅信與更廣泛的Spark社群分享我們的學習經驗,在2018年的舊金山Spark + AI峰會上,我們有機會通過分享Spark在Netflix的三個不同規模的專案來實現這一目標。 這篇文章總結了三個talk。

Fact Store for Netflix Recommendations

第一次talk記錄了我們為個性化模型構建訓練資料基礎架構的過程 - 我們如何構建一個fact store,用於在不斷變化的新需求環境中提取feature。 為了提高我們的個性化推薦的質量,我們使用歷史資料離線嘗試不同的演算法idea。 然後,改進我們的離線指標的idea進入A / B測試,這些測試通過核心指標(例如使用者參與度,滿意度和使用者留存率)的統計顯著改進來衡量新演算法的好壞。 此類離線分析的核心是history facts(例如,檢視成員的歷史記錄,“我的列表”中的視訊等),這些事件用於生成機器學習模型所需的feature。 我們需要確保我們捕獲足夠的fact資料以涵蓋各種實驗的所有分層需求,並保證我們所收集的資料在時間上準確。

在talk中,我們介紹了關鍵需求,fact store design的演變,基於推送的架構,擴充套件工作以及learnings。

Netflix 推薦系統(Part Eight)-Spark+AI 2018

Near Real-time Recommendations with Spark Streaming

我們的第二次talk深入探討了我們在Netflix上構建的實時Spark Streaming生態系統,以提供這種Nearline ML基礎設施。 本演講由幾個使用此Nearline(NRT)基礎設施的產品用例進行了背景化,特別是我們如何選擇在Billboard(頁面頂部的大畫布)上展示個性化視訊,以及我們如何選擇 給出在正確畫布基礎上的任何標題的個性化海報。 我們還反思了在Spark Streaming之上構建高容量基礎架構時所學到的經驗教訓。

Netflix 推薦系統(Part Eight)-Spark+AI 2018
Netflix 推薦系統(Part Eight)-Spark+AI 2018

Spark-based Stratification library for ML use cases

我們的最後一個talk介紹了一個特定的基於Spark的庫,我們構建它來幫助分層用於離線機器學習工作流程的訓練集。 這使我們能夠更好地模擬使用者的行為,併為他們提供出色的個性化視訊推薦。

該庫最初是為了在我們的訓練資料快照基礎設施中實現使用者選擇演算法而建立的,但它已經發展到可以處理ML pipeline中的通用分層用例。 這裡的主要思想是能夠提供一種對資料集進行下采樣同時仍然保持對資料分佈的所需約束的機制。 我們在Spark Dataframes之上描述了靈活的分層API。

Netflix 推薦系統(Part Eight)-Spark+AI 2018

相關文章