首次披露!阿里线下智能方案进化史

阿里妹导读:AI 技术已经从互联网走向零售、汽车、银行等传统行业。受限于延时、成本、安全等多方面的限制,单一的云解决方案每每不能知足场景需求。线下智能方案逐步成为了智能化过程当中重要的一环,今天,咱们就一块儿来了解这一环,但愿这些内容可让同窗了解线下智能的前景和其中待解决的技术点。算法

前言

阿里巴巴机器智能实验室线下智能团队从16年末开始涉及线下智能领域,从算法、工程、产品化、业务落地多个方面入手,与合做伙伴们一块儿取得了一些小小的成绩。算法方面,咱们提出了自主研发的模型压缩方法,新型模型结构和目标检测框架;工程方面,咱们研发出一套非数据依赖的量化训练工具,而且针对不一样硬件平台,研发了高效推理计算库;同时咱们也和服务器研发团队一块儿抽象出了一套软硬件产品化方案,以服务多样的业务形式,并在真实业务场景中实验落地。安全

在后面的篇幅中,咱们主要会从算法探索、训练工具、推理框架、产品化和业务模式等方面对以前的工做作一个总结和分享。服务器

算法探索

基于 ADMM 的低比特量化网络

低比特量化是模型压缩( ModelCompression )和推理加速( Inference Acceleration )中一个核心的问题,目的是将神经网络中原有的浮点型参数量化成 1-8Bits 的定点参数,从而减少模型大小和计算资源消耗。为了解决这个问题,咱们提出了基于 ADMM(Alternating Direction Method ofMultipliers)的低比特量化方案。在公开数据集 ImageNet 上,咱们在 Alexnet,ResNet-18,Resnet-50 等经典 CNN 网络结构上作了实验,不管是精度上仍是速度上均超过了目前已知的算法。咱们能够在 3-bit 上面作到几乎无损压缩。目前该方法已经被普遍应用到各类端上目标检测和图像识别的实际项目中。相关成果已经在 AAAI 2018 上发表。架构

统一量化稀疏框架框架

量化技术能够经过简化计算单元(浮点计算单元->定点计算单元)提高推理速度。 稀疏化( Pruning ) 技术则是经过对神经网络中的通路进行裁剪来减小真实计算量。咱们很天然的将这两个技术融合到了一块儿,来获取极限的理论加速比。在剪枝过程当中,咱们采用了渐进式的训练方法,并结合梯度信息决定网络中路径的重要程度。在 ResNet 结构上,咱们能够作到90%稀疏度下的近似无损压缩。运维

在稀疏化研究过程当中,咱们发现了一个问题,更细粒度的裁剪每每会得到更高的精度,可是代价是牺牲了硬件友好性,很难在实际应用中得到理论加速比。在后面的章节中,咱们会经过两个角度来解决这个问题:工具

  • 软硬件协同设计,从软硬件角度同时出发解决问题;
  • 新型轻量级网络,从软件角度设计适合更适合现有硬件的结构。

软硬件协同网络结构性能

经过量化和稀疏技术,咱们能够得到一个理论计算量足够低,所需计算单元足够简单的深度网络模型。下一个要解决的问题就是咱们如何将其转换成一个真实推理延时低的算法服务。为了挑战极限的推理加速效果,咱们和服务器研发团队一块儿,从软硬件联合设计出发解决该问题。在该项目中,咱们提出了如下几个创新点,其中包括:学习

  • 软硬件协同设计方面,咱们针对硬件物理特性提出了异构并行分支结构,最大化并行效率。
  • 算法方面,咱们利用量化、稀疏、知识蒸馏等技术,将理论计算量压缩到原始模型的18%。
  • 硬件方面,咱们经过算子填充技术解决稀疏计算带来的带宽问题,利用算子重排技术平衡PE负载。

经过上述方案,咱们只须要 0.174ms 的 latency 就能够完成 resnet-18 复杂程度的模型推理,达到业内最佳水平。该方案在对 latency 敏感的领域具备极大的优点。相关成果已经在 HotChips 30 上展出。

新型轻量级网络

软硬件协同设计是一个很是好的推理解决方案,可是改方案的开发成本和硬件成本都很高。某些特定的场景对于 latency 和 accuracy 的容忍度比较高(例如人脸抓拍)。为了解决这类需求,咱们提出了一种多联合复用网络 (Multi-Layer Feature Federation Network, MuffNet) ,该结构同时具备3个特色:

  • 稀疏的拓扑结构,同时更容易获取高频响应;
  • 密集的计算节点,保证硬件友好性;
  • 针对低成本硬件充分优化,小计算量下精度提高更明显;

咱们提出的新型网络因为每一个单元的计算比较密集,并不存在过多的碎片操做,是很是适合在通用硬件上运行的。在公开数据集 ImageNet 上,咱们在 40MFLops 计算量上相比目前业内最优的 shufflenetv2 结构,准确度绝对提高了2%。

端上目标检测框架

