Toc
  1. 边缘计算的由来
    1. 与云计算对应
    2. 边缘计算
    3. 边缘计算芯片运行算法更好
    4. 边缘计算的优点
  2. 边缘计算开发板
    1. intel
    2. google
    3. 英伟达
    4. 华为
    5. 比特大陆
  3. 开发与使用方法
    1. 开发思路
    2. 开发流程与方法
    3. 利用服务器的开发方式
    4. 边缘计算开发板与一般芯片开发板的不同
  4. 参考文献及资料
Toc
0 results found
MINGG
边缘计算典型的开发板及其使用方法

总结对边缘计算及其芯片与开发板,不定期更新。

[TOC]

边缘计算的由来

与云计算对应

以语音识别为例,输入法里的语音输入,需要联网才能运行,联网的过程就是把语音数据上传到云端进行处理,处理后的结果再下传回用户。语音识别属于AI里的“自然语言理解”,复杂的语句识别要经历语音分析、词法分析、句法分析、语义分析、语用分析等层层过程,整个过程的运算会越来越复杂,而且还要结合训练后的语音模型,而云端既完成了基于海量数据的语音模型的训练,又能够对语音进行分析与识别。

image-20200602230456646

边缘计算

还是从输入法里的语音输入说起。下载离线语音包,就可以实现不联网的语音识别,整个过程在本地运算算法,这就是一种边缘计算。

下载的语音包其实是来自云端的训练,而语音分析与识别分过程确确实实是在手机端即“边缘”进行的,这就体现出一种云端与边缘的分工。

在过去的手机中通常是利用CPU运行这种算法,而现在的趋势是利用集成的AI/边缘计算芯片来运行这种算法 。

image-20200602230549053

边缘计算芯片运行算法更好

因为芯片的结构。目前的高级算法主要是进行神经网络的计算,比如CNN(卷积神经网络),这些运算本质上是向量、矩阵的乘加运算(如图),而AI/边缘计算芯片的结构能够高效地进行并行计算(如图)。

image-20200602230708436 image-20200602230727812

边缘计算的优点

运用AI/边缘计算芯片进行AI本地推理可以显著节约云端的带宽和云计算的成本,并能将数据保存在本地从而保护用户隐私。

image-20200602230813155

边缘计算开发板

边缘计算开发板(EDB)就是以AI/边缘计算芯片为核心的开发板,用于开发者对芯片的学习与开发,和普通的开发板外观上没有什么区别,下面按照芯片供应商分类举一些典型的例子。

intel

芯片:第八代Intel®Core™处理器
开发板:Pico-WHU4开发板

image-20200602231102374

google

Google形成了以Edge TPU为核心的边缘计算开发体系。Google的开发板有很多种。

芯片:Edge TPU
开发板:
Coral Dev Board

image-20200602231239209

​ Coral System-on-Module

image-20200602231253068

​ Tinker Edge T/E

image-20200602231304971

​ Tiorb AIX

image-20200602231456662

英伟达

NVIDIA

开发板:Jetson Nano

image-20200602231659067

华为

华为也有比较完善的边缘计算开发生态。

芯片:麒麟970
开发板:HiHope Hikey 970

image-20200602231730122

芯片:昇腾310
开发套件:Atlas 200 DK

image-20200602231902793

image-20200602231922225

比特大陆

芯片:BM1880
开发板:算丰边缘计算开发板

image-20200602232111969

开发与使用方法

开发思路

SOC开发板一般有两种开发思路:

1.把开发板作为USB device(即把SDK安装在电脑进行开发)

2.开发板作为host role(即把SDK安装在开发板的SOC芯片中)

开发流程与方法

典型的边缘计算开发板都具有相似的开发流程:

1.准备硬件(电源、TF卡、网卡网线、显示器、鼠标、摄像头等)

2.运行(或者更换)操作系统

3.下载对应的SDK,开发应用程序

利用服务器的开发方式

以华为Atlas 200 DK为例,

image-20200602232241881

1.环境部署:

○硬件准备:包括SD卡、读卡器、摄像头、MIPI-CSI连接线(常用于嵌入式视觉领域)、Type-C等;

准备Ubuntu服务器,为了下一步准备;

○运行环境搭建:与服务器连接制作SD卡,开发套件读取SD卡运行系统,连接服务器在服务器中部署开发工具/平台(如有UI界面的集成了DDK的专用软件SDK或者用于使用命令行的DDK);

2.应用开发:

○模型转换,导入已训练好的第三方网络模型,基于模型接口进行编程;算子开发;

○应用开发、应用编译及部署。

边缘计算开发板与一般芯片开发板的不同

边缘计算开发板的开发一般都与AI相关,因此离不开AI训练/模型相关的平台,通过一些平台导入模型进行训练或者推理(如Model Play),还需要借助通用的框架在移动或者嵌入式设备上调用模型(如TensorFlow Lite)。

image-20200602232325578

参考文献及资料

[1]蔡自兴,刘丽珏,蔡竞峰,等.人工智能及其应用.第5版[M].清华大学出版社:北京,2016:152-159.

[2]Intel开发者社区

https://software.intel.com/content/www/us/en/develop/home.html

[3]Coral Dev Board官方开发资料

https://www.coral.ai/docs/dev-board/get-started

[4]Nvidia Jetson Nano官方开发资料

https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkit#setup

[5]算丰边缘计算开发板官方开发资料

https://sophon-edge.gitbook.io/project/overview/edge-tpu-developer-board

[6] HiHope Hikey 970官方开发资料

https://www.96boards.org/documentation/consumer/hikey/hikey970/

[7] Atlas 200 DK官方开发资料

https://www.huaweicloud.com/ascend/doc/atlas200dk/1.32.0.0(beta)/zh/zh-cn_topic_0204328966.html

[8]人工智能芯片与传统芯片的区别

https://blog.csdn.net/zhangbijun1230/article/details/80717351

[9]基于大数据及云计算的语音识别及其深度学习平台

http://www.cbdio.com/BigData/2015-04/08/content_2802203.htm

打赏
支付宝
微信
本文作者:MINGG
版权声明:本文首发于MINGG的博客,转载请注明出处!