國際頂會OSDI首度收錄淘寶系統論文,端雲協同智慧獲大會主旨演講推薦

大淘寶技術 發表於 2022-07-18
大淘寶技術團隊論文入選計算機系統領域頂級國際學術會議OSDI,這是淘寶系統論文首次入選該國際頂會,論文詳解了阿里歷經四年、自主研發的首個端到端、通用型、規模化產業應用的端雲協同機器學習系統“瓦力”——Walle。OSDI特別邀請到的David Tennenhouse在大會主旨演講中專門推薦了Walle系統,對其技術先進性和應用落地效果讚譽有加。目前,Walle作為阿里機器學習的基礎設施支援 30+APP上 的300+個演算法任務。

OSDI 會議

USENIX OSDI(Operating Systems Design and Implementation)是計算機系統領域最頂級的國際學術會議之一,被譽為作業系統領域的奧斯卡,擁有極高的學術地位和影響力,彙集了全球學術界和產業界系統領域專業人士的前沿思考和突破性成果。今年OSDI大會特別邀請了David Tennenhouse作主旨演講,他是IEEE Fellow,曾擔任Intel、Amazon/http://A9.com、Microsoft、VMware等公司研究院和DARPA的首席/主管,也曾任教於MIT。David Tennenhouse在主旨演講中專門推薦了Walle系統,並在Walle talk的前後通過郵件和Slack等方式主動與作者們進行了交流。
圖片

Walle 系統命名由來

Walle(瓦力)來源於2008年電影“機器人總動員 WALL-E ”。在電影中,WALL-E 機器人負責對地球垃圾進行清理,變廢為寶。Walle的架構者也秉持類似的初衷,希望所設計和搭建的端雲協同機器學習系統能夠像 WALL-E 機器人一樣,有效利用數以十億計移動端裝置上的使用者資料,充分釋放其被忽視的價值,為使用者提供更好的智慧服務。

Walle 系統設計哲學

圖片
圖1: 機器學習任務開發者視角中的Walle工作流程
為了打破主流基於雲伺服器的機器學習框架延時高、開銷成本大、伺服器負載高、隱私安全風險高等瓶頸,Walle採用了端雲協同機器學習新正規化,以充分發揮移動端裝置貼近使用者和資料的天然優勢,實現端雲優勢互補。不同於端雲協同學習已有工作(主要在演算法層面,並針對特定應用場景中特定的機器學習推理或訓練任務),Walle是首個端到端、通用型、規模化產業應用的端雲協同機器學習系統。Walle支援機器學習任務在任意階段(前處理、模型訓練與推理、後處理)在端和雲之間交換任意必要的資訊(例如資料、特徵、樣本、模型、模型更新、中間結果等)協同完成任務。Walle遵循端到端的架構設計,面向機器學習任務,從開發者視角出發,覆蓋了機器學習任務的研發期、部署期和執行時,並支援端側和雲側執行時的每個階段。此外,Walle還遵循通用型的系統設計,而非整合大量面向特定應用、特定平臺的定製方案。Walle向下磨平了端雲裝置軟硬體的差異性並保證移動APP的輕量化,向上則支撐了多種型別機器學習任務的大規模產業化應用。

Walle 系統架構

圖片
圖2: Walle 的整體架構Walle
主要包含以下三個核心系統模組:

  1. 部署平臺,管理大規模的機器學習任務並及時部署到億級裝置上;
  2. 資料管道,主要涉及機器學習任務的前處理階段,為端側和雲側提供任務輸入;
  3. 計算容器,提供跨平臺、高效能的機器學習任務執行環境,同時滿足機器學習任務天級迭代的實際需求。
    具體來說,
  4. 計算容器底層是 MNN 深度學習框架,包含高效能的張量計算引擎和標準資料處理與模型執行庫,並通過改造的 Python 執行緒級虛擬機器對外統一透出介面,以支援多種機器學習任務的全鏈路執行和多工的並行。MNN 的核心技術創新點是幾何計算和半自動搜尋這兩個新機制,其中幾何計算主要通過形變運算元的拆解,極大地降低了為十多種硬體後端手工優化上百個運算元的工作量,而半自動搜尋機制則進一步實現了在執行時快速搜尋計算圖的最優可用後端和執行方案。Python 執行緒級虛擬機器則捨棄了 Global Interpreter Lock(GIL)並首次支援了多工多執行緒的並行,進一步面向移動APP的實際業務需求,通過裁剪與改造首次移植到端上;
  5. 資料管道引入了全新的端側流處理框架,遵循“單臺資源受限移動端裝置上針對無限資料流的有狀態計算”這一基本原則,使得使用者行為資料在近資料來源處能夠被高效處理,同時設計了基於字典樹的任務觸發管理機制,實現了端側多個相關流處理任務的批量觸發執行。另外,在端雲之間搭建了實時傳輸通道,以支援資料百毫秒級的上傳下達;
  6. 部署平臺通過git機制實現細粒度的任務管理,並採用推拉結合、多批次任務釋出的方式保證實效性和穩定性,同時支援統一和定製化的多粒度任務部署策略。

    典型實際應用中的系統效能

