偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

黑科技:AoE-如何管理好模型?

人工智能
越來(lái)越多的業(yè)務(wù)會(huì)用到AI相關(guān)的技術(shù),大多數(shù)的AI模型是部署在云端使用的,畢竟服務(wù)端計(jì)算更快,管理也更容易。隨著終端設(shè)備性能提升,在終端使用 AI 模型有了更大的價(jià)值,可以更好滿足業(yè)務(wù)對(duì)響應(yīng)實(shí)時(shí)性、數(shù)據(jù)隱私性的需求。

前言

越來(lái)越多的業(yè)務(wù)會(huì)用到AI相關(guān)的技術(shù),大多數(shù)的AI模型是部署在云端使用的,畢竟服務(wù)端計(jì)算更快,管理也更容易。隨著終端設(shè)備性能提升,在終端使用 AI 模型有了更大的價(jià)值,可以更好滿足業(yè)務(wù)對(duì)響應(yīng)實(shí)時(shí)性、數(shù)據(jù)隱私性的需求。滴滴出行的銀行卡識(shí)別功能也打算部署在客戶端,但是遇到的問(wèn)題也不少:

1.模型升級(jí)困難,模型在終端的存在一般都是已應(yīng)用軟件為載體,用戶可以選擇是否對(duì)應(yīng)用軟件進(jìn)行更新,導(dǎo)致模型版本會(huì)產(chǎn)生分化。

2.硬件適配問(wèn)題,不同的終端設(shè)備因?yàn)閺S商深度定制因素,會(huì)出現(xiàn)一些兼容問(wèn)題

3.不同模型運(yùn)行框架不同,對(duì)于客戶端工程師不夠友好。

針對(duì)這些問(wèn)題滴滴的終端智能團(tuán)隊(duì)推出了AoE作為解決方案,設(shè)計(jì)之初就將多模型管理支持可能升級(jí)、多框架支持、模型加密等功能定為基礎(chǔ)設(shè)施。

AoE是怎么做好模型管理的

我們針對(duì)遇到的問(wèn)題,主要做了3部分工作:

  1. 嘗試了多機(jī)型覆蓋測(cè)試做好模型的驗(yàn)證
  2. 利用運(yùn)行環(huán)境配制化來(lái)實(shí)現(xiàn)加載模型
  3. 通過(guò)動(dòng)態(tài)更新來(lái)升級(jí)模型

下面針對(duì)這三項(xiàng)分別進(jìn)行介紹。

運(yùn)行環(huán)境配置化

AoE SDK將推理框架總結(jié)了5個(gè)過(guò)程,它們分別是初始化、前處理、執(zhí)行推理、后處理、釋放資源。對(duì) AoE 集成運(yùn)行環(huán)境來(lái)說(shuō),最基本的便是抽象推理操作,通過(guò) 依賴倒置 的設(shè)計(jì),使得業(yè)務(wù)只依賴AoE的上層抽象,而不用關(guān)心具體推理框架的接入實(shí)現(xiàn)。這種設(shè)計(jì)帶來(lái)的最大的好處是開(kāi)發(fā)者隨時(shí)可以添加新的推理框架,而不用修改框架實(shí)現(xiàn),做到了業(yè)務(wù)開(kāi)發(fā)和 AoE SDK 開(kāi)發(fā)完全解耦。

用戶只需要簡(jiǎn)單的描述json文件即可完成對(duì)運(yùn)行環(huán)境的配置,簡(jiǎn)化了用戶的使用過(guò)程,更為簡(jiǎn)潔高效。

簡(jiǎn)單的配置如下: 

  1.  
  2. "version""1.0.0", // 版本號(hào)  
  3. "tag""tag_mnist", // 區(qū)分業(yè)務(wù)場(chǎng)景  
  4. "runtime""tensorflow", // runtime類型  
  5. "source""installed", // 安裝源  
  6. "modelDir""mnist", // 所在文件夾  
  7. "modelName""mnist_cnn_keras", // 模型文件名  
  8. "updateURL""https://www.didiglobal.com" // 升級(jí)配置鏈接  

機(jī)型覆蓋測(cè)試

針對(duì)硬件差異的問(wèn)題,我們?cè)谧瞿P万?yàn)證期間嘗試了多機(jī)型的覆蓋測(cè)試,將模型在不同機(jī)型上的表現(xiàn)都記錄下來(lái)反饋給模型生產(chǎn)團(tuán)隊(duì),幫助模型不斷的升級(jí)修復(fù)。

截取了部分測(cè)試時(shí)產(chǎn)生的耗時(shí)對(duì)比數(shù)據(jù)大致如下:

雖然模型不相同,使用指令可能不同,但是大致也可以了解到機(jī)器的性能,具體數(shù)值僅供參考。在這個(gè)過(guò)程中,沉淀下來(lái)了benchmark工具來(lái)幫助驗(yàn)證多機(jī)型的覆蓋測(cè)試,將來(lái)這個(gè)工具也會(huì)是開(kāi)源的一部分來(lái)幫助大家驗(yàn)證模型的可用性,以及建立有效的機(jī)型比較。

