來源:光錐智能
作者:郝鑫
編輯:劉雨琦、王一粟
AI 的應用一直以來都有兩個極端:
一類是在數據中心,用最強的算力跑最複雜的模型;一類是在智能終端,用最小的模型實現最普適的應用。
除了追求大算力帶來的智能湧現,如何把AI 模型壓縮,運用到各種智能終端上,也是工業界不斷追求的“極限挑戰”。
在AI 的各種世界頂會中,有一類頂會比賽的項目,就是如何將AI 高性能又高效地使用到終端。
ICCV 2023 是AI 計算機視覺領域的三大頂會之一,每兩年舉辦一屆,代表了人類在計算機視覺領域的最先進技術,堪稱“地表最強”。
8月底,走出“技術自嗨”,帶著一身“硬本事”,首次參加CV建模推理和訓練賽的支付寶xNN團隊,分別拿下2項賽事的3個冠亞軍。其中“推理挑戰賽”上,shanwei_zsw 和zhaoyu_x 兩支小組分別獲得冠亞軍,比分大幅領先第三名45%以上。在“訓練挑戰賽”上,shanwei_zsw 則以0.04的些微差值位居亞軍。
賽事的難點在於,要在有限的計算資源條件下發揮模型的最大效能。例如在運行時,GPU內存限制在6GB以下,訓練成本控制在九個小時以內,在這些條件限制下,圖像識別精準度還要達到95%以上,在1分鐘之內完成幾千張圖片推理的效果。
“投入時間比較短,參賽也很從容,比賽的課題就是我們日常的工作”,參加挑戰的支付寶xNN引擎工程師王世豪道。
通過xNN 團隊在技術實踐上的探索,我們也能夠一窺當前AI 在終端落地方面的最新進展:從1.0 跨越到2.0,目前端側AI 技術已經攀登到一個“小高峰”,“又好又快”成為技術抵達的主邏輯。
歷史的齒輪重新開始轉動,隨著大模型的降臨, AI 在智能終端的落地,又迎來一個全新階段。
端側部署難題:有限資源VS大參數AI模型
或許大家並不了解xNN 團隊,但一定用過他們的技術。
掃碼付款、春節掃五福、理財推薦、短視頻直播……這些再熟悉不過的場景中都有xNN 團隊的影子。
xNN團隊負責人周大江告訴光錐智能,他們主要負責螞蟻集團內的所有端智能的應用,為螞蟻集團提供端側技術引擎支持。
2016年深度學習剛剛爆發,2017年基於計算機視覺的“掃五福”就正式應用在支付寶APP 裡上線,這也成為了xNN 技術團隊組建的起點。
“掃福活動最早在雲端測試,即在服務端上用AI 能力識別福字,但最終發現成本和效果都差強人意,這才轉向了端上去做”,周大江表示。
“掃五福”這個動作,經過了掃描、識別、判斷、計算、推理、反饋一系列AI 步驟。如果通過雲的路徑實現,攝像頭要先掃描,然後傳到服務端,雲服務端處理完成後再返回結果。這裡麵包括了網絡通信的開銷、雲計算傳輸耗費的時間、判斷反饋的時間,總體下來,用戶等待時間長且體驗感較差。
xNN團隊經過摸索後發現,雲端根本無法滿足用戶的實時需求,要想讓應用飛入尋常百姓家,還得部署到端側。
正如王世豪所言,端側機器學習有很多優勢:首先可以降低部署成本,從模型推理到模型決策一切都在端側搞定,節省雲端運維資源;其次,一次加載資源後,不需反復請求服務端傳遞數據量以及獲取AI 分析結果,非常適合圖像識別等高頻AI 分析場景;最後,調用數據無需傳輸上雲,有助於提升用戶的隱私性。
技術方向被驗證了正確性,但實現過程卻充滿了複雜。
以掃五福場景為例,匯集了圖像識別、語音識別、自然語言處理、傳感器數據融合等多種AI 技術。例如最常涉及的圖像識別技術,用於快速、準確地識別用戶掃描的福字圖像,判斷是否正確;傳感器融合技術,結合手機運動傳感器等輔助無障礙用戶進行福字掃描;語音合成、識別技術,支持語音互動的各種創新玩法,如“語音打年獸”等。
端側部署的難點也十分突出,相比雲服務器,端側設備資源極其有限,無法載入過於復雜的模型。
資源對端側的限制體現在全過程中,識別靠攝像頭,而手機的攝像頭質量參差不齊,有的清晰,有的模糊;模型訓練、推理所用到的GPU和CPU,決定了數據傳輸、反饋的處理速度;存儲空間有限,決定了模型大小。
但AI 模型規模又很大,一個簡化的模型就好比中學的三元一次聯立方程,模型訓練推理的過程可以理解為解方程的過程,只不過要解的是幾百萬元的方程。其中,每個元就是“參數”,聯立方程式稱之為一層的“神經網絡”,一般而言,常用的簡單模型可能有3-6層,複雜模型甚至有50+層,這足以證明模型參數有多大。
“於是,有限的資源和大參數的AI 模型之間形成了鴻溝”,支付寶終端技術部負責人李佳佳進一步明確了xNN團隊的方向,把AI 模型放到端上就是要在“螺螄殼裡做道場”。
可對於一款十億級用戶的國民級APP而言,技術要解決的難題還遠不止於此。
支付寶服務對象面向全年齡段的各類人群,10億用戶中,來自三四線城市的比例超過55%。在很長一段時間內,幾百元的低端機成為主流,這意味著從技術設計上不能設置過高的門檻,要能適配各種老版的手機硬件和操作系統。
支付寶的應用還經常存在海量並發場景,譬如春節掃福等促銷活動,動輒超幾億人參與,據統計,每2-3個中國人裡就有一個參與過掃福活動,瞬時湧入的巨大流量也給端側帶來了考驗。
基於端側AI 技術本身和支付寶國民級應用的屬性,兩座沉重的大山壓在了xNN 團隊肩上。
從AI 1.0到2.0,找尋端側模型最優解
進一步拆解任務,xNN 團隊決定先解決端側AI 技術共性問題,再去解決支付寶自身的個性化問題。基於該邏輯,其技術迭代經歷了AI 1.0 模型輕量化階段和AI 2.0 可伸縮建模時期。
模型輕量化,顧名思義,主要任務就是把AI模型優化得盡可能小,為此,xNN 團隊研發了“模型壓縮技術”。
(圖:模型壓縮的幾種基本方法)
“模型壓縮最核心的就是讓模型盡可能得小,只有小了才能裝進手機裡”,王世豪表示道。
雖然AI 模型被壓縮小了,但並不意味著運行的性能要降低。 xNN 團隊介紹,能不能讓模型在完成同等任務效果的基礎上,還能進一步變小,成為了關鍵。例如,在壓縮一個模型後,識別福字的精準度依然很高。
一個問題也隨之而來,多小的AI 模型算小呢?
周大江告訴光錐智能,關於這個問題業界目前還沒有形成標準,這意味著每個APP可能都會有自己一個軟性的標準。 “在實際應用運行中,大一點其實也不是問題,業界一般控制在十兆左右尺寸。但支付寶更傾向於小數量級的模型規模,大部分應用都控制在一兆以內”,周大江稱。
把模型壓縮變小,主要在解決“好”的問題,使復雜模型可以在端側設備上運行。而端側高性能計算引擎技術則專注於解決“快”的問題,通過各種優化手段使模型可以高效計算。
高性能計算引擎技術目的是讓模型能夠充分利用端側設備的算力資源,一個核心指標是算力利用率,即模型計算對硬件資源的利用效率。舉例來說,假如手機理論上每秒鐘可以執行一萬次計算,那引擎性能的高低,決定了能不能充分把這一萬次給用起來。
得益於“模型壓縮+高性能計算引擎”兩把“殺手鐧”,讓xNN 團隊在1.0階段“實現了絕大多數場景應用的端上部署”,這也為其從1.0的“變小”走向2.0的“靈活”打下了基礎。
“以前是一個模型打遍天下,現在是面向不同設備找到最合適的模型”,王世豪道。
可伸縮建模技術,切中了國民級應用的用戶人群廣泛與多樣化的硬件環境的痛點。
一段時間裡,不同手機機型都共用一個AI 模型,這就會出現無法全面覆蓋的情況。要么去適配低端機,導致高端機型資源被浪費,業務效果和用戶體驗打折扣;要么去迎合高端機型,直接喪失一部分低端機用戶。
而現在,不只生產一個模型,而是通過技術的手段一次性的生產很多個模型,每一個模型能夠去兼容適配不同用戶的手機,去最大化它的算力,然後把模型的效果帶給用戶。這就好比打遊戲時的分辨率,既可以選擇超高清分辨率,也可以選擇低分辨率,深層次詮釋了“可伸縮”性的內涵。
模型“又小又快”的實現條件進一步耦合,通過可伸縮建模技術一步到位,快速找到最優解。但同時,裡面涉及的工具、參數調節也愈來愈複雜,走過模型輕量化來到AI 2.0時期,技術比拼才剛剛開始。
隨著大模型來臨,AI 在智能終端的落地,又將迎來一個全新的技術階段。
大模型跑在手機上,還有多遠?
不斷優化,把AI 模型一步步變小,在手機上跑得又好又快。
回溯xNN 團隊技術迭代的歷程,這條貫穿其中的主線,也是整個終端智能化的縮影。
然而,到了“更大參數、更加複雜”的大模型應用落地的新階段,技術既有變,也有不變。
不變的是,xNN 團隊對光錐智能表示,即使在大模型的階段,其核心矛盾仍在於如何利用有限資源,達到又好又快的效果,而大模型只不過進一步加深了矛盾。從具體的評判指標來看,和之前沒有本質區別,一旦涉及端上部署,始終逃脫不了模型尺寸、性能、速度等。
最大的變量是幾十億、上百億參數的大模型。如今端側的現狀是,手機算力、存儲等資源並沒有跨越式提升,而龐大的大模型已經要迫不及待地成為新時代的主角,這也是導致大模型應用難以打通“最後一公里”的難點所在。
(圖:幾個預訓練模型的參數量統計)
“1.0、2.0階段大部分需要極致優化的任務已經完成,大模型尺寸突然暴漲,成為當前端側AI 最大的技術挑戰。”
xNN 團隊認為,從1.0到現在的大模型應用落地階段,裡面存在著技術的延續性。過去技術探索構築的能力,尋找“又好又快”最優解的經驗以及場景運營的增持,皆是走向大模型新階段的基石。
支付寶終端技術部負責人李佳佳覺得,要站在“巨人肩膀”上,一方面衝著更高的技術標準,繼續優化原有的技術;另一方面可能要圍繞大模型的特質,做一些新的算法設計和突破。
按圖索驥,儘管手握端側AI 的鑰匙,但要讓大模型真正跑在手機端,還需要很長的路要走。
據光錐智能觀察,現階段,手機上使用的大模型應用,基本上算力還是中心化在雲上,端側適配仍處於摸索階段。
目前,華為、小米、Vivo、OPPO等一眾手機廠商正在圍繞著大模型去做芯片硬件設計和操作系統上的優化,從底層框架到上層應用,盡可能地為大模型跑在手機上提供更多的計算資源支撐。
李佳佳解釋稱,未來,大模型要以何種姿勢降落到手機端還尚在討論中。
“螞蟻集團近期對外發布了一系列自研基礎大模型,如何將其應用到手機等終端設備上,我們重點攻堅兩個關鍵技術:一方面,進一步強化終端推理引擎的計算效率,充分挖礦手機異構計算資源以提高大模型的執行效率,這對用戶體驗至關重要;另一方面,通過技術手段推進大模型的壓縮,保持大模型效果不降低的前提下,減少運行內存及存儲資源的消耗。於此同時,在持續強化引擎計算效能和模型壓縮兩個關鍵技術之外,我們同樣重視與手機廠商的協作,結合廠商硬件能力迭代與我們自身場景和技術的優勢,加速大模型在手機端應用的步伐”。
在技術實現思路、路徑走向明了後,究竟何時可以等到大模型真正跑在手機上呢?
“未來1-3年內很關鍵”,支付寶終端技術部負責人李佳佳判斷,“關鍵指標還在模型大小,當前一些大模型仍需消耗幾個GB的物理存儲/運行內存,基於此,至少應該控制在500MB-1GB以下的水平。”
打通“最後一公里”,同時讓14億人在手機,用上大模型的奇點時刻或許即將到來。
資訊來源:由0x資訊編譯自8BTC。版權歸作者所有,未經許可,不得轉載