作者
寒武纪 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 官网:https://superedge.io 进行查看,单干交换可在社区 https://github.com/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 https://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 https://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 插件下载地址:https://github.com/Cambricon/…
mlu 监控组件:https://github.com/Cambricon/…
应用边缘智能加速卡进行边缘利用减速
在提交边缘相应负载的时候指定 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 性能优化实际、最佳实际等系列。
【腾讯云原生】云说新品、云研新术、云游新活、云赏资讯,扫码关注同名公众号,及时获取更多干货!!