【推理引擎:核心原理】系列來啦榨乎!從入門到昇騰!

當年作為核心SE在MindSpore團隊從0到1構(gòu)建了MindSpore Lite推理引擎瘫筐,到去年知道的信息是現(xiàn)在在華為和榮耀手機上的AI能力都是基于Lite推理引擎蜜暑,調(diào)用次數(shù)10億/天。

所以就基于之前的工作策肝,總結(jié)了《AI推理引擎:核心原理》這個系列的內(nèi)容:從推理系統(tǒng)整體架構(gòu)開始肛捍,然后到模型小型化隐绵、模型壓縮,在真正推理之前需要進行模型轉(zhuǎn)換和圖優(yōu)化拙毫,最后到kernel和runtime優(yōu)化氢橙。還是很有意思的,也花了很多時間恬偷,希望能夠幫助到大家啦:肥帧!袍患!


在講推理引擎/推理系統(tǒng)坦康,又或者是推理部署之前呢,我們回顧下訓練和推理的區(qū)別 _

訓練過程通過設定數(shù)據(jù)處理方式诡延,并設計合適的網(wǎng)絡模型結(jié)構(gòu)以及損失函數(shù)和優(yōu)化算法滞欠,在此基礎上將數(shù)據(jù)集以小批量(mini-batch)反復進行前向計算并計算損失,然后反向計算梯度利用特定的優(yōu)化函數(shù)來更新模型肆良,來使得損失函數(shù)達到最優(yōu)的結(jié)果筛璧。訓練過程最重要的就是梯度的計算和反向傳播。

而推理就是在訓練好的模型結(jié)構(gòu)和參數(shù)基礎上惹恃,做一次前向傳播得到模型輸出的過程夭谤。相對于訓練而言,推理不涉及梯度和損失優(yōu)化巫糙。推理的最終目標是將訓練好的模型部署生產(chǎn)環(huán)境中朗儒。真正讓 AI 能夠運用起來。推理引擎可以將深度學習模型部署到云(Cloud)端或者邊緣(Edge)端参淹,并服務用戶的請求醉锄。模型訓練過程好比是傳統(tǒng)軟件工程中的代碼開發(fā)的過程,而開發(fā)完的代碼勢必要打包浙值,部署給用戶使用恳不,那么推理系統(tǒng)就負責應對模型部署的生命周期中遇到的挑戰(zhàn)和問題靶病。

當推理系統(tǒng)將完成訓練的模型進行部署墅诡,并在服務時還需要考慮設計和提供負載均衡,請求調(diào)度迎膜,加速優(yōu)化负蚊,多副本和生命周期管理等支持神妹。相比深度學習框架等為訓練而設計的系統(tǒng),推理系統(tǒng)不僅關注低延遲家妆,高吞吐鸵荠,可靠性等設計目標,同時受到資源伤极,服務等級協(xié)議(Service-Level Agreement)蛹找,功耗等約束姨伤。本章將圍繞深度學習推理系統(tǒng)的設計,實現(xiàn)與優(yōu)化內(nèi)容展開庸疾,同時還會在最后介紹部署和 MLOps 等內(nèi)容乍楚。

移動端的推理引擎應該挺多的了,google在2017年推出了TF-Lite届慈,騰訊在2017年推出了ncnn徒溪,Apple在2017也推出了CoreML,阿里在2018年推出了MNN金顿,華為2019年推出了MindSpsore-Lite臊泌。距今已經(jīng)過去了快5年的時間,技術上也接近收斂揍拆。下面讓我們一起打開推理引擎的技術吧渠概!

系列內(nèi)容

  • 《推理系統(tǒng)》推理系統(tǒng)是本分享的重點概述,推理就是在訓練好的模型結(jié)構(gòu)和參數(shù)基礎上嫂拴,執(zhí)行前向傳播得到模型輸出的過程播揪。相對于訓練而言,推理不涉及梯度和損失優(yōu)化筒狠。推理的最終目標是將訓練好的模型部署生產(chǎn)環(huán)境中猪狈,真正讓 AI 能夠運用起來。推理引擎可以將深度學習模型部署到云(Cloud)端或者邊緣(Edge)端窟蓝,并服務用戶的請求罪裹。模型訓練過程好比是傳統(tǒng)軟件工程中的代碼開發(fā)的過程,而開發(fā)完的代碼勢必要打包运挫,部署給用戶使用,那么推理系統(tǒng)就負責應對模型部署的生命周期中遇到的挑戰(zhàn)和問題套耕。

  • 《輕量網(wǎng)絡》在端側(cè)推理引擎中谁帕,主要是執(zhí)行輕量的模型結(jié)構(gòu)。主要思想是針對神經(jīng)網(wǎng)絡模型設計更高效的網(wǎng)絡計算方式冯袍,從而使神經(jīng)網(wǎng)絡模型的參數(shù)量減少的同時匈挖,不損失網(wǎng)絡精度,并進一步提高模型的執(zhí)行效率康愤。本節(jié)主要集中介紹模型小型化中需要注意的參數(shù)和指標儡循,接著深入了解CNN經(jīng)典的輕量化模型和Transformer結(jié)構(gòu)的輕量化模型。

  • 《模型壓縮》模型壓縮跟輕量化網(wǎng)絡模型不同征冷,壓縮主要是對輕量化或者非輕量化模型執(zhí)行剪枝择膝、蒸餾、量化等壓縮算法和手段检激,使得模型更加小肴捉、更加輕便腹侣、更加利于執(zhí)行。

  • 《模型轉(zhuǎn)換&優(yōu)化》在這一節(jié)當中分為模型轉(zhuǎn)換和模型優(yōu)化齿穗,在整體架構(gòu)圖中屬于離線模型轉(zhuǎn)換模塊傲隶。一方面,推理引擎需要把不同 AI 框架訓練得到的模型進行轉(zhuǎn)換窃页;另外一方面需要對轉(zhuǎn)換后的模型進行圖優(yōu)化等技術跺株。

  • 《Kernel優(yōu)化》在上層應用或者 AI 網(wǎng)絡模型中,看到的是算子脖卖;但是在推理引擎實際執(zhí)行的是具體的 Kernel乒省,而推理引擎中 CNN 占據(jù)了主要是得執(zhí)行時間,因此其 Kernel 優(yōu)化尤為重要胚嘲。

