自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

百度跨平臺AI推理加速引擎--Anakin

企業(yè)動態(tài)
AI 技術(shù)包含訓(xùn)練和推理兩個階段。推理階段的性能好壞既關(guān)系到用戶體驗,又關(guān)系到企業(yè)的服務(wù)成本,甚至在一些極端應(yīng)用上(比如無人駕駛)直接關(guān)系到個人生命財產(chǎn)安全。

 一、前言

  AI 技術(shù)包含訓(xùn)練和推理兩個階段。推理階段的性能好壞既關(guān)系到用戶體驗,又關(guān)系到企業(yè)的服務(wù)成本,甚至在一些極端應(yīng)用上(比如無人駕駛)直接關(guān)系到個人生命財產(chǎn)安全。目前 AI 落地面臨的挑戰(zhàn)主要來源于兩方面,一方面是 AI 算法的日新月異,帶來了計算量的猛增,從 AlexNet 到 AlphaGo,5 年多的時間里計算量提升了 30w 倍。另一方面是底層硬件異構(gòu)化的趨勢愈發(fā)明顯,近年來涌現(xiàn)出非常多優(yōu)秀的架構(gòu)來解決 AI 計算力問題。推理引擎的首要任務(wù)就是將性能優(yōu)異且計算量龐大的深度學(xué)習(xí)框架快速部署到不同的硬件架構(gòu)之上,并且能夠保持性能相對高效。然而縱觀開源社區(qū)和閉源解決方案,沒有任何一款推理引擎可以同時滿足開源、跨平臺、高性能三個特性。因此,我們結(jié)合百度實際業(yè)務(wù)的需求、百度優(yōu)秀工程師的研發(fā)能力以及行業(yè)合作伙伴的大力支持共同完成了百度自己的推理引擎 Anakinv0.1.0。Anakin 目前支持 Intel-CPU、NVIDIA-GPU、AMD-GPU 和 ARM 平臺,后續(xù)將支持更多平臺如寒武紀(jì)、比特大陸等。今天 Anakin 正式開源,期望能夠借助社區(qū)的力量把 Anakin 打造的更加精美!

二、 Anakin 架構(gòu)

圖 1  Anakin 框架

  Anakin 框架的核心邏輯如圖 1 所示,主要由 Parser,Framework 和 Saber 組成。Parser 是獨立解析器,用于將不同訓(xùn)練框架生成的模型轉(zhuǎn)化為統(tǒng)一的 Anakin 圖描述。Framework 是框架主體,使用 C++ 實現(xiàn),用于完成硬件無關(guān)的所有操作,比如構(gòu)建網(wǎng)絡(luò)、圖融合、資源復(fù)用、計算調(diào)度等。Saber 是一個高效的跨平臺計算庫,包括大量的匯編級優(yōu)化代碼,并支持眾多國際行業(yè)合作伙伴的架構(gòu),如 Intel-cpu,NV-gpu,AMD-gpu 和 ARM 等,同時以后還將支持寒武紀(jì) MLU100 和比特大陸 BM1682 這兩款優(yōu)秀的國產(chǎn)芯片。

三、 Anakin 功能特性

  Anakin v0.1.0 具有開源、跨平臺、高性能三個特性,它可以在不同硬件平臺實現(xiàn)深度學(xué)習(xí)的高速推理功能。Anakin 在 NV、Intel、ARM 和 AMD-GPU 架構(gòu)上,體現(xiàn)了低功耗、高速預(yù)測的特點。

  1. 支持眾多異構(gòu)平臺-跨平臺

  Anakin 廣泛的和各個硬件廠商合作,采用聯(lián)合開發(fā)或者部分計算底層自行設(shè)計和開發(fā)的方式,為 Anakin 打造不同硬件平臺的計算引擎。目前 Anakin 已經(jīng)支持了多種硬件架構(gòu),如 Intel-CPU、NVIDIA-GPU、AMD-GPU、ARM 等,未來將會陸續(xù)支持比特大陸、寒武紀(jì)深度學(xué)習(xí)芯片等等不同硬件架構(gòu)。我們希望 Anakin 可以為用戶提供更靈活的底層選擇,更方便簡單的部署方式,并在不同底層硬件上達(dá)到***性能。

  2. 高性能

  Anakin 在眾多硬件平臺都有很好的性能收益, 本文列舉了一些實驗對比測試數(shù)據(jù),更詳盡的數(shù)據(jù)請參見 GitHub 上的 benchmark 數(shù)據(jù)。

  • 在 NV 架構(gòu)上,我們選擇 Anakin v0.1.0、TensorRT v3.0.0、Tensorflow v1.7.0 和 Caffe v1.0.0 進行了對比,具體的對比結(jié)果如圖 2 所示。

  測試平臺 Nvidia-P4 信息:

  ·   GPU ArchitectureNVIDIA Pascal™

  ·   Single-Precision Performance5.5 TFLOPS

  ·   GPU Memory 8 GB

  • 在 Intel 架構(gòu)上,我們選取 Tensorflow-v1.8.0 進行對比,具體的對比結(jié)果如圖 3 所示。

圖 3 Anakin andTensorflow on CPU

  測試平臺信息:

  ·   i7-7700:Intel (R) Core (TM) i7-7700 CPU @ 3.60GHz

  ·   2650-v4:Intel (R) Xeon (R) CPU E5-2650 v4 @ 2.20GHz

  ·   2620-v4:Intel (R) Xeon (R) CPU E5-2620 v4 @ 2.10GHz

  • 在移動端 ARM 上,我們選取 Tensorflow-lite 進行對比,具體的對比結(jié)果如圖 4 所示:

