滴滴推理引擎IFX:千萬規模設備下AI部署實踐


image

桔妹導讀:「滴滴技術」將於本月開始,聯合各技術團隊為大家帶來精彩分享。你想了解的技術干貨,深度專訪,團隊及招聘將於每周三與你准時見面。本月為「滴滴雲平台事業群分享月」,在今天的內容中,雲平台事業群-機器學習平台團隊與你聊一聊AI技術在滴滴平台上的實踐思考。IFX 團隊經過 2年多的奮斗,已將 AI 部署服務於公司安全、地圖、車載、普惠、車服、IT等業務團隊,覆蓋司乘 APP,桔視設備,代駕記錄儀,AIBox(邊緣計算 AI 盒子),國際化司乘 APP 等智能化需求的場景,覆蓋千萬級別設備,千億級別日活調用量。

1.背景

隨着人工智能技術的發展,深度學習技術在工業界得到了廣泛的應用。數據、算法、算力三個維度的協同發展,逐步將 AI 推向成熟期,並且滲透到生活的方方面面。

滴滴擁有海量出行大數據,同時擁有大量的司乘端手機用戶、桔視設備(車載攝像頭)、GPU 集群等算力平台,對雲、邊、端 AI 能力的發掘將迎來一個黃金時代。滴滴機器學習團隊從 2018 年 9 月開始調研和搭建自研推理引擎平台 IFX,在 2018 年 12 月開始對內提供服務,並在司機端和乘客端 APP 中落地。經歷了 2 年的發展,IFX 已經在公司的大量業務中得到應用,服務於訂單和准入的關鍵路徑,司乘支付綁卡、實名認證、金融安全、提現等業務流程,高危場景識別,費用判責,追尾碰撞檢測,定位導航,路網更新等業務場景。涵蓋國內/國際化司乘 APP、桔視(車載攝像頭)、代駕記錄儀、滴滴雲 GPU 等算力平台。目前滴滴 IFX 平台服務千萬級別設備,平台日活調用量超千萬億。image

2. 架構

在服務業務的過程中,我們發現純粹的推理引擎已經很難滿足業務高效的發展,因此,我們對平台進行了逐步的迭代與升級,將其分為 4 層結構:接入層,軟件層,引擎層,算力層。
image

接入層

通過接入層,主要完成與業務工程的對接工作,同時我們在該層增加了推理/授權數據埋點,能夠及時的展示設備接入量、推理接入量、設備分布、推理質量等信息。

  • local inference 需求:提供各類編程語言接口的 SDK

  • remote inference 需求:提供 http/thrift/grpc 等接口的標准服務化 api

  • 授權與埋點:提供安全授權接入方案,提供業務模型 inference 相關可視化報表

軟件層

在軟件層,主要完成與業務算法的對接工作,主要完成模型解析和模型管理功能。

  • 模型瘦身:提供更小的模型文件,降低 SDK 大小,同時提升在線升級模型速度

  • 模型加密:確保模型結構安全性,不容易被破解

  • 版本管理:解決業務迭代過程中,多個模型版本管理問題

  • 自動測試:模型解析,帶來精度差異,自動測試保證訓練模型和推理模型表達一致性,同時也會測試模型推理性能以及硬件設備適配工作

引擎層

所有引擎優化相關工作集中在該層,針對異構設備算子的開發和調優,引擎系統調用的調優,

  • 性能診斷器:為引擎層提供離線性能診斷工具,剖析模型在不同硬件設備上的表現,同時指導 kernel 優化,模型結構優化等工作

  • 引擎瘦身與混淆:提供更小的體積以及安全的內核

  • 算子優化:主要整合低精度、圖優化、異構調度、匯編優化等能力,同時提供 auto tuning kernel 的能力,為專用硬件提供最佳的匯編實現

  • 系統優化:除了計算本身,提供系統調度、I/O、預/后處理等耗時環節的優化

算力層

