SuperEdge再添國產智能加速卡支持,為邊緣智能推理再提速10倍

作者

寒武紀AE團隊,騰訊雲容器中心邊緣計算團隊,SuperEdge 開發者

SuperEdge 支持國產智能加速卡寒武紀 MLU220

SuperEdge 對應的商業產品 TKE Edge 也一直在硬件和加速方面在持續耕耘,不但支持 NVIDIA 系列 GPU的加速,還在 GPU 虛擬,QGPU 化等方面持續發力。本次聯合寒武紀對國產智能邊緣加速卡進行了支持,以利於用戶在邊緣進行模型訓練和邊緣智能推理性能的提升。下面是經過寒武紀 AE 團隊和 SuperEdge 開源團隊的聯合測試,對國產寒武紀邊緣計算加速卡兼容性的聯合聲明。

中科寒武紀科技股份有限公司的邊緣智能加速卡 MLU220-M.2和分佈式邊緣容器管理系統 SuperEdge 與相互兼容,能夠對搭載M.2的邊緣設備在視頻、圖像、語音等應用上提供數十倍的加速能力, 在此發表聯合聲明。

下面給出兩個分類網絡在 CPU 和 M.2 上的吞吐性能對比。

網絡模型 M.2(fps) CPU(fps)
vgg16 184 13
resnet50 417 29

可以看出 vgg16 M.2 是普通 i7-8700K的14倍,Resnet50 也是普通 i7-8700K 的14倍。

其中,CPU 採用的是 Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz

SuperEdge 邊緣容器解決方案

SuperEdge 是2020年12月騰訊雲聯合英特爾、VMware 威睿、虎牙、寒武紀、美團、首都在線發佈的基於原生Kubernetes 的邊緣分佈式容器管理系統。該系統把雲原生能力擴展到邊緣側,很好的實現了雲端對邊緣端的管理和控制,極大簡化了應用從雲端部署到邊緣應用的過程。2021年9月已被 CNCF 基金會接受,成為 CNCF Sandbox項目,由 CNCF 監管和運維。

SuperEdge提供了如下能力:

邊緣自治

雲邊網絡往往是弱網絡,中間可能是有線、無線、WIFI……連接,可能是4G、5G網絡,雲邊斷鏈是常態。斷連時間不定,短則三五分鐘,長則數小時、幾天,那麼如何保證邊緣服務不被驅逐,繼續提供正常服務呢?
SuperEdge 的邊緣自治能力,可以保證雲邊斷連的情況下,邊緣服務繼續穩定運行,即使邊緣節點斷電重啟,也能自動恢復已經部署到該節點的邊緣服務繼續運行。

分佈式健康檢查

SuperEdge 提供的邊緣分佈式健康檢查能力有兩個作用:

  • 只要邊緣節點正常,邊緣服務就不會驅逐
    SuperEdge 會在每個邊緣節點部署一個 edge-health 的 deamonset,同一個邊緣 Kubernetes 集群的節點會定期 Check 彼此,對彼此的健康性進行投票,並將投票結果反饋到雲端。即使邊緣 Kubernetes 集群的一個節點雲邊網絡斷連,其他節點也會把他的健康性反饋到雲端,就不會對該節點進行驅逐。
  • 可分組進行分佈式健康檢查
    即把邊緣 Kubernetes 集群的邊緣節點分成多個組(同一機房,或者同一地域),每個組內的節點之間相互檢查。這樣做的好處是避免集群規模增大後節點之間的 Check 數據交互變大,佔用節點流量,投票結果也難以達成一致的情況。

edge-health 的設計避免了由於雲邊網絡不穩定造成的大量的 Pod 遷移和重建,保證了邊緣服務的穩定。

服務訪問控制

SuperEdge 自研的 ServiceGroup 實現了基於邊緣計算的服務訪問控制,主要有三個作用:

  • 一鍵把邊緣服務部署到不同站點
    可以一鍵把同一套服務部署到位於同一邊緣 Kubernetes 集群的不同站點,各個站點的服務完全保持一致。該特性目前支持 DeploymentGrid 以及 ServiceGrid 兩種 Custom Resource,可以便捷的在同一個集群的多個機房或區域中各部署一組服務。
  • 同一站點可實現流量閉環
    各個站點雖然有同一套服務,但是會把本站點的訪問只鎖定本站點內,不會跨站點去訪問其他站點的同一套服務。
  • 新站點自動部署相應服務
    新加入的站點,可指定服務標籤自動部署同一套站點服務,為站點擴展提供了自動部署服務的支持。