圖 4 Anakin and TFlite on ARM

  測試平臺信息:

  ·   榮耀 v9(root):處理器:麒麟 960, 4 big cores in2.36GHz, 4 little cores in 1.8GHz

  ·   高通 835,4 big cores in 2.36GHz, 4 little cores in 1.9GHz

  • 在 AMD-GPU 架構(gòu)上,我們選取 Anakin-v0.1.0 進行橫向?qū)Ρ?,具體的對比結(jié)果如圖 5 所示:

 

圖 5 MI8 and P4 on VGG16 model

  測試平臺信息:

  ·   MI8: AMDRadeon Instinct MI8

  single-Precision Performance8.192 TFLOPS

  GPU Memory 4 GB

  ·   P4: GPU Architecture NVIDIAPascal™

  Single-Precision Performance5.5 TFLOPS

  GPU Memory 8 GB

  圖 5 中的折線圖表示 MI8 和 P4 的執(zhí)行效率的相對比例,具體的計算公式:

  P4_Latency * P4_TFLOPS / (MI8_Latency* MI8_TFLOPS);

   從圖上的折線可知 Anakin 在 MI8 和 P4 上執(zhí)行效率非常接近,在 Thread_num 大于 2 時 Anakin_MI8 效率更高。

  3. 匯編級的 kernel 優(yōu)化

   Anakin 追求的目標(biāo)是***,因此它提供了一套基于 NVIDIAGPU SASS 匯編級優(yōu)化的庫。SASS 庫支持多種(如 sm61,sm50)NVIDA GPU 架構(gòu)的匯編實現(xiàn)的 conv 和 gemm 的核心計算。由于和 NVIDIA 商業(yè)保密協(xié)議規(guī)定,目前只能開源編譯好的 SASS 庫

四、Anakin 值得一提的技術(shù)亮點

  • 輕量的 dashboard

  Anakin v0.1.0 框架中的 Parser 提供了一個額外的小功能,可以讓開發(fā)者查看 Anakin 優(yōu)化前后的網(wǎng)絡(luò)結(jié)構(gòu)及參數(shù),如圖 6 和圖 7 所示。這將有助于開發(fā)者方便的分析模型。同時,在優(yōu)化后的 Anakin 執(zhí)行圖中會添加相應(yīng)的優(yōu)化標(biāo)記,主要包括 memory 復(fù)用、op 融合、并行度分析、執(zhí)行順序分析、存儲器使用以及同步標(biāo)記等。例如,在圖 7 中,對于標(biāo)記了 New 標(biāo)簽的地方,在代碼運行過程中,將只會對這些內(nèi)容分配內(nèi)存。這種處理方式將使得 Anakin 運行時所需的 memory 更少。

圖 6 優(yōu)化前的網(wǎng)絡(luò)結(jié)構(gòu)圖

圖 7 優(yōu)化后的網(wǎng)絡(luò)結(jié)構(gòu)圖 

  • Anakin-lite 輕量的移動端版本

  Anakin 還提供了在移動端運行的輕量版本 anakin-lite, 我們借助上層圖優(yōu)化機制,幫助深度學(xué)習(xí)模型 code 自動生成,針對具體模型自動生成的可執(zhí)行文件,并且結(jié)合針對 ARM 專門設(shè)計的一套輕量接口,合并編譯生成模型的 lite 版本。

  Anakin-lite 保持精簡化,全底層庫大小經(jīng)過剪裁只有 150K 左右,加上自動生成的深度學(xué)習(xí)模型模塊,總大小在 200K。模型參數(shù)不再采用 protobuf 而是精簡的 weights 堆疊的方式,盡可能減小 model 尺寸。同時,anakin-lite 依然保有上層 anakin 框架的優(yōu)化分析信息(比如存儲復(fù)用等),最終可以做到內(nèi)存消耗相對較小,模型尺寸相對精簡。

  • Anakin 多層次的應(yīng)用

  ***個層次:Anakin 可以是一個計算庫;

  第二個層次:Anakin 可以是一個獨立的推理引擎;

  第三個層次:Anakin 可以通過 Anakin-rpc 構(gòu)建一個完整的推理服務(wù)?! ?nbsp;

五、Anakin 的發(fā)展前景

    Anakin v0.1.0 具有開源、跨平臺、高性能三個特性,它可以在不同硬件平臺實現(xiàn)深度學(xué)習(xí)的高速推理功能。對于每個開發(fā)廠商,僅僅使用一套 Anakin 框架,就能在不同的硬件服務(wù)器上實現(xiàn)快速推理。

      Anakin 的***目標(biāo)是幫助實際業(yè)務(wù)模型快速迭代和上線,為深度學(xué)習(xí)模型產(chǎn)業(yè)化落地掃清障礙,從而讓廣大的工程師更專注算法設(shè)計,從繁重的優(yōu)化和工程中解脫出來,進而推動深度學(xué)習(xí)的哪怕一點點的進步,這就是我們***的愿望。

責(zé)任編輯:張燕妮 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2020-09-16 13:57:27

百度世界2020百度大腦

2021-06-03 15:22:37

百度智能云AI原生

2011-12-08 15:31:24

百度開放平臺

2013-03-11 10:16:52

百度BAE

2023-10-18 11:34:16

AI Native百度

2018-09-06 18:37:45

百度云

2017-11-17 10:04:17

百度世界大會百度AI

2011-09-06 16:33:35

百度世界2011

2013-08-23 17:12:07

百度WebApp開發(fā)框架

2013-08-22 17:08:50

2014-07-25 17:12:39

數(shù)據(jù)庫WOT2014MongoDB

2018-03-09 22:56:52

PaddlePaddl

2015-05-27 09:51:45

百度深度學(xué)習(xí)人工智能

2012-07-02 09:41:29

百度云計算平臺

2013-11-08 13:26:57

百度LBS開放平臺
點贊
收藏

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