阿里本地生活端智慧架構設計與技術探索

語言: CN / TW / HK

作者:邱燦清(白離)

2018 年 10 月 12 日,阿里巴巴集團宣佈正式成立阿里巴巴本地生活服務公司,餓了麼和口碑會師合併組成國內領先的本地生活服務平臺,使命是“重新定義城市生活,讓生活更美好”;口碑專注到店消費服務,餓了麼專注到家生活服務,蜂鳥即配專注即時配送服務,客如雲專注為商家提供數字化升級的產品和服務,共同推動本地生活市場的數字化,讓天下沒有難做的生意。

本地生活是阿里巴巴非常重要的業務版圖,本文基於阿里巴巴本地生活餓了麼APP的業務開發場景,闡述在餓了麼APP的業務發展過程中,針對實際的業務場景,通過技術結合業務,是如何發揮端智慧在端側計算決策優勢的。

端智慧概念

背景

端智慧簡單說就是在端側做機器學習或者深度學習模型的推理執行及上層應用,得益於目前手機等硬體裝置的發展,強勁的CPU和GPU能夠在客戶端支援部分高等運算操作(在效能要求下可以犧牲精度),可以將計算工作保留在客戶端上進行,從而避免資料上行頻寬開銷和網路延遲等問題。

智慧不管是在雲端還是說在終端,解決的問題都是一致的,如何通過將大量資料作為輸入源,調整演算法策略進行不斷學習,推理出最終或者最合適的結論;那麼端智慧就是把智慧在端側進行實現,能夠將演算法資料的智慧進行工程標準化,結合具體的業務場景,在端側,通過端上實時採集用行為資訊、裝置資訊,執行人工智慧、機器學習等端上演算法進行實時反饋,調整演算法、運營、產品策略來提高使用者的購買、體驗等業務技術指標。

特性

相比雲側智慧,端智慧具有低延時、保護資料隱私、節省雲端計算資源等顯著優勢,具體細分點如下:

趨勢

最近兩年,端智慧是各大網際網路公司熱門的研發方向,大家在日常生活中已經用到了很多端智慧應用,比如手機上拍照的 AI 攝像,人臉解鎖 FaceID ,以及短視訊 App 中各種 AR 特效等;在阿里巴巴內部,也已經有了很多的業務探索,像手機淘寶的拍立淘、AR試妝、商品推薦等都是端智慧與業務有效結合的典型代表。

作為阿里巴巴商業版圖的一部分,本地生活自然不能缺席,基於前序對於端智慧相關概念的一些簡單介紹,下面針對本地生活的場景來一一闡述。

本地生活場景

業務屬性

據可靠資料,本地生活服務整體規模粗略估算約20萬億左右,是個非常龐大的市場,但這個市場的數字化滲透率還比較低,大約只有10%-15%。本地生活的行業屬性與傳統電商有非常大的區別,本地化與實時性是本地生活服務的顯著特徵。從本質上來講,本地生活其實是一個服務行業,在服務行業裡手藝的差別非常大,同時本地生活裡有非常多的細分類目,造成本地生活的服務是一個非標準的產品,正好和傳統電商的標品化、商品易數字化的特徵有鮮明對比。

餓了麼在阿里巴巴本地生活領域專注於到家服務,使用者端側的智慧化,是將需求側與供給側更好的進行匹配的必經之路。基於到家服務的業務屬性,使用者做出決策的時間很短,基本上高峰期都是在中午和晚上的用餐時間段,在有限的時間段內,如何分析使用者當前的需求,並將使用者此刻的需求與我們的供給更好的匹配上,端智慧在這個領域可以發揮很好的作用。

技術架構

本地生活端側包含餓了麼、口碑、蜂鳥、商家版、軒轅等多個APP,在不同的APP上會有不同的端智慧的應用場景;基於本地生活技術架構的一致性,我們抽象了一層本地生活的端智慧適配層,基於本地生活的業務屬性做了定製化開發,同時結合集團內豐富的中介軟體與平臺,快速的進行端智慧相關應用的迭代開發。

目前本地生活端智慧技術架構如下:

基於通用的集團中介軟體與端智慧SDK,抽象了端基礎與端智慧基礎兩塊,其中端基礎包含了業務埋點庫UT、開關配置Orange、高速資料傳輸Highway、實時監控Answer、資料庫操作SQL、網路庫Mtop等,端智慧基礎包含了深度學習端側推理引擎MNN、端側的使用者行為資料BehaviX、端智慧的執行環境Walle等。

針對本地生活的技術特性與業務特性,設計了本地生活的適配層ALSCAdapter,在適配層裡面,我們新增了很多業務需要的特性,比如應用的生命週期、自動化埋點等,同時結合本地生活的監控體系打造端智慧的實時監控體系。針對不同業務進行了API的開放,為了解決開發、除錯、測試效率低的問題,我們開發了本地生活側的端側Debug平臺,同時與集團的MNN工作臺共建,提高演算法、測試同學的效率。

技術探索

基於本地生活統一的端智慧技術架構,在業務上我們能夠更好、更快的進行開發迭代,也幫助本地生活內的其他APP能夠快速接入上手。在餓了麼APP上我們主要在使用者特徵、智慧推薦、智慧觸達等幾個領域做了一些技術探索,也取得了一定的業務效果,下面逐個進行介紹。

使用者特徵