雲邊隧道

邊緣節點一般是沒有公網IP的,或者在一個NAT網絡背後,雲端無法直接訪問邊緣節點,這就使得 kubectl logs、kubectl exec……等雲端訪問邊緣節點的請求完全失靈。
SuperEdge 自研的雲邊自建隧道(目前支持TCP、HTTP、HTTPS、ssh)打通了不同網絡環境下的雲邊連接問題。實現對無公網 IP 邊緣節點的雲端統一操作和維護。

批量添加局域網邊緣節點及遠程運維局域網邊緣節點

為了解決生產環境海量邊緣節點的接入,SuperEdge 團隊特提供了penetrator-controller組件支持了局域網內成千上萬邊緣節點的接入,並且還可以在雲端遠程登錄到局域網內的邊緣節點進行遠程運維。

更多的特性可登錄 SuperEdge 官網://superedge.io 進行查看,合作交流可在社區//github.com/superedge/superedge 提 Issuse。

MLU220 是什麼?

MLU220-M.2 是寒武紀為邊緣計算專門打造的加速卡,它在手指大小的標準M.2加速卡上集成了 8TOPS 理論峰值性能,功耗僅為 8.25W,可以輕鬆實現終端設備和邊緣端設備的 AI 賦能方案。支持視覺、語音、自然語言處理以及傳統機器學習等多樣化的人工智能應用,實現各種業務的邊緣端智能化解決方案。

MLU220 具有如下特性:

  • 小個頭大智能
    思元220芯片是面向邊緣側量身定製的智能化解決方案,在 U 盤大小的尺寸下就可以提供8路高清視頻的實時智能分析,可廣泛支持視覺、語音、自然語言處理以及傳統機器學習等高度多樣化的人工智能應用,為邊緣計算節點裝上智慧的大腦。

  • 新一代寒武紀硬件架構
    MLUv02 架構不是簡單的從上一代升級而來,新架構基於片上網絡(NOC)構建,多個 NPU 集群的並行效率。基於硬件的片內數據壓縮,提升緩存有效容量和帶寬。新架構提供 INT16,INT8,INT4,FP32,FP16 的全面 AI 精度支持,滿足多樣化神經網絡的計算力要求,通用、性能兼備。

  • 計算彈性和可編程
    思元220芯片支持多類神經網絡,NeuWare 軟件棧可以輕鬆部署推理環境。BANG Lang 編程環境可對計算資源做直接定製,滿足多樣化 AI 定製要求,專業而不專用。

  • 加速卡硬件規格

    加速卡硬件規格可概括如下:

    參數 規格
    型號 MLU220-M.2
    內存 4GB, LPDDR4, 3200MHz
    AI算力 8TOPS(INT8)
    編解碼能力 支持H.264,H.265, VP8, VP9;解碼8x1080P@30Hz;編碼4x1080P@30Hz
    圖片解碼 支持JEPG最大分辨率8K;解碼410 fps@1080P;編碼400 fps@1080P
    接口規格 M.2 2280, B+M Key (PCIE 3.0 X2)
    功耗 8.25W (3.3V 2.5A)
    結構尺寸 80mm x 22mm x 7.3mm(無散熱)/21.3mm(帶散熱)
    散熱 被動散熱

MLU220 能用來做什麼?

MLU220 小巧的體積,強大的算力,使得它可廣泛應用於智慧交通、智能電網、智能製造、智能金融等邊緣計算場景,下面是一些典型的應用場景的介紹:

智慧交通


為保障道路安全和有序,在城市中的十字路口和關鍵道路部署多路攝像頭及 MLU220 邊緣加速卡。
MLU220 可實現對多路攝像頭輸入圖像的解碼處理;基於深度學習技術,MLU220 可實現對監控路段的行人,機動車,和非機動車的檢測,跟蹤及結構化,在交通業務上進一步做到智能車流人流統計,違法抓拍取證,關鍵人車的識別抓取等,極大提高交通部門效率。

智慧工廠

為打造現代化智能製造的智慧工廠,在廠區工位部署多路攝像頭及 MLU220 邊緣加速卡。
憑藉獨立的編解碼單元,MLU220 可實現對多路攝像頭圖像的解碼;在強大的算力支持下,MLU220 可實現對工人的檢測,姿態識別以及對工件的檢測和識別,從而實現檢測工人是否在崗,工人操作是否合規以及工件是否按規定擺放等工廠的智能管理。

智慧畜牧


