滴滴推理引擎IFX 千萬規模裝置下AI部署實踐

2022-07-03 12:21:08 字數 2413 閱讀 3796

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

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

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

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

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

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

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

所有引擎優化相關工作集中在該層,針對異構裝置運算元的開發和調優,引擎系統呼叫的調優,

演算法模型實際執行的硬體裝置,目前針對雲、邊、端等場景,支援了大部分的處理器。主要包括 nvidia gpu,arm,x86,寒武紀等裝置。

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

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

為了提公升接入效率,提供更加高效的接入方案,針對雲、端、邊等多種場景,ifx 可以提供統一的接入方案,同乙個演算法模型,支援部署到多種不同硬體裝置。

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

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

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

sdk層:ios,android,linux **混淆,保護業務邏輯

引擎層:函式級別加密和混淆,杜絕反除錯,反編譯

模型層:模型檔案加密,保護演算法結構

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

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

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

本文由部落格**一文多發等運營工具平台 openwrite 發布

規則推理引擎簡介

規則推理引擎也叫產生式系統,是由基於規則的專家系統發展而來。基於規則的專家系統是人工智慧領域中專家系統的 乙個分支,它模擬人類的推理方式,使用試探性的方法進行推理,並使用人類能理解的術語解釋和證明它的推理結論。基於規則的專家系統,使用的知識包括 if 條件 then 動作 基於規則的專家系統主要包括...

漫話規則引擎 1 推理機和規則引擎

本文最新版已更新至 假設這樣乙個場景 某公司生產兩種型號的裝置,m,兩種型號都支援四種功能f,但開放哪些功能取決於出廠設定。在出廠之前需要對裝置進行多方面的測試,目前定義了五種測試t,要執行哪些測試取決於型號。對每台裝置的每種測試都有乙個最晚執行日期d的要求,d取決於裝置要執行的測試項。由於業務需要...

深度學習 推理引擎 個人小結

使用推理引擎測試網路的時候,個人覺得首先還是需要確定一下,你要測的網路結構推理引擎是否支援,新的網路結構從提出到推理引擎提供該網路結構的支援,中間需要很長一段時間,然後還需要確認gpu是否支援,需要確認對架構是否支援。個人在實際測得過程中,覺得挺麻煩的,有的cpu支援,gpu不支援,有的這個推理引擎...