圖片
圖3: 電商直播場景下端雲協同看點識別流程
在淘寶直播場景中,智慧看點任務是指通過機器學習方法自動地定位出主播介紹講解商品看點(即商品對買家有吸引力的資訊)的時間點,從而提升使用者體驗。相比較於以前的純雲智慧看點任務鏈路,引入Walle後的新端雲協同鏈路,將平均生產每看點的雲側負載降低了 87%,將智慧看點覆蓋的主播數量提升了123%,並將單位雲算力產出的看點量提升了 74%。真機測試顯示,在華為 P50 Pro上平均每次看點任務的總耗時為130.97 ms,而在 iPhone 11 上的耗時為90.42 ms。上述結果凸顯了及端雲協同學習框架的實用性以及Walle計算容器的高效能。
圖片
圖4: 電商推薦場景下基於Walle資料管道的IPV特徵生產流程
在電商推薦場景中,商品頁面瀏覽(Item Page-View, IPV)特徵主要記錄了使用者在某個特定商品的詳情頁上的行為(例如收藏、加購物車、購買下單等),該特徵對於推薦模型起著十分重要的作用。雲側原有的 IPV 特徵生產鏈路,產出一條特徵的平均延遲為33.73 秒,同時消耗了大量的計算、通訊、儲存資源,並存在0.7%的錯誤率。相比之下,Walle全新的資料管道可以在端側完成IPV特徵生產過程,平均端側延遲僅為44.16毫秒,同時削減了超過90%的資料量,並保證了特徵的正確性。這些結果表明:相較於主流基於雲的資料管道,Walle新資料管道大幅提升了特徵生產和消費的時效性、高效性和正確性。
圖片
圖5: 某個線上隨機挑選的機器學習任務的部署過程
為了測試Walle部署平臺的時效性和規模化,隨機挑選了一個線上的機器學習任務,並監控了其部署到目標裝置群體的整個流程。在保證任務穩定性的前提下,Walle部署平臺成功覆蓋線上的700萬移動端裝置需要7分鐘,而覆蓋所有的2200萬裝置需要22分鐘。

核心模組的Benchmark測試結果

圖片
圖6: MNN vs. TensorFlow (Lite), PyTorch (Mobile)
在Android和iOS移動端裝置以及Linux伺服器的主流硬體後端上對MNN與TensorFlow (Lite)和PyTorch (Mobile)進行了對比測試。測試採用了視覺、自然語言理解、推薦領域中常用的7個模型。結果表明:MNN幾乎在所有測試樣例中的效能都超過其他的深度學習框架。除了高效能之外,MNN還能夠支援所有移動端硬體後端上每個模型的執行,而TensorFlow Lite和PyTorch Mobile則無法支援某些硬體後端或模型,因此MNN的通用性更好。
圖片

圖片
圖7: MNN vs. TVM
此外還進行了MNN和TVM的對比測試,其中TVM自動調優和編譯的主機是MacBook Pro 2019和NVIDIA GeForce RTX 2080 Ti。一方面,TVM的自動調優和編譯大約耗時幾千秒,而MNN在執行時的半自動搜尋僅需要幾百毫秒。進一步結合MNN和TVM在設計和實際部署上的區別(尤其是TVM在iOS裝置上模型動態部署能力欠缺,詳見PPT和論文),可以得出:MNN能夠支援涉及大規模異構硬體後端並需要任務頻繁快速迭代的產業界場景,而TVM則不可行。另一方面,在每個硬體後端上每個模型的推理時間方面,MNN也低於TVM,尤其是在GPU伺服器上,這主要由於MNN中手工運算元優化。
圖片
圖8:Python執行緒級虛擬機器 vs. CPython(基於線上3000萬次機器學習任務執行的統計分析)
最後還對Python執行緒級虛擬機器和CPython進行了效能對比測試。結果表明:在涉及不同計算量的3種任務型別上,Python執行緒級虛擬機器效能大幅提升,主要原因在於解除了GIL並支援任務級的多執行緒併發。

業務落地情況

目前,Walle作為阿里巴巴集團機器學習的基礎設施,每天被呼叫超過千億次,支援著 30 多個移動 APP(包括手機淘寶、餓了麼、速賣通、菜鳥裹裹等)上 300 多個視覺、推薦等任務。此外,MNN已在GitHub開源,目前獲得 6.8k stars和 1.4k forks,同時入選了 2021 年“科創中國”開源創新榜單,並已在 10 多個其他公司商業化應用。

論文作者及引用資訊

Chengfei Lv, Chaoyue Niu, Renjie Gu, Xiaotang Jiang, Zhaode Wang, Bin Liu, Ziqi Wu, Qiulin Yao, Congyu Huang, Panos Huang, Tao Huang, Hui Shu, Jinde Song, Bin zou, Peng Lan, Guohuan Xu, Fei Wu, Shaojie Tang, Fan Wu, and Guihai Chen, Walle: An End-to-End, General-Purpose, and Large-Scale Production System for Device-Cloud Collaborative Machine Learning, in Proceedings of the 16th USENIX Symposium on Operating Systems Design and Implementation (OSDI), Pages 249-265, Carlsbad, CA, USA, Jul. 11 - 13, 2022. https://www.usenix.org/confer...

論文相關資料

OSDI 2022- Walle論文演講slides、paper全文資料下載:https://files.alicdn.com/tpss...