更豐富更實時的使用者特徵是演算法決策提高準確性的關鍵,基於端智慧的能力,將使用者的關鍵行為資料儲存到端上,比如使用者的進退端資料、進退店資料、加購下單資料、瀏覽行為資料等等,在端側可以採集到非常豐富的元資料。

基於元資料,實時提取使用者行為動線特徵,實時維護使用者最新的行為特徵,迴流igraph後延遲在2s左右,使雲端的演算法模型能夠提前獲取到使用者的行為特徵,同時將特徵資料本地持久化,其它端模型也能夠直接在端上獲取相關特徵資料,做到一次提取,多方使用。為了規範流程,我們指定了端特徵的生產規則,對端上特徵資料表進行功能劃分,提高了獲取本地特徵的效率。

目前端上特徵提取使用的整體流程如下:

通過不斷擴充套件特徵的種類,建立端上特徵中心,為後續端側模型計算與雲端模型提升提供特徵元資料,讓業務演算法關注在業務細節的實現,不用各個業務分別提取各自的特徵,節省開發時間也能夠避免造成端上的資源浪費。

智慧推薦

搜尋推薦是端智慧能夠發揮重要作用的業務領域,對於推薦feeds流,由於分頁載入的原因,一頁資料有20-30個店鋪資料,演算法能夠干預的時機很少,並且每次干預只能在使用者瀏覽到下一頁,客戶端觸發翻頁請求的時候雲端推薦演算法才能對召回結果做出干預決策,整體的流程非常長,使用者->客戶端->工程->演算法,演算法決策依賴的資料迴流鏈路延遲在分鐘級,完全無法滿足實時推薦的需求,推薦出來的結果可能與使用者前序行為沒有太大的關聯。

在餓了麼APP裡,由於使用者的使用時長並沒有很長,所以需要在使用者瀏覽feeds時,演算法能夠進行多次決策,給出使用者的最優解。

基於端智慧的推薦重排方案,可以針對使用者未瀏覽的店鋪進行策略重排,根據使用者的前序行為進行加權調整,業務呈現上不會干擾到使用者的使用,並且提供了多個觸點來給演算法做觸發,使得端上演算法模型能夠進行實時干預,達成演算法目標;整體推薦重排的邏輯如下:

與演算法約定重排觸發的時機,剔除一些邊界觸發比如待重排數量少等,演算法模型使用雲上特徵和端上特徵一起做決策,通過不同業務目標的模型進行AB實驗,比如gmv目標、ipv目標等;目前在餓了麼首頁推薦feeds和美食頻道feeds裡都有應用,取得了不錯的業務效果;同時,為了擴充候選池的數量,給端上演算法更多的決策空間,我們還做了端智慧重新整理,來及時補充店鋪候選池;互動式推薦,智慧風向標也已經在規劃開發中了。

智慧觸達

在使用者增長的領域,如何高效、準確的觸達到使用者是使用者增長達成的關鍵,無論是端內還是端外,push是能夠觸達使用者最多的渠道。在智慧觸達還沒有提出時,運營能夠配置給到使用者的只有批量push、圈人push,這種方式配置的push過於死板,導致整體push的點選率非常低,並且會很多使用者造成打擾,加大了使用者關閉push許可權的機率。運營同學需要更準確的時機,更豐富的觸達方式,來達成業務目標。

基於端智慧的智慧觸達,通過部署端模型在客戶端,通過業務規則與運營配置智慧識別可能是使用者行為拐點的觸點,結合端雲特徵,與push中心互動,雲端演算法賽馬機制獲取最優push配置,最終觸達使用者。基於端內的智慧觸達,由於識別了使用者的行為拐點,所以此時出現的push大概率不會對使用者造成打擾,反而會成為促進使用者下單轉化的助手。基於端外的智慧觸達,主要做了採集使用者端內行為進退端特徵,做實時上報,識別使用者退端意圖做退端召回。整體的智慧觸達方案如下:

通過智慧觸點的生產,運營同學有了更多更優良的可觸達使用者的時機,結合運營平臺進行定製化的配置,就可以產生千人千面的觸達效果。通過智慧觸達的上線,端內push的點選率得到了很大的提升,退端召回也有非常好的使用者留存效果,幫助業務運營達成使用者增長的目標。

其他業務

除了上述的業務技術探索以外,我們還做了其他端智慧的嘗試,比如蜂鳥的藍色風暴專案,通過開展端上預識別專案,幫助騎手提高拍照體驗,在騎手抽檢流程中節省了騎手的操作時間,同時也縮減了人工稽核的成本,提升了餓了麼的服務質量和品牌形象,確保送餐過程中的安全性及品牌形象。

未來展望

在未來移動裝置效能不斷強化,網路基礎設施不斷完善的大環境下,端智慧可發揮的空間會越來越大,在本地生活領域,持續推進搜尋推薦實時化與運營智慧化是未來端技術開發前進的方向,在此感謝集團端智慧技術團隊給予的支援與幫助,也感謝本地生活產品技術演算法等各個關聯方的密切配合,讓端智慧在本地生活場景上不斷開花。

未來,我們還需要將端智慧的能力更好的沉澱為基礎設施,幫助各個業務快速接入,讓演算法的實驗更加靈活,資料回收更加快速,以及不斷探索更多新的業務場景,道阻且長,需要更多願意投身本地生活領域的同道中人,一起努力一起成長,一起用技術助力業務發光發亮!(ps:歡迎對本地生活有興趣的有識之士加入,簡歷可發 [email protected]

關注【阿里巴巴移動技術】微信公眾號,每週 3 篇移動技術實踐&乾貨給你思考!