動(dòng)態(tài)更新

AoE的模型管理模塊將模型按分發(fā)方式分為兩種:

  1. 本地模型,意為應(yīng)用軟件自帶的模型
  2. 遠(yuǎn)程模型,則是通過(guò)策略配置,從服務(wù)器下載匹配模型到本地的模型

本地模型與遠(yuǎn)程模型最大的區(qū)別就是本地模型無(wú)法更改,只能跟隨應(yīng)用軟件一起更新,而遠(yuǎn)程模型則是通過(guò)和本地模型作比較后更新的較新模型,模型與模型之間通過(guò)版本做比較。本地模型與遠(yuǎn)程模型二者可以共存,也可以單獨(dú)存在,在最新版的滴滴出行中,為了減少包的大小甚至沒(méi)有本地模型,所有的模型都是來(lái)自遠(yuǎn)端下載。

之所以將模型分成兩部分,是為了保證模型是可用的且可靠的,為什么這么說(shuō)?一般本地模型都是經(jīng)過(guò)長(zhǎng)時(shí)間測(cè)試后才作為穩(wěn)定版本跟隨APP帶到了線上,既可以作為最新版本,又可以作為后來(lái)的穩(wěn)定版本:即使發(fā)現(xiàn)后來(lái)下載升級(jí)的遠(yuǎn)程模型效果不理想也可以通過(guò)灰度測(cè)試停止遠(yuǎn)程使用遠(yuǎn)程模型的使用,保證模型的高可用性。

遠(yuǎn)程模型的存在使業(yè)務(wù)模型擁有了動(dòng)態(tài)更新的能力,方便了產(chǎn)品的迭代,不再依賴客戶端的發(fā)布周期。在動(dòng)態(tài)開(kāi)關(guān)的寫協(xié)助下,甚至可以做到精確指定模型版本的加載。

整體模型管理的結(jié)構(gòu)如下圖:

模型加載怎么使用?

模型管理器是AoE的一個(gè)基礎(chǔ)組件,以iOS為例,組件實(shí)現(xiàn)在Loader目錄下。默認(rèn)支持的模型配置文件為json格式,運(yùn)行環(huán)境配置化部分的代碼就描述了mnist demo的配置。

模型和模型配置文件名的格式配置以及遠(yuǎn)程版本存放地址,都可以通過(guò)繼承AoEModelConfig類來(lái)做修改,具體的使用方式可以參照squeezenet的實(shí)例

在已經(jīng)開(kāi)源的版本中,AoE還為大家提供了單功能多模型的支持,拿銀行卡識(shí)別來(lái)舉例,整個(gè)過(guò)程分兩步,一是找到卡片以及卡片上的數(shù)字區(qū)域,二是根據(jù)數(shù)字區(qū)域的圖片識(shí)別出卡號(hào),所以整個(gè)過(guò)程需要兩個(gè)模型。開(kāi)源項(xiàng)目使用的模型配置的tag字段主要用來(lái)定義模型所屬功能,結(jié)合dir字段,就可以定位到具體的模型。

寫在最后

通過(guò)遠(yuǎn)程加載以及多維度的灰度測(cè)試配置是幫助模型穩(wěn)定安全運(yùn)行的保證,雖然模型遠(yuǎn)程加載功能還沒(méi)有在開(kāi)源版本上線,但是已經(jīng)安排在了日程中,預(yù)計(jì)在9月底就會(huì)上線。如果您對(duì)這個(gè)項(xiàng)目感興趣,如果您在終端AI運(yùn)行環(huán)境方面有想法,如果您在使用時(shí)有疑問(wèn),誠(chéng)摯邀請(qǐng)您加入我們。

項(xiàng)目鏈接:https://github.com/didi/AoE  

 

責(zé)任編輯:龐桂玉 來(lái)源: 51CTO
相關(guān)推薦

2010-03-15 19:56:46

Java線程

2019-08-19 08:01:50

Flink數(shù)據(jù)管理內(nèi)存

2018-07-23 06:38:40

AI芯片數(shù)據(jù)中心

2016-03-17 15:37:07

2011-03-24 16:01:30

數(shù)據(jù)庫(kù)管理

2012-07-30 09:35:10

項(xiàng)目管理

2016-07-14 16:40:56

黑科技

2022-02-05 23:59:28

智能汽車安全駕駛

2023-02-22 16:11:41

昇騰

2020-10-10 15:52:36

黑科技檢測(cè)模型

2014-02-11 11:22:00

并購(gòu)管理

2023-11-13 14:53:23

2020-10-09 07:19:30

芯片

2011-03-03 13:17:43

Oracle數(shù)據(jù)庫(kù)

2017-07-07 10:24:56

云計(jì)算

2020-07-10 10:34:22

人工智能無(wú)人機(jī)物聯(lián)網(wǎng)

2016-11-10 19:31:00

蘇寧雙11

2017-01-06 13:45:45

智能 運(yùn)動(dòng)

2017-08-01 10:33:35

互聯(lián)網(wǎng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)