倪江利 魅族推薦平台的架構演進之路

2021-09-16 23:57:09 字數 3475 閱讀 5848

一、魅族推薦平台架構演進

1. 平台的核心需求

2. 技術難點:

三、魅族推薦平台架構的演變過程

3.1 第一代架構

上圖展示的是我們的第一代架構,在這個圖里可以看到整個過程比較簡單,可以通過這個一線模型計算,計算以後整個使用者的資料通過這個模型直接寫到庫里。

第一代架構存在的問題

這個架構能夠滿足**使用者訪問量在幾十萬或者幾百萬規模的資料處理需求。但是當使用者訪問量呈現大規模增長,問題就暴露出來了。

3.2 第二代架構

從圖中可以看到,第二代架構開始有了清晰的分層。

整個架構分為兩層:

總結起來第二代架構的優勢有:

當然也還是存在一些問題:

二、魅族推薦平台現狀

1. 第三代架構的核心需求

2、推薦平台資料處理模型

3、 推薦平台現有架構

3.1 推薦平台架構分層

nearline運算層: 該層主要是利用式處理的技術對使用者實時產生的行為日誌進行加工,利用一些高效、高效能的演算法生產有價值的資料

3.2 推薦架構各模組的實現原理

首先,統一接入規範

所有應用接入按照統一規範進行接入,所有提供出去的介面模式統一,這樣大大降低接入方的難度。

其次,路由

根據使用者標識、版本、伺服器ip以及權重規則路由到不同的online計算外掛程式服務。這樣一來可以實現實現流量分流、a/b test、灰度發布的目的、介面**。

第三,接入許可權管理

統一管理介面呼叫許可權。

第四,統一監控

統一進行業務設用監控,如業務呼叫量、qps、響應時長、業務設用失敗告警等。

3.2.2 a/b測試模組

在推薦平台中最重要的乙個功能就是a/b測試,a/b測試主要是對使用者進行抽樣分流到不同的演算法組合當中,最後通過評估資料來驅動演算法工程師對演算法效果不斷的進行調優。它的好壞直接決定了演算法以及對模型優化的難度。

在做a/b測試的時候我們會通過一定的抽樣方式選取目標人群,根據一定的規則做配置,讓他們訪問不同的演算法組合,我們再根據不同的組合做評估,上圖中我只寫了乙個轉化率,真正的評估資料不只這些。

3.2.3 a/b測試效果評估過程:

上圖是擷取的乙個a/b測試效果評估圖。真正的效果評估也不只這些,每一組業務場景的效果評估都是不一樣的。

計算模組分為兩大塊:

第一大塊是業務策略計算,主要是處理業務相關的一些排序、過濾、人工干預競價排名等於具體業務相關的邏輯,不同的業務個性化需求採用外掛程式化的方式進行接入;

第二大塊是初始化模組,主要是對物品進行精選相關的計算,同時管理對新的演算法的支援及模型的儲存。

從圖中看出,推薦一般性的資料處理過程從召回階段到**再到業務重排階段資料量依次減少。

精選階段的資料是**於召回的資料,有可能同時存在幾個或十幾個召回演算法,對不同召回的資料及相關的資源可能儲存在不同的機器上或者資料庫中,所以請求接收點結在接收請求後需要根據配置將不同的處理請求分發到不同的機器上進行計算然後再歸併返回。

3.2.5 近線模組

該層主要是利用流式處理的技術對使用者實時產生的行為日誌進行加工,利用一些高效、高效能的演算法生產有價值的資料,如處理演算法資料召回、實時資料統計等等。

如圖,近線模組-流式日誌資料傳輸分為以下幾個部分:

3.2.6 資源排程管理

如下圖,機器動態劃分分組,可以按業務進行劃分,也可以按照模型資源情況進行劃分。

資源排程管理的作用在於:

在儲存上實現多樣性,根據不同的場景與效能指標採用不同型別的儲存組合,實現業務隔離,根據模型的儲存情況劃分結果,實時調動管理所有分配資料。

localcache:一般用來處理一次請求中訪問資料頻次超高但資料容量不需要太大的資料,如lr模型資料。

mysql、hbase、redis:這三種儲存的選擇一般從效能和各自的特性出發點來- 選擇最合適的,各自都是集群的方式,mysql可以按業務資料進行拆分成不同的集群進行訪問。

3.2.8 離線-機器學習平台

我們的離線-機器學習平台可以呀提供特徵工程、統計、訓練、評估、**和模型發布等功能,覆蓋機器學習全流程,演算法同學可以通過拖拽的方式就能完成模型訓練和評估。

其優勢在於:

3.2.9 監控告警

整個模型和訓練的過程都是處於離線和分布式環境下,監控在整個系統中必不可少。我們的監控告警系統的特點是:

三、魅族推薦平台挑戰和願景

支撐起百億條/每天的日誌進行實時計算,毫秒級別的進行使用者模型更新;

支撐更多的魅族產品線業務;

推薦平台對外開放,能為行業其它的企業提供專業的推薦服務;

深度學習整合。

倪江利 魅族推薦平台的架構演進之路

3.1 第一代架構 上圖展示的是我們的第一代架構,在這個圖里可以看到整個過程比較簡單,可以通過這個一線模型計算,計算以後整個使用者的資料通過這個模型直接寫到庫里。第一代架構存在的問題 這個架構能夠滿足 使用者訪問量在幾十萬或者幾百萬規模的資料處理需求。但是當使用者訪問量呈現大規模增長,問題就暴露出來...

魅族推薦平台架構

做推薦模組的可以看看 閱讀字數 t.cn r9aqnzv 推薦可以提公升整體的系統目標,增加使用者粘性,提高使用者忠誠度,發現長尾。支撐5個以上的大產品線的不同場景的推薦業務需求,保證業務穩定執行,可用性達到99.9 推薦場景當次請求響應在100毫秒以內,一天需要支撐億級別的pv量。針對於每乙個使用...

魅族推薦平台架構解析(三)

近線模組 該層主要是利用流式處理的技術對使用者實時產生的行為日誌進行加工,利用一些高效 高效能的演算法生產有價值的資料 如處理演算法資料召回 實時資料統計等等。如圖,近線模組 流式日誌資料傳輸分為以下幾個部分 資源排程管理 如下圖,機器動態劃分分組,可以按業務進行劃分,也可以按照模型資源情況進行劃分...