近十年,人工智能在越來越多的領域走進和改變著我們的生活,而在互聯網領域,人工智能則得到了更普遍和廣泛的應用。作為淘寶平臺的基石,搜索也一直在打造適合電商平臺的人工智能體系,而每年雙11大促都是驗證智能化進程的試金石。伴隨著一年又一年雙11的考驗,搜索智能化體系逐漸打造成型,已經成為平臺穩定健康發展的核動力。
阿里搜索技術體系目前基本形成了offline、nearline、online三層體系,分工協作,保證電商平臺既能適應日常平穩流量下穩定有效的個性化搜索及推薦,也能夠滿足電商平臺對促銷活動的技術支持,實現在短時高并發流量下的平臺收益大化。搜索的智能化元素注入新一代電商搜索引擎的各個環節,通過批量日志下的offline離線建模,到nearline下增量數據的實時建模,解決了大促環境下的數據轉移機器學習(Data Shift MachineLearning)能力,基本實現了搜索體系從原來單純依靠機器學習模型做高效預測進行流量投放,到從不確定性交互環境中探索目標的在線學習、預測和決策能力進化。
2014年,我們首先實現了特征數據的全面實時化,將實時數據引入搜索的召回和排序中。2015年,我們在探索智能化的道路上邁出了步,引入排序因子在線學習機制,以及基于多臂機學習的排序策略決策模型。2016年在線學習和決策能力進一步升級,實現了排序因子的在線深度學習,和基于強化學習的排序策略決策模型,使得搜索的智能化進化至新的高度。
運用機器學習技術來提升搜索/推薦平臺的流量投放效率是目前各大互聯網公司的主流技術路線,并仍然隨著計算力和數據的規模增長,持續地優化和深入。這里主要集中闡述阿里搜索體系的實時化演進之路,是什么驅動我們推動搜索的智能化體系從離線建模、在線預測向在線學習和決策方向演進呢?概括來說,主要有以下三點。
首先,眾所周知,淘寶搜索具有很強的動態性,寶貝的循環擱置,新賣家加入,賣家新商品的推出,價格的調整,標題的更新,舊商品的下架,換季商品的促銷,寶貝圖片的更新,銷量的變化,賣家等級的提升,等等,都需要搜索引擎在時間捕捉到,并在終的排序環節,把這些變化及時地融入匹配和排序,帶來結果的動態調整。
其次,從2013年起,淘寶搜索就進入千人千面的個性化時代,搜索框背后的查詢邏輯,已經從基于原始Query演變為“Query+用戶上下文+地域+時間”,搜索不僅僅是一個簡單的根據輸入而返回內容的不聰明的“機器”,而是一個能夠自動理解、甚至提前猜測用戶意圖,并能將這種意圖準確地體現在返回結果中的聰明系統,這個系統在面對不同的用戶輸入相同的查詢詞時,能夠根據用戶的差異,展現用戶希望看到的結果。變化是時刻發生的,商品在變化,用戶個體在變化,群體、環境在變化。在搜索的個性化體系中合理地捕捉變化,正是實時個性化要去解決的課題。
后,近幾年電商平臺也完成了從PC時代到移動時代的轉變,隨著移動時代的到來,人機交互的便捷、碎片化使用的普遍性、業務切換的串行化,要求我們的系統能夠對變幻莫測的用戶行為及瞬息萬變的外部環境進行完整的建模。基于監督學習時代的搜索和推薦,缺少有效的探索能力,系統傾向于給消費者推送曾經發生過行為的商品或店鋪。真正的智能化搜索和推薦,需要作為投放引擎的Agent有決策能力,這個決策不是基于單一節點的直接收益,而是當作一個人機交互的過程,將消費者與平臺的互動看成一個馬爾可夫決策過程,運用強化學習框架,建立一個消費者與系統互動的回路系統,而系統的決策建立在大化過程收益基礎上。
1. 2014年雙11,實時之刃初露鋒芒
技術的演進是伴隨解決實際業務問題和痛點發展和進化的。
2014年雙11,通過BI團隊針對往年雙11的數據分析,發現即將售罄的商品仍然獲得了大量流量,剩余庫存無法支撐短時間內的大用戶量。主售款(熱銷SKU)賣完的商品獲得了流量,用戶無法買到商品熱銷的SKU,轉化率低;與之相對,一些在雙11期間展露出來的熱銷商品卻因為歷史成交一般沒有得到足夠的流量。針對以上問題,通過搜索技術團隊自主研發的流式計算引擎Pora,收集預熱期和雙11當天全網用戶的所有點擊、加購、成交行為日志,按商品維度累計相關行為數量,并實時關聯查詢商品庫存信息,提供給算法插件進行實時售罄率和實時轉化率的計算分析,并將計算結果實時更新同步給主搜、商城、店鋪內引擎、天貓推薦平臺、流量直播間等下游業務。次在雙11大促場景下實現了大規模的實時計算影響雙11當天的流量分配。
2014年雙11當天,Pora系統首次經受了雙11巨大流量的洗禮,系統運行可以說是一波三折。10號晚上,Pora系統和算法工程師早早守候在電腦前,等待這場年度大戲的到來。晚上9點,流量開始慢慢上漲,Pora系統負責人毅行盯著監控系統上的QPS逐步上漲,心情是復雜的。有擔心和緊張,害怕系統出問題,但更多的是期待,期待一年的努力能接受一次真正的考驗。隨著時針跨過12點,流量風暴如期而至。Pora QPS飆升到40萬/秒,接近日常QPS的10倍。Pora整體運行還算穩定,但延時增加到30秒,30分鐘后,隨著流量的回落,延時開始下降,暴風雨來得快,去得也快,大家松了一口氣。本以為難的一關都挺過了,后面將一路平坦,但上午9點半,意外來了。9點半突然接到負責引擎的同事的通知,由于Pora更新引擎的消息量太多,造成引擎的增量堆積,無法正常更新了,要我們馬上停止更新。而停止更新將會讓算法實時效果大幅打折,雖然一萬個不愿意,但還是不得不妥協。一停就是3小時,下午13:00重新打開更新,當天累計更新6億條實時增量索引。算法效果上,次讓大家感受到了實時計算的威力,PC端成交金額提升5%,移動端提升7%多。
2. 2015年雙11,雙鏈路實時體系大放異彩
2014年雙11,實時技術在大促場景上實現了商品維度的特征實時,表現不俗。2015年搜索技術和算法團隊繼續推動在線計算的技術升級,基本確立了構筑基于實時計算體系的“在線學習+決策”搜索智能化的演進路線。之前的搜索學習能力是基于批處理的離線機器學習。在每次迭代計算過程中,需要把全部的訓練數據加載到內存中計算。雖然有分布式大規模的機器學習平臺,在某種程度上批處理方法對訓練樣本的數量還是有限制的。在線學習不需要緩存所有數據,以流式的處理方式可以處理任意數量的樣本,做到數據的實時消費。
接下來,我們要明確兩個問題。
問題1:為什么需要在線學習?
回答:在批量學習中,一般會假設樣本獨立服從一個未知的分布,但如果分布變化,模型效果會明顯降低。而在實際業務中,很多情況下,一個模型生效后,樣本的分布會發生大幅變化,因此學到的模型并不能很好地匹配線上數據。實時模型能通過不斷地擬合近的線上數據解決這一問題。因此效果會較離線模型有較大提升,特別是在大促這種實時數據極為豐富的情況下。
問題2:為什么實現秒級的模型更新?
回答:相比離線長期模型,小時級模型和純實時秒級模型的時效性都有大幅提升。但在雙11這種成交爆發力強、變化劇烈的場景下,秒級實時模型時效性的優勢會更加明顯。根據2015年雙11實時成交額情況,前面1小時已經大概完成了總成交的1/3,小時模型就無法很好地捕獲這段時間里面的變化。
我們基于Pora開發了基于Parameter Server的在線學習框架,如圖2所示,實現了在線訓練,開發了基于Pointwise的實時轉化率預估模型,以及基于Pairwise的在線矩陣分解模型。并通過Swift輸送模型到引擎,結合實時特征,實現了特征和模型雙實時的預測能力。
但是,無論是離線訓練還是在線學習,核心能力都是盡可能提高針對單一問題的算法方案的準確度,卻忽視了人機交互的時間性和系統性,從而很難對變幻莫測的用戶行為及瞬息萬變的外部環境進行完整的建模。典型問題是在個性化搜索系統中容易出現反復給消費者展現已經看過的商品。
如何避免系統過度個性化,通過高效的探索來增加結果的豐富性?我們開始探索人工智能技術的另一方向 — 強化學習,運用強化學習技術來實現決策引擎。我們可以把系統和用戶的交互過程當成在時間維度上的“state,action,reward”序列,決策引擎的目標就是優化這個過程。2015年雙11,我們首次嘗試了運用MAB和zero-order優化技術實現多個排序因子的優融合策略,取代以前依靠離線Learning to rank學到的排序融合參數。其結果是顯著的,在雙11當天我們觀察到,通過實時策略尋優,一天中不同時間段的優策略是不同的,這相比于離線學習一套固定的排序權重是一個很大的進步。
2015年雙11雙鏈路實時計算體系如圖3-17所示。雙11當天,在線學習和決策使得成交提升10%以上。
3. 2016年雙11,深度學習+強化學習獨領風騷
2015年雙11,在線學習被證明效果顯著,然而回顧當天觀察到的實時效果,也暴露出一些問題。
2016年雙11,實時計算引擎從istream時代平穩升級到blink/flink時代,實現24小時不間斷、無延遲運轉,機器學習任務從幾個擴大到上百個job。首次實現大規模在線深度學習和強化學習等前沿技術,并取得了非常顯著的業務成果,成交額提升20%以上。
在線學習方面,針對2015年的一些問題,2016年雙11搜索排序借鑒了Google提出的Wide & Deep Learning框架,在此基礎上,結合在線學習,研發了兼備泛化和記憶能力的online large scale wide and deep learning算法。直觀看,它的大優勢是它兼具枚舉類特征的記憶能力和連續值特征及DNN隱層帶來的泛化能力。
針對2015年遺留的兩個問題,我們在2016年雙11中也進行了優化和改進。對于從零點的累積統計信號到后場飽和及統計值離散化缺少合理的抓手的問題,參考Facebook在AD-KDD的工作,在此基礎上,結合在線學習,我們研發了Streaming FTRL stacking on DeltaGBDT模型(分時段GBDT +FTRL),如圖4所示。分時段GBDT模型會持續為實時樣本產出其在雙11當天不同時段的有效特征,并由online FTRL去學習這些時效性特征的相關性。
對于在決策智能化方面欠下的舊賬,我們進行了策略空間的優化探索,分別嘗試了引入Delay Reward的強化學習技術,即在搜索中采用強化學習(Reinforcement Learning)方法對商品排序進行實時調控優化,很好地解決了之前的困惑。
經過三年大促的技術錘煉,圍繞在線人工智能技術的智能框架初具規模,基本形成了在線學習加智能決策的智能搜索系統,為電商平臺實現消費者、賣家、平臺三方利益大化奠定了堅實的基礎。這套具備學習加決策能力的智能系統也讓搜索從一個簡單的找商品的機器,慢慢變成一個會學習、會成長、懂用戶、體貼用戶的“人”。我們有理由相信,隨著智能技術的進一步升級,這個“人”會越來越聰明,實現人工智能的終極目標。
本站文章版權歸原作者及原出處所有 。內容為作者個人觀點, 并不代表本站贊同其觀點和對其真實性負責,本站只提供參考并不構成任何投資及應用建議。本站是一個個人學習交流的平臺,網站上部分文章為轉載,并不用于任何商業目的,我們已經盡可能的對作者和來源進行了通告,但是能力有限或疏忽,造成漏登,請及時聯系我們,我們將根據著作權人的要求,立即更正或者刪除有關內容。本站擁有對此聲明的最終解釋權。