相比图像识别类任务,目标检测类任务的适用场景更普遍。高效的目标检测框架具备很高的研究价值。针对端上场景,咱们提出了一个 LRSSD 框架( light refine single short multiboxdetector ), 该框架包括如下几个特色:

  • 简化 SSD HEAD,采用共享预测层 设计特征融合模块;
  • 融合不一样尺度下信息 级联形式的 bbox 回归;
  • 对检测模型作全量化处理。

如上表所示,相同 backbone 网络的状况下,咱们提出的 LRSSD 在减小 SSD HEAD 计算量的同时,mAP 能够稳定提高3%-4% 。从另外一个角度来看,在保证检测精度不变的状况下,咱们的方法能够将模型复杂度减小到原来的50%左右。若是再考虑到量化带来的速度加成,在相同精度下,相比原有全精度模型,咱们能够得到总共约2-3倍的真实速度提高。

小结

上文给出了咱们近2年内在线下智能—模型压缩领域所作的一些技术积累。概括起来以下:

  • 量化方面:咱们能够作到 3-bit 量化几乎无损压缩!
  • 稀疏方面:对于传统网络结构,咱们能够作到90%稀疏度下的几乎无损压缩!
  • 软硬件协同设计方面:咱们联合服务器研发团队,达到0.174ms/张的resnet18 极限推理速度,目前已知业内最佳效果!
  • 轻量级网络设计方面:咱们在 40MFlops 计算量下,相对目前业内最好结构,在 ImageNet 数据集上绝对提高2%!
  • 端上目标检测方面,咱们在保证精度不变的状况下,速度提高约2-3倍!

在技术探索的同时,咱们也在积极的将上述技术应用到实际的业务中。在这一过程当中咱们发现了下列几个问题:

  • 易用性: 业务场景每每须要快速的迭代能力和灵活方便的部署能力,所以非标准化的方案很难被普遍应用。
  • 理论速度 vs 真实速度: 除了算法和硬件之外,真实的模型推理速度是须要一个高效的工程实现做为支撑的。
  • 集成化 :线下智能须要同时考验团队在硬件和软件方面两方面的实力,这对业务而言每每太过沉重。

在本文后半部分,咱们首先会针对上述的几个问题介绍咱们已经作过的尝试和沉淀出的解决方案。最后,咱们列出了一些实例,展现如何在具体的业务场景中应用线下智能技术,但愿能够给各位同窗一个更直观的认识。

训练工具

在实际业务推广过程当中,咱们遇到的第一个问题是易用性问题:

  • 不一样业务每每使用的深度学习库多种多样,例如 Caffe, Tensorflow, Mxnet 等等;
  • 不一样业务使用的基础技术差别比较大,有分类识别、检测、分割、语音等等;
  • 不一样业务的数据安全级别差别比较大,有些能够公开,有些则须要彻底物理隔离;

为了让更多的场景均可以用上咱们的服务,得到 AI 的红利,咱们提出了一套标准化的量化训练工具。

如上图所示,首先,咱们的工具输入支持多种模型格式( TensorFlow,Caffe,Mxnet 等)。其次,咱们提供了两种不一样的模型量化方法,一种是支持不一样任务(分类,检测,分割等)的数据依赖型压缩方法( Data Dependent Compression ) , 适用于对数据安全要求不是很高,但愿追求精度最大化的业务;另外一种是数据非依赖压缩方法( Data Independent Compression ),适用于对数据安全要求高,或者业务逻辑不是特别复杂的场景。

最后,在量化工做完成后,咱们的工具会自动完成推理图的优化和模型加密,生成能够实际部署的模型文件。配合对应的推理加速库便可在端上运行。从易用性和数据安全性角度出发,咱们推荐使用数据非依赖性的压缩方法。

目前,该套工具做为MNN推荐的量化工具普遍应用在阿里集团内多个线下业务场景中。

推理框架

实际中遇到的第二个问题就是真实推理速度问题,毕竟光有易用性是不够的,实打实的业务效果才是业务最想要的。这里咱们使用阿里集团其余的兄弟团队提供的推理框架:

  • ARM 架构: 咱们采用淘系技术团队研发的 MNN 做为推理框架;
  • GPU 架构: 咱们采用机器智能技术团队研发的 falcon_conv 卷积库做为推理框架;
  • FPGA 架构:咱们采用服务器研发团队研发的推理框架。

MNN

MNN 是一个轻量级的深度学习端侧推理引擎,核心解决深度神经网络模型在端侧推理运行问题,涵盖深度神经网络模型的优化、转换和推理。目前,MNN已经在手淘、手猫、优酷、聚划算、UC、飞猪、千牛等 20 多个 App 中使用。选用常见的深度神经网络模型 MobileNet V2 和 SqueezeNet V1.1 做为测试样本:Android 方面,以小米6为例,MNN 在 CPU 和 GPU 上领先业界至少30%;iOS 方面,以iPhone 7为例,MNN 在 CPU 和 GPU 上领先业界至少15%。

FPGA

FPGA 上的推理框架由服务器研发团队完成。ResNet18 网络的推理时间只须要0.174ms,目前已知业内最佳性能。在边缘计算产品 alibabaedge 上,基于硬件实现的高效算子,推理速度为边缘 GPU 的两倍。在后面,咱们会结合产品形态总体的介绍这一方案。