算法模型實際運行的硬件設備,目前針對雲、邊、端等場景,支持了大部分的處理器。主要包括 NVIDIA GPU,ARM,X86,寒武紀等設備。

3. 產品化

基於架構的升級,IFX 團隊進一步打造 AI 部署產品化解決方案,爭取為業務提供更加系統化的支持。主要圍繞以下 6 個方面進行能力建設。image

高性能

為保障業務的核心競爭力,模型執行速度對於成本、安全、業務效果等影響非常大,我們針對推理引擎內核以及全鏈路進行了一次性能改造,在業務性能上,得到了不錯的效果。

  • 匯編級優化:核心 op 匯編優化,模型性能提升 40% - 200%

  • 全鏈路優化:預處理、后處理、網絡調用鏈路優化,服務化性能提升 30 - 260%

local性能測試對比

服務化性能對比

精巧性

為降低 APP 包大小,提升用戶體驗,我們專門針對引擎以及模型,做了大量的裁剪和壓縮工作。

  • 模型壓縮:多種壓縮策略聯合驅動,壓縮不降低精度,壓縮率 < 25%

  • 引擎壓縮:二進制 elf 壓縮,進一步降低 SDK 大小,通常壓縮率在 50% 左右

統一性

為了提升接入效率,提供更加高效的接入方案,針對雲、端、邊等多種場景,IFX 可以提供統一的接入方案,同一個算法模型,支持部署到多種不同硬件設備。

多框架

業務方選用的算法框架相對比較自由,為讓體驗和接入流程一致,IFX 支持將 TensorFlow,PyTorch,Caffe,Darknet 等不同的深度學習訓練得到的算法模型,轉換成 IFX 支持的模型,並提供兼容性設計,滿足業務迭代以及算法升級的需求。

自動化

AI 模型落地的過程中,存在較大的人工操作,為了降低每一個環節人工干預的程度,我們梳理了一些值得自動化實施的環節,幫助業務更快進行開發。

  • SDK 自動化生成
  • 服務自動化壓測
  • 模型正確性評測
  • 功耗、CPU Loading 等自動化測試

安全性

滴滴有大量的算法部署在端側,目前我們發現軟件系統會受到一些外部的攻擊,為了更好的提升 AI 軟件的運行安全性,保障滴滴業務的同時,更好的對外輸出,我們進行了一次架構安全升級。

  • 接入層:離線、在線授權方案,嚴控接入設備

  • SDK層:IOS,Android,Linux 代碼混淆,保護業務邏輯

  • 引擎層:函數級別加密和混淆,杜絕反調試,反編譯

  • 模型層:模型文件加密,保護算法結構

4. 總結

當前,IFX 已經服務了內部不少的業務,但是在 AI 部署的過程中,依然存在很多低效的環節需要迭代和優化。IFX 團隊也將繼續在這個過程中進行能力建設,后續我們計划將整個開發和生產流程線上化,采用統一的開發環境,整合開發、測試、驗證、分析、上線流程,需要做的工作還很多,但未來可期。

團隊介紹

滴滴雲平台事業群滴滴機器學習平台團隊是一個由技術和夢想驅動的團隊。在高性能計算,異構計算領域有獨到的技術優勢,團隊主要成員曾推出了國內最早的雲上 GPU,HPC 產品。在滴滴,機器學習平台團隊致力於構建穩定、安全、高效、高性能、易用性強的 AI 一站式開發和部署平台,包括高效的滴滴機器學習平台建設、業務價值創造和落地的滴滴雲平台建設、追求極致高性能的推理引擎建設。

作者簡介

機器學習平台框架組負責人,現負責異構計算、AI系統 優化等工作,為公司提供端/雲AI優化和部署方案。曾就職於阿里,參與異構計算集群、阿里雲 HPC 產品等研發工作。

延伸閱讀



內容編輯 | Teeo
聯系我們 | DiDiTech@didiglobal.com

本文由博客群發一文多發等運營工具平台 OpenWrite 發布


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM