螞蟻端智能技術體系概覽

本文是支付寶體驗科技沙龍第 3 期 - 走進螞蟻端智能技術回顧系列文章,螞蟻集團客戶端工程師問墨介紹了端智能的優勢,在螞蟻的發展歷史、應用場景、技術能力以及未來展望。

 1. 端智能背景

什麼是端智能

拋開復雜的技術概念,用一句話簡單表達,我覺得就是讓端具備思考決策能力。移動互聯網時代,常見的業務模式是端負責內容呈現,雲端進行推薦決策,作爲客戶端開發,更專注於渲染互動、跨平臺、動態化等移動端技術。而端智能則是利用端側的硬件資源,進行實時感知、計算、決策和干預,通過讓端具備機器學習能力,帶來用戶體驗與業務效果的提升。涉及到的技術包括端側數據挖掘,端側特徵計算,端側樣本計算,端側推理計算,端側學習訓練,端雲協同提效等。

爲啥要用端智能

涉及到端智能相關的文章都避免不了要說一說這塊,不免俗,這裏還是要提一下的。從端的特點來看,由於其具有天然的分佈式且能實時感知用戶的操作和時空行爲,在端上進行 AI 方案的部署執行,在實時性、個性化、雲端資源消耗和安全隱私上有明顯的優勢。比如,在端上進行實時決策,我們能對用戶的操作進行 ms 級的響應,同時不受網絡環境的影響,這就能很好的提升弱網環境下的用戶體驗。對於很多 app,在大促活動中受限於服務器資源容量,會對部分功能進行降級,而把這部分功能涉及到的計算資源放到端側,就能很好的解決此類問題。

端智能應用挑戰

這麼看端智能還是一個不錯的技術領域,那爲啥它沒像雲側智能那樣快速普及和發展呢?拋開應用場景、人員投入等因素,單看技術落地本身,端智能技術相對於雲智能技術還面臨着特定的挑戰:

此外,端智能與雲智能本身就不是割裂的技術體系,不是非此即彼,而是相輔相成、互爲補充。隨着 AI 技術的深入發展,如何讓兩者更好的協同,將是未來更大的挑戰。

 2. 螞蟻端智能發展與應用

螞蟻端智能在業界發展較早,在 2017 年 “掃福” 活動中,就提出了在端側進行 CV 能力的訴求,當年 8 月我們上線了端側深度學習推理引擎 xNN,隨後在新春掃五福、證件夾、生物識別、保險、掃一掃 & AR 等 CV 類場景取得了不錯的進展,同時推動了掃一掃、生物識別引擎、多媒體引擎的落地。

時間來到 2019 年,隨着搜索推薦、安全風控、體驗優化等場景對端側智能新的訴求,即基於端側實時、豐富的數據進行智能的決策,這一階段對於端側計算調度、模型訓練以及端到端工程能力提出了新的挑戰,在技術能力上我們重點建設了端數據實時計算、端特徵引擎、端決策引擎、端訓練組件等,並通過端智能容器與研發平臺,給算法提供完善的工程支撐。

從技術的發展脈絡來看,螞蟻端智能的應用場景主要有 2 個方向:認知智能與數據智能

認知智能,比如傳統的身份證、銀行卡、人臉識別以及近些年短視頻領域興起的視覺互動技術,這個方向主要涉及圖像視覺類算法,通過端視覺技術在準確性、時效性與穩定性上的優勢,能很好的提升產品體驗同時降低業務成本。

數據智能方向,基於業務的特點往往有不同的落地形式,比如 feeds 流場景的交互式推薦,雲端對推薦內容進行召回,而端側基於實時行爲進行重排,抓住用戶即時的興趣愛好;再比如一些體驗優化的場景,基於網絡、設備和用戶操作進行小程序資源的預加載,提升操作體驗等。

 3. 螞蟻端智能技術體系

我們在螞蟻衆多的業務場景,作了端智能大量的探索與實踐,包括營銷互動、搜推廣、安全風控、IoT 等,而在技術能力上,我們需要有一套完善的基礎設施去支撐算法和工程同學快速進行方案研發與場景實驗。

計算框架層,對於端智能研發的基礎,我們首先要解決端上算法模型運行的問題併兼顧其在移動端性能、尺寸、功耗上的訴求,適配底層不同的操作系統與硬件芯片,因此我們建設了螞蟻移動端的深度學習推理引擎 xNN 及其配套的算法研發框架。而在數據計算領域,數據特徵作爲關鍵輸入決定了算法模型的上限,爲了充分發揮端智能實效性高的優勢,提升端計算的性能,我們自研了移動端的流式計算框架,在此基礎上支持端數據的實時聚合、實時匹配、實時串聯,給上層的端特徵、端決策模塊提供了豐富的計算能力,並確保高效的數據處理性能。此外,考慮到算法同學的研發語言以及算法方案的快速迭代部署,我們開發了一個小型的端側 Python 虛擬機,在支持核心功能的同時,重點在性能、內存和包大小方面進行優化。

智能框架層,爲端智能的算法與工程提供包裝好的研發組件,屏蔽其對底層運行環境與原子計算能力的直接感知調用,提升研發效率與體驗。在認知智能方向,基於應用範圍和垂類場景的特性,我們建設了多媒體引擎、生物識別引擎,沉澱了 OCR 文字識別、人機交互等算法組件。數據智能方向,深耕端雲實時用戶理解,沉澱端特徵中心,場景應用上,端實時決策框架支持重排、預測、打分等模版方案,研發時通過 IDE、仿真 / 評測、灰度 / AB 等對齊雲側 AI 的研發配套。

端智能研發平臺,爲端智能算法同學提供一站式的研發支撐,其核心功能包括特徵開發部署,模型訓練部署以及監控與質量保障。特徵方面,平臺提供可視化特徵配置與開發組件,重點建設低代碼研發模式,並通過特徵元數據與血緣保證準確性;模型方面,從輕量化建模到可伸縮性建模演進,充分挖掘碎片化的算力,同時沉澱可複用的算法模型,提升業務的接入效率;監控與質量保障方面,自動化的真機評測能力保證發佈到用戶手機側的穩定與性能指標,同時提供多維度的任務監控,包括任務的功耗、內存、成功率等關鍵指標。

場景應用時,在研發流程上算法通過端特徵進行模型訓練,並通過移動端發部工程體系部署到端上;在用戶手機運行時,端計算容器則提供特徵、模型的運行環境,同時通過決策框架串聯整個業務流程,實現端上的實時決策響應。

 4. 思考與展望

面向未來,端智能這個領域還有很多問題值得我們去思考和解決,簡單拋一些想法:

算力挖掘方向:端智能的本質實際上是將雲端的部分算力分散到端側執行,但是端側的資源就是有限的,在低端機和端側大模型部署上會受到限制,這一點有沒有辦法突破。

端雲協同方向:雖然我們全篇提的都是端智能,但是端智能與雲智能本身就不是割裂的技術體系,而是相輔相成,就像章魚的大腦和觸角,腦部和觸角都有大量的神經元,彼此要協同合作才能更好的生存,目前業界主流的端雲協同範式,是雲側訓練 + 端側推理,雖然我們也在部分場景探索過端訓練,但整體來看端雲協同還處於較初級的階段,在協同訓練和推理上,我們還要繼續探索。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/EVAtq5eu4K7i1jmp4tum8A