孫玄:轉轉如何打造AI工程架構體系
原創【51CTO.com原創稿件】2018年5月18-19日,由51CTO主辦的全球軟件與運維技術峰會在北京召開。此次峰會圍繞人工智能、大數據、物聯網、區塊鏈等12大核心熱點,匯聚海內外60位一線專家,是一場高端的技術盛宴,也是***IT技術人才學習和人脈拓展不容錯過的平臺。
在“容器下的AIOps”分會場,轉轉公司***架構師/架構算法部負責人孫玄做了主題為《轉轉如何打造AI工程架構體系》的精彩演講。演講核心內容涉及轉轉AI工程體系中,推薦與搜索架構、召回與排序算法的演進。
基于微服務架構的轉轉二手交易平臺
“一個幫你賺錢的網站”是轉轉二手交易平臺的定位,主要解決從買買買到賣賣賣的問題。在共享經濟的情況下,大家可以把閑置的手機、電腦等物品,通過轉轉二手交易平臺賣出去,賺一些零花錢。轉轉二手交易平臺整體架構設計采用微服務架構,于2015年11月12號發布。
圖1 轉轉總體微服務架構圖
如圖1所示,可以直觀的看到整個架構從左到右進行了垂直拆分,又對從上到下進行了水平分層。架構還設有網關、業務邏輯層、數據訪問層、數據存儲層、注冊中心和配置中心等部分。基于轉轉總體的微服務架構,孫玄又針對推薦與搜索這兩大架構的演進做了詳盡的闡述。
推薦架構的演進
轉轉二手交易平臺的推薦場景分為用戶和商品兩個維度。用戶進入首頁后看到的“看推薦和逛附近”兩個板塊以及點擊分類之后看到的“為你推薦”板塊,這三部分屬于用戶維度。“相似商品“推薦板塊屬于商品維度。
圖2 用戶維度和商品維度場景推薦
這些推薦場景背后的技術架構是如何打造的呢?接下來,讓我們來看看轉轉二手交易平臺推薦架構的演進。
轉轉二手交易平臺推薦架構的演進可分為“石器時代”、“鐵器時代”和“工業革命時代”三大階段。
石器時代
推薦架構最開始0到1的過程,稱之為石器時代,如圖3所示。
圖3 “石器時代”架構圖
在“石器時代”所有的用戶進入首頁,都會看到同樣的推薦內容。用戶請求通過轉轉APP統一網關接入到推薦業務邏輯層進行一系列操作:如參數驗證,拼裝搜索請求參數等,最終訪問搜索引擎。搜索引擎會進行召回和排序,并把結果返回給推薦業務邏輯層,業務邏輯層進行結果過濾、去重打散、渲染返回結果到APP客戶端。
總結來說,“石器時代”的特點有全局推薦、無個性化、召回源單一、基于人工規則排序以及不支持線上ABTest等。
鐵器時代
在“鐵器時代”首要解決的問題就是個性化推薦,如圖4所示為此階段的架構圖。
圖4 “鐵器時代”架構圖
“鐵器時代”整個架構***的變化在于物理分離推薦排序層和召回層。召回層,“鐵器時代”做了很多和個性化推薦相關的事情,如計算用戶商品特征、計算商品相似度和用戶實時畫像等等。總結來說,“石器時代”的特點是,***引入了個性化召回源,第二記錄了推薦來源血統,第三為用戶的行為流程做了反饋,第四支持了ABTest分組實驗。
工業革命時代
歷經了兩個時代之后,推薦系統的排序結果依然不是很理想,主要是因為排序層僅僅做了分層排序,并沒有把多個召回源進行融合排序。“工業革命時代”的核心是實時化+機器學習驅動。
圖5 “工業革命時代”架構圖
如圖5所示,在“工業革命時代”推薦排序層發生了較大變化,引入了統一的機器學習排序模型。如果要引入機器學習排序模型來排序,就需要一些基礎設施支持,所以“工業革命時代”增加了推薦統一召回服務層,涉及統一召回服務和統一特征服務。
“工業革命時代”的推薦架構做到了特征、模型的實時化,秒級捕捉到用戶對商品變化再針對性推薦商品,進而提升轉化率。除此之外,架構內部做到了組件化,可以自定義DSL和靈活編排組件。
未來,推薦架構將實現全面流水線化(如圖6),一鍵完成模型訓練、模型上線,實現復雜模型持續集成、快速迭代,從而大大提升生產效率。
圖6 轉轉推薦架構流水線圖
搜索架構演進
轉轉二手交易平臺的搜索場景分為分類搜索和關鍵詞搜索,如圖7所示。
圖7 分類搜索和關鍵詞搜索
在轉轉二手交易平臺中,搜索架構的演進分為三個階段:規則、機器學習模型和平臺化。
規則階段
搜索架構的***階段是人工規則排序,如圖8為規則階段架構圖。
圖8 規則階段架構圖
規則階段由搜索邏輯層進行請求參數處理,搜索訪問代理層進行參數解析之后,進而訪問搜索集群。搜索集群承擔召回和排序兩階段。
規則階段,所有的召回、排序規則都由人工來定,主觀調參調權,并且不支持線上ABTest。最終線上搜索效果也是無法有效評估。
機器學習模型階段
這些階段,搜索架構主要引入了機器學習模型。如圖9所示為機器學習模型階段架構圖。
圖9 模型階段架構圖
模型階段,最主要特點是機器學習化,不僅召回過程中采用了機器學習模型,在排序階段,大規模采用機器學習模型。由簡單模型進行召回粗排,復雜機器學習模型進行細排。此階段還做到了Query預分析、ABTest分組實驗和用戶行為數據反饋等。
平臺化階段
搜索通常是一個中臺的作用,很多業務線都會用到搜索功能,故搜索架構要實現平臺化,如圖10所示為平臺化階段架構圖。
圖10 平臺化階段架構圖
平臺化階段***的變化是Query改寫、召回、預測、ABTest等功能服務化,在平臺化之后,還要做到服務通用化。
未來,搜索架構致力成為大中臺,通過云搜索引擎實現業務一鍵接入(如圖11)。
圖11 轉轉云搜索引擎架構圖
算法演進
孫玄表示, 算法是為了解決召回和排序這兩大問題,無論推薦、還是搜索場景均一樣。
召回算法演進,可分為非個性化召回、基于興趣召回、基于商品的協同過濾(Item-Based CF)和基于用戶的協同過濾(User-Based CF)。排序算法演進,可分為基于人工規則、邏輯回歸模型、GBDT+LR、Deep&Wide和FTRL。
算法未來演進將實時化和模型化。實時化方面,是針對特征的獲取和模型的變更而言。模型化方面,是針對召回層和排序層模型的復雜度而言,未來模型越來越復雜,對工程架構帶來的挑戰也會越大。
電商AI體系未來
關于電商AI體系未來到底應該如何演進的問題,孫玄表示,本質還是解決好商品的匹配(召回問題)和排序(如圖12)。排序方面,排序集相對少,架構挑戰不大。匹配方面,涉及到海量商品候選集的問題,架構挑戰較大。
圖12 電商AI體系架構圖
圖13 電商AI體系提升質架構圖
圖14電商AI體系擴大量架構圖
商品匹配問題如何解決?孫玄表示,從兩方面著手:一方面是提升質(如圖13),通過在召回層應用更加復雜的深度學習模型,提升商品召回的準確度;另一方面是擴大量(如圖14),擴大匹配商品候選集,盡可能匹配出近全量的商品數據。
以上內容是編輯根據孫玄在WOT2018全球軟件與運維技術峰會的演講內容整理,更多關于WOT的內容請關注51cto.com。
【51CTO原創稿件,合作站點轉載請注明原文作者和出處為51CTO.com】