GPU

falcon_conv 是机器智能技术团队开发的一款由 CUDA C++编写,在 Nvidia GPU 上运行的低精度卷积库,它接受2份低精度( INT8 )张量做为输入,将卷积结果以float/int32 数据输出,同时支持卷积后一些常规操做( scale,batchnorm,relu… )的合并。咱们在单张 Tesla P4 GPU 上,对 falcon_conv 的性能与 Nvidia 官方计算库Cudnn v7.1 作了比较,如图所示。几乎全部状况 falcon_conv 都优于 Cudnn ,个别用例有高至5倍的提高,用例选自 RESNET 和 VGG 中耗时较多的卷积参数。

产品化

在业务支持过程当中咱们遇到的第三个问题是集成化,产品化问题。除了手机类场景外,其余线下业务均须要额外的硬件平台做为支撑。在早先时候,咱们更多的是依赖第三方提供的硬件设备,这时候成本,稳定性,可扩展性 成为制约线下项目拓展的几个主要问题。为了解决这些问题,咱们根据以往的项目经验,对硬件设备进行概括,沉淀出两类比较通用的线下产品化方案:智能盒子和一体化相机。每类产品均包含不一样型号,以适应不一样需求的场景。

智能盒子

咱们提供的第一个方案为智能盒子方案。咱们能够简单的把智能盒子看成一个适合于中小型场景的边缘服务器。盒子自己提供了多种接口,能够外接 usb/ip 相机,语音模块等传感器。直接本地部署,数据安全性高。咱们针对业务特色提供了高低两个版本的智能盒子。其中,高端版本采用阿里巴巴自研的边缘计算产品 Alibaba Edge 。除了完善的硬件设计和高效的推理框架,该盒子还包含完善的编译器支持,具备很是好的易用性。 低端版本则为纯 ARM 的盒子。下面表格给出这两种盒子在性能,成本和适用场景的一个对比。

在这里咱们着重介绍一下阿里巴巴自研的边缘计算产品 Alibaba Edge,该产品除了具备高达 3TGFlops 的AI计算能力外,相对边缘 GPU 方案有大幅的价格优点,同时具备云端一体化部署功能,产品平台化,可快速上线,支持大规模运维。

在下面的表格中,咱们对比了 LRSSD300+MobileNetV2 的不一样硬件设备上的运行时间,但愿能够给你们一个更直观的认识。

一体化相机

咱们提供的另外一个集成方案为一体化相机。一体化相机特别适合云+端的部署模式:线下作相对比较简单的处理功能,云端则深度处理线下传回的信息。达到节约带宽,下降云成本的做用。同时,一体化相机具备方便部署,批量化生产后成本优点高的特色。目前一体化相机已经做为一个重要的载体形式被应用到咱们所承接的对集团外合做项目中。

业务合做

在过去的2年间,咱们尝试过多种不一样的业务模式。在这里咱们会列出主要几个不一样形式的实例。

菜鸟将来园区

在菜鸟将来园区项目中,咱们主要负责基础视觉类算法的输出,由菜鸟智慧园区团队同窗负责业务算法和工程服务研发工做。通过半年的共同努力,咱们前后完成了离岗睡岗检测,消防通道异常检测,车位占用检测,行人越界检测,入口计数检测等多个功能。

在项目合做的过程当中,咱们发现计算单元成本高是制约算法大范围推广的一个主要缘由。为了解决这个问题,咱们联合了服务器研发团队,开发出一版定制化软硬件解决方案:该方案的硬件平台为咱们在上文中提到的边缘计算产品 Alibaba Edge,同时配备特别定制的高效模型结构和自研的快速检测算法。新版方案在检测精度几乎无损的状况下,推理速度提高了4-5倍,成本相比边缘 GPU 方案降低了1/2。

模型压缩加速

咱们协助阿里集团不一样业务同窗完成对已有算法模型的量化瘦身与加速工做。例如:手机端 OCR 识别、手机端物体检测、手淘实人认证和刷脸登陆/验证、菜鸟自提柜、阿里体育赛事刷脸入场、神州鹰人脸识别云相册等。

总结与展望

通过近两年的努力,机器智能技术实验室线下智能团队深耕线下智能领域。算法方面:咱们在低比特量化、稀疏化、软硬件协同设计、轻量级网络设计、端上目标检测等多个方面取得了必定的积累,多项指标达到了业内最佳水平。工程方面:咱们积累出了一套 高灵活性,高数据安全性 的训练工具 ; 并在合伙伙伴的帮助下,在ARM,FPGA,GPU 等多个平台下达到了业内最佳的推理性能。产品化方面:咱们与合做伙伴一块儿,研发出适合于不一样业务场景的智能盒子与一体化相机。最后,咱们很幸运能够在集团内外多个不一样形式的业务场景内打磨咱们的技术。


原文连接 本文为云栖社区原创内容,未经容许不得转载。

相关文章
相关标签/搜索