為實現畜牧業生產管理,安全健康監控和養殖環境智能檢測,在養殖基地部署多路攝像頭和 MLU220 邊緣加速卡;通過深度學習技術,實現對種豬的識別,檢測,實例分割和跟蹤,進一步實現對種豬的點數,健康檢測,吃食統計,屠宰輔助等智能養殖技術,減少人力成本,提供養殖效率。

如何在 SuperEdge 上使用寒武紀 MLU220

我們基於 SuperEdge 演示如何使用寒武紀邊緣智能加速卡:

用 edgeadm 創建一個 SuperEdge 邊緣 Kubernetes 集群

  • 下載 edgeadm 安裝包

    arch=amd64 version=v0.6.0 && rm -rf edgeadm-linux-* && wget //superedge-1253687700.cos.ap-guangzhou.myqcloud.com/$version/$arch/edgeadm-linux-$arch-$version.tgz && tar -xzvf edgeadm-linux-* && cd edgeadm-linux-$arch-$version && ./edgeadm
    
  • 初始化邊緣 Kubernetes Master 節點

    ./edgeadm init --kubernetes-version=1.18.2 --image-repository superedge.tencentcloudcr.com/superedge --service-cidr=10.96.0.0/12 --pod-network-cidr=192.168.0.0/16 --install-pkg-path ./kube-linux-*.tar.gz --apiserver-cert-extra-sans=<Master Public IP> --apiserver-advertise-address=<Master Intranet IP> --enable-edge=true
    
  • 加入一個帶寒武紀邊緣智能加速卡的邊緣節點

    ./edgeadm join <Master Public/Intranet IP Or Domain>:Port --token xxxx --discovery-token-ca-cert-hash sha256:xxxxxxxxxx --install-pkg-path <edgeadm kube-* install package address path> --enable-edge=true
    

    關於 edgeadm 安裝邊緣 Kubernetes 集群的詳細介紹可參考:用 edgeadm 一鍵安裝邊緣 K8s 集群和原生 K8s 集群

安裝寒武紀邊緣智能加速卡的插件

  • 安裝邊緣智能加速卡的插件

    kubectl create -f //github.com/Cambricon/cambricon-k8s-device-plugin/blob/master/device-plugin/examples/cambricon-device-plugin-daemonset.yaml
    
  • 檢查插件是否安裝成功

     kubectl get node <邊緣節點NodeName> -o json --output="jsonpath={.status.allocatable}"
    

    看到邊緣節點 node status.allocatable 有 cambricon.com/mlu 有相關資源值表示邊緣智能加速卡及插件安裝成功。

    "allocatable": {
        "cambricon.com/mlu": "1", ## MUL卡資源
        "cpu": "12",
        ...
        "memory": "16164684Ki",
        "pods": "110"
    }
    

    看到allocatable裏面存在cambricon.com/mlu並且其資源值大於等於0,表示寒武紀邊緣智能加速卡及其插件已經安裝成功。

    mlu插件下載地址://github.com/Cambricon/cambricon-k8s-device-plugin

    mlu監控組件://github.com/Cambricon/mlu-exporter

使用邊緣智能加速卡進行邊緣應用加速

在提交邊緣相應負載的時候指定 cambricon.com/mlu 來應用寒武紀邊緣智能加速卡進行加速, 比如:

apiVersion: v1
kind: Pod
...
spec:
  containers:
  - image: 10.13.30.52:5000/yolov4:latest
    name: yolov4-ctr
    resources:
      limits:
        cambricon.com/mlu: 1 ## 指定加速卡limits
      requests:
        cambricon.com/mlu: 1 ## 指定加速卡requests
...

未來

未來寒武紀和騰訊雲會在邊緣硬件和邊緣雲服務上進行更多的合作,為邊緣 AI、邊緣 IoT,數字化,人工智能……進行軟硬件的賦能,並且相應能力在相關的商業產品中對用戶提供支持,歡迎關注騰訊雲邊緣計算雲平台 TKE Edge 和寒武紀相關加速商業產品,試用體驗邊緣更多的加速產品。

關於我們

更多關於雲原生的案例和知識,可關注同名【騰訊雲原生】公眾號~

福利:

①公眾號後台回復【手冊】,可獲得《騰訊雲原生路線圖手冊》&《騰訊雲原生最佳實踐》~

②公眾號後台回復【系列】,可獲得《15個系列100+篇超實用雲原生原創乾貨合集》,包含Kubernetes 降本增效、K8s 性能優化實踐、最佳實踐等系列。

【騰訊雲原生】雲說新品、雲研新術、雲遊新活、雲賞資訊,掃碼關注同名公眾號,及時獲取更多乾貨!!