閒魚做爲一個電商場景的app,最豐富的部分就是做爲商品寶貝瀏覽承載的feeds,好比首頁下面的寶貝信息流,搜索結果頁以及詳情頁下面的猜你喜歡,這些feeds場景都少不了推薦算法在背後的支撐。算法
傳統的推薦算法是依託於雲上沉澱的埋點數據來。隨着4G網絡資費的降低,產生了愈來愈多的數據,若是將如此大量的數據都上傳到運算,而且由雲端來作中心化的存儲/計算和處理,不只會產生大量無必要的網絡流量,並且還會給雲端帶來高昂的存儲成本,實時性也沒法保證。後端
咱們觀察到隨着手機計算能力的提高,某些計算能夠在端上直接計算,再統一上報到後端,這樣相比雲計算有不少明顯的優點:網絡
一、更加實時性:咱們能夠在端上完成原始特徵的處理和實時打分,從原始特徵的抽取到計算結果的上報完成,能夠在1s左右完成。app
二、計算資源的節約:大量數據若是都聚集到雲端上計算,可能會形成計算資源的不足,咱們能夠將計算量分散到各個端上,能夠下降計算資源開銷。雲計算
三、多維度數據採集:一些相似於細粒度的行爲數據、採集頻率太高的數據或者涉及用戶隱私的數據等,能夠在端上直接消費掉而不須要上傳。spa
馬里奧是閒魚首頁的一個創新形式的業務,其業務邏輯是:用戶在閒魚首頁feeds部分點擊來一個寶貝卡片,那麼同時就會請求雲端,根據後端算法拉取回來算法召回的query詞和對應的推薦寶貝信息,以四個方塊的形式展現在一個張卡片中,這樣來給用戶點擊以後,跳到二級承接頁面來給用戶推薦更相關的寶貝,來達到提高首頁feeds部分點擊率和成交的效果。blog
效果圖:資源
初始版本流程圖:部署
初始上線以後,咱們統計馬里奧卡片一跳和二跳的ctr,發現並比不上普通的寶貝,那麼問題出在了哪裏呢?get
閒魚上天天都會誕生數以億計的商品點擊,這裏有個很天然的問題:用戶對他的此次商品點擊滿意嗎?考慮兩個簡單的例子:
1)用戶點擊商品後,在詳情頁面上停留時間很短,那麼咱們能夠認爲這多是次誤點擊。
2)用戶點擊商品後,他在這個詳情頁面上有不少的行爲,好比他可能查看了產品參數、商品的顏色尺碼、或者又點擊了該商品的所有評價,最後還經過和賣家進行了聊天,那麼咱們就認爲這多是次真實意願的點擊,或者說他對此次點擊滿意度分很高。
那麼很天然的,咱們推測,只有在滿意度較高的狀況下,咱們去作關聯推薦纔是有意義和有價值的,不然若是用戶誤點擊的狀況,咱們也去推薦,只會拔苗助長,對此咱們進行了解法的嘗試。
在這個場景下,須要在用戶點擊進入寶貝詳情,而後離開詳情頁的時候,就須要給出用戶對該寶貝的意向,只有知足某個閾值的狀況,才應該出現馬里奧卡片。這種場景下,若是使用傳統的雲端算法,把數據都收集好,再計算出結果,再返回到端上,這時候極可能插入卡片的時機早就過去了,無法抓到用戶這個關鍵點。由於用戶在瀏覽詳情頁的過程當中,全部的點擊和曝光都是在端上實時產生的,極可能在最後一刻退出頁面以前,用戶都在一直產生有價值的動做,這時候不斷的往雲端回傳數據再計算,顯然是不可行的方案。
當用戶在閒魚Feeds頁點擊推薦商品(如上面左圖的汽車玩具商品)後,進行觸發並展示馬里奧(如上面左圖虛線紅框所示),引導用戶進行搜索並進行更多商品點擊和下單。不一樣於Feeds裏通常的推薦項,馬里奧的每一次觸發實際上是存在觸發成本的。一個顯然的成本是馬里奧的觸發會擠佔後續商品的展示。若是用戶每一次詳情頁點擊後都觸發馬里奧,那麼就會有大量的馬里奧被展示,並擠佔相應的Feeds坑位。當馬里奧點擊率相比Feeds太低的時候,將影響總體Feeds的展示效率及用戶體驗。
解法流程圖:
於是在推薦流和搜索結果流中,觸發型展示一個顯而易見的成本是,當前觸發的內容展示會壓縮後續推薦的內容展示。從更高效的流量分發角度來看,對這類展示的控制是有必要性的。
不一樣於此前純雲端的觸發展示,雲端此前更多作內容側的控制,基於用戶與內容的匹配程度去決策是否展示以及展示什麼。而端側用戶更加實時、更加詳細、更加細粒度的行爲,更偏好與刻畫用戶交互習慣以及對當前觸發模塊的需求。
爲此,咱們提出了智能展示模型,經過用戶在端側的細粒度交互行爲建模用戶對觸發模塊的實時偏好,將原始的觸發展示模塊解藕爲兩部分:
一、CTR(端):端側作展示控制:基於用戶當下細粒度交互行爲及交互習慣決定是否請求(展示)相關模塊
二、CTR(雲):雲側作內容控制:決定展示的相關內容
因此咱們最終採用端計算和雲計算結合的方案,全部依賴數據都實時在端上產生,並且計算處理數據的過程也在端上,藉助於集團提供的端計算容器,咱們能夠很方便的把模型部署到端上並運行它獲得咱們用戶點擊以後對點擊寶貝的滿意度的數值。
新的馬里奧方案,對整個鏈路和現有體系是最小侵入,也讓總體更加簡潔。閒魚馬里奧項目上,智能展示模型在保證94.4%的馬里奧點擊量和96%的二跳點擊量下,馬里奧服務端請求量減小了-28.0%,點擊率提高+31.1%,成交率增加了10%。
本文爲雲棲社區原創內容,未經容許不得轉載。