迪丽热巴 dl( 三 )


迪丽热巴 dl

文章插图
我们提供了全面的模型效果的评估功能 。我们有一个整体模型评估的页面去展现出我们整个模型的像准确率、正确率等指标 。比如说图像分类中每个分类的精确度,比如说在物体检测中,我们会展示这个不同阈值下的F1Score 。我们会帮助我们的用户去选择一个阈值 。我们还提供了BadCase的展示,然后通过BadCase展示我们的模型哪个图片识别错了,然后有一个感性的认识,去发现自己数据当中可能存在的问题,或者去补充一些效果比较差的一些分类的数据 。
以上是我们服务端的核心技术 。大家也知道我们不仅提供云端的API服务,也提供离线SDK 。那么我们为什么要做这样的一个设备端计算呢,这其实是IoT领域提出的一个概念,在智能家居领域里面,每个家庭的局域网内有很多智能的设备 。有些计算自己可能就可以在自己的设备上完成 。然后,但是计算力不够的时候,有可能需要中间有一层叫做雾计算的结构 。所以需要去做一些运算和协调计算 。如果再不能满足,便再向上请求到云计算的服务器去做计算和协调这样的一个多层的计算网络的结构 。
迪丽热巴 dl

文章插图
就是因为云计算和设备端计算他们有不同的特性,就向右边这张表格所展示的,云计算在计算能力方面非常的强大,而且系统的架构非常的开放,非常的集中在一些机房里,而且研发成本相对较低 。因为互联网时代已经有非常这样的开发经验 。但是设备端计算也有自己的一些优点,虽然算力有限但是可以做到比如模型的前向推理,没有网络的依赖,可以做到实时的响应,而且它的功耗非常的低 。
迪丽热巴 dl

文章插图
正是由于设备端有这样的响应、没有网络开销,而且方便私有化部署、保护隐私等等这样的优势 。所以说我们也支持了设备端计算的能力,并且非常看重这个方向 。目前我们EasyDL的平台,已经支持了iOS 利用MPS实现GPU加速和ARM芯片通过NEON技术加速和android方面支持NPU的加速计算,并且还会有计划去支持更多的系统和计算平台 。
迪丽热巴 dl

文章插图
目前我们提供设备端能力是通过下面两种方式 。首先,提供了一个默认的app,用户扫码就可以安装并使用 。在这个app里面内嵌了定制模型,还有一些基本的UI界面用户就可以在里面去操作去试使用 。另外一种方式是我们提供了离线的SDK,这个SDK里面封装了完善的接口,可以满足开发者去做灵活的二次开发 。下面给大家简单介绍一下我们EasyDL设备端的技术 。我们的EasyDL设备端也是基于Paddle Mobile设备端深度学习计算框架去做的,并且我们已经广泛支持主流的设备操作系统和芯片,并且还做了设备的模型的转换压缩优化 。在设备端计算加速这块,我们就是充分利用的设备端芯片进行加速,比如说我们在IOS上用了MPS库,可以更好的利用IOS上面的GPU进行加速 。我们还在ARM芯片上通过NEON技术来做加速 。
除了速度时间这个因素之外,我们在设备端去部署模型还要考虑的一个问题是模型的体积 。在服务器上,我们都到的机器学习模型往往大小在两百兆到五百兆或者说更大 。因为深度学习网络的模型会比较复杂,而且,尤其是如果说你有很多全连接层,参数就会更多,但是设备端的内存容量,计算能力一般都远远低于服务端 。我们手机的内存可能就两G,这已经很大了,而且我们也不可能把这个全部都占满,所以说我们必须得做模型压缩,然后减少内存占用,提高计算的效率 。
目前,我们通过一些模型加速的技术可以把这个移动端的模型的体积压缩到二、三十兆 。我们采用的压缩技术包括把一些不重要的参数去掉,量化,将一些浮点数量化成8bit的数值或者4bit的数值 。或者是采用一些更轻量化的网络 。
迪丽热巴 dl

文章插图
下面呢,给大家介绍一下我们如何利用GPU集群去加速EasyDL的训练和推理 。我们EasyDL平台主要就是利用英伟达的特斯拉系列的GPU去做去深度学习的平台 。目前主力是p4和p40这样的GPU,我们还用到了这样像V100这样的高端的GPU来做模型的训练实验等 。我们用这样的大规模集群去做并发的训练来支撑我们大规模的深度神经网络的并发的训练 。能够大幅度缩减我们训练的周期 。像这个p4有5.5t的单精度的计算能力 。

秒懂生活扩展阅读