希望這個系列能夠給大家作儿、朋友們帶來一些些幫助,也希望自己能夠繼續(xù)堅持完成所有內(nèi)容哈馋劈!

希望這個系列能夠給大家攻锰、朋友們帶來一些些幫助,也希望自己能夠繼續(xù)堅持完成所有內(nèi)容哈妓雾!

然這里不是打廣告娶吞,而是希望跟所有關注開源項目的好朋友一起探討研究,共同促進學習討論械姻,也歡迎各位專家和朋友多拍拍磚妒蛇,多提點意見。相關的材料都開源在這里:

cover.png

1. 推理系統(tǒng)

  1. 推理內(nèi)容介紹(video

  2. 什么是推理系統(tǒng)(video

  3. 推理流程全景(video

  4. 推理系統(tǒng)架構(gòu)(video

  5. (上) 推理引擎架構(gòu)(video

  6. (下) 推理引擎架構(gòu)(video

2. 模型小型化

  1. 推理參數(shù)了解(video

  2. (上) CNN模型小型化(video

  3. (下) CNN模型小型化(video

  4. Transformer小型化(video

3. 模型壓縮

  1. 壓縮四件套介紹(video

  2. 低比特量化原理(video

  3. 感知量化訓練 QAT(video

  4. 訓練后量化PTQ與部署(video

  5. 模型剪枝(video

  6. (上) 知識蒸餾原理(video

  7. (下) 知識蒸餾算法(video

4. 模型轉(zhuǎn)換

  1. 基本介紹(video

  2. 架構(gòu)與文件格式(video

  3. 自定義計算圖IR(video

  4. 流程細節(jié)(video

5. 圖優(yōu)化模塊

  1. 計算圖優(yōu)化策略(video

  2. 常量折疊&冗余節(jié)點消除(video

  3. 算子融合/替換/前移(video

  4. 數(shù)據(jù)布局轉(zhuǎn)換&內(nèi)存優(yōu)化(video

6. Kernel優(yōu)化

  1. Kernel優(yōu)化架構(gòu)(video

  2. 卷積操作基礎原理(video

  3. Im2Col算法(video

  4. Winograd算法(video

  5. QNNPack算法(video

  6. 推理內(nèi)存布局(video

完結(jié)楷拳,撒花绣夺!

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市欢揖,隨后出現(xiàn)的幾起案子陶耍,更是在濱河造成了極大的恐慌,老刑警劉巖她混,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件烈钞,死亡現(xiàn)場離奇詭異,居然都是意外死亡坤按,警方通過查閱死者的電腦和手機毯欣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來臭脓,“玉大人酗钞,你說我怎么就攤上這事。” “怎么了算吩?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵留凭,是天一觀的道長。 經(jīng)常有香客問我偎巢,道長蔼夜,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任压昼,我火速辦了婚禮求冷,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘窍霞。我一直安慰自己匠题,他們只是感情好,可當我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布但金。 她就那樣靜靜地躺著韭山,像睡著了一般。 火紅的嫁衣襯著肌膚如雪冷溃。 梳的紋絲不亂的頭發(fā)上钱磅,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天,我揣著相機與錄音似枕,去河邊找鬼盖淡。 笑死,一個胖子當著我的面吹牛凿歼,可吹牛的內(nèi)容都是我干的褪迟。 我是一名探鬼主播,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼答憔,長吁一口氣:“原來是場噩夢啊……” “哼味赃!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起虐拓,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤洁桌,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后侯嘀,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡谱轨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年戒幔,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片土童。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡诗茎,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情敢订,我是刑警寧澤王污,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站楚午,受9級特大地震影響昭齐,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜矾柜,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一阱驾、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧怪蔑,春花似錦里覆、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至弓坞,卻和暖如春隧甚,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背昼丑。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工呻逆, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人菩帝。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓咖城,卻偏偏與公主長得像,于是被迫代替她去往敵國和親呼奢。 傳聞我的和親對象是個殘疾皇子宜雀,可洞房花燭夜當晚...
    茶點故事閱讀 44,611評論 2 353

推薦閱讀更多精彩內(nèi)容