当前位置: 首页 > 科技观察

阿里巴巴机器智能团队三年工作总结

时间:2023-03-22 12:39:30 科技观察

本文转载自雷锋网,如有疑问请转载。如需转载,请到雷锋网官网申请授权。2016年至今,阿里机器智能实验室线下智能团队开始涉足线下智能领域。到目前为止,在算法方面,他们提出了自研的模型压缩方法、新的模型结构和目标检测框架;在工程方面,他们开发了一套非数据依赖的量化训练工具,针对不同的硬件平台开发了高效的推理。计算机图书馆;同时,他们还与服务器研发团队一起抽象出一套服务于各种业务形态的软硬件产品化方案,并在真实的业务场景中进行了实验。在今天的文章中,阿里凌冲将从算法探索、训练工具、推理框架、产品化和商业模式等方面对自己以往的工作进行总结和分享。正文如下。)AI科技评论获授权转载。算法探索基于ADMM的低比特量化低比特量化是模型压缩和推理加速中的核心问题。目的是将神经网络中原有的浮点参数量化为1-8Bits的定点参数,从而减少模型大小和计算资源消耗。为了解决这个问题,我们提出了一种基于ADMM(AlternatingDirectionMethodofMultipliers)的低位量化方案。在公开数据集ImageNet上,我们对Alexnet、ResNet-18、Resnet-50等经典CNN网络结构进行了实验,其精度和速度均超越了目前已知的算法。我们可以对3位进行几乎无损压缩。目前,该方法已广泛应用于各种基于设备的目标检测和图像识别的实际项目中。相关成果已发表在AAAI2018上。统一量化稀疏框架量化技术可以通过简化计算单元(浮点计算单元->定点计算单元)来提高推理速度。稀疏(Pruning)技术是通过剪裁神经网络中的通路来减少实际的计算量。我们很自然地将这两种技术融合在一起,以获得最终的理论加速。在剪枝过程中,我们采用渐进式训练方法,结合梯度信息来确定路径在网络中的重要性。在ResNet结构上,我们可以在90%的稀疏度下实现近似无损压缩。在稀疏化研究过程中,我们发现了一个问题,即更细粒度的裁剪往往会获得更高的精度,但以牺牲硬件友好性为代价,在实际应用中很难获得理论上的提速。在后面的章节中,我们将从两个角度来解决这个问题:软硬件协同设计,从软件和硬件的角度同时解决问题;新型轻量级网络,从软件的角度来设计更适合现有硬件的结构。软硬件协同网络结构通过量化和稀疏技术,我们可以获得理论计算量足够低、所需计算单元足够简单的深度网络模型。下一个要解决的问题是我们如何将其转化为低实时推理延迟的算法服务。为了挑战极致的推理加速效果,我们与服务器研发团队合作,从软硬件的联合设计上解决了这个问题。在本项目中,我们提出了以下创新点,包括:在软硬件协同设计方面,我们提出了一种基于硬件物理特性的异构并行分支结构,以最大限度地提高并行效率。在算法方面,我们采用量化、稀疏化、知识蒸馏等技术,将理论计算量压缩到原模型的18%。在硬件方面,我们使用算子填充技术解决稀疏计算带来的带宽问题,使用算子重排技术平衡PE负载。通过上述方案,我们只需要0.174ms的延迟就可以完成resnet-18复杂度的模型推理,达到业界领先水平。该方案在对时延敏感的领域具有很大的优势。相关成果已经在HotChips30上展出。新的轻量级网络软硬件协同设计是一个非常好的推理方案,但是修改方案的开发成本和硬件成本都很高。一些特定场景对时延和准确率的容忍度比较高(比如人脸抓拍)。为了解决这种需求,我们提出了多层特征联合网络(MuffNet),它同时具有三个特点:拓扑稀疏,更容易获得高频响应;密集计算节点,保证硬件友好性;针对低成本硬件全面优化,小计算下精度提升更明显;我们提出的新网络非常适合在通用硬件上运行。在公共数据集ImageNet上,我们在40MFLops计算方面相比目前业界领先的shufflenetv2结构提高了2%的精度。与图像识别任务相比,端上的目标检测框架对于目标检测任务有着更广泛的应用场景。高效的目标检测框架具有很高的研究价值。针对on-device场景,我们提出了一个LRSSD框架(lightrefinesingleshortmultiboxdetector),包括以下特点:简化SSDHEAD,使用共享预测层设计特征融合模块;在不同尺度上以级联信息的形式整合bboxes回归;对检测模型进行全量化处理。如上表所示,在同一个骨干网的情况下,我们提出的LRSSD可以在降低SSDHEAD计算量的同时,稳定提升mAP3%-4%。从另一个角度来看,我们的方法可以将模型复杂度降低到原来的50%左右,同时保持检测精度不变。如果考虑量化带来的速度加成,在相同精度下,与原来的全精度模型相比,我们可以获得大约2-3倍的真实速度提升。总结以上是我们近2年在离线智能模型压缩领域所做的一些技术积累。可以概括如下:量化:我们可以做到3位量化,几乎无损压缩!在稀疏性方面:对于传统的网络结构,我们可以做到90%稀疏度下几乎无损压缩!在软硬件协同设计方面:我们与服务器研发团队强强联手,实现了resnet18极限推理速度0.174ms/sheet,目前已知业界最佳!轻量级网络设计:40MFlops计算,与目前业界领先的结构相比,ImageNet数据集绝对提升2%!在末端的目标检测方面,我们在保证精度不变的情况下,速度提升了2-3倍左右!在探索技术的同时,我们也在积极将上述技术应用到实际业务中。在这个过程中,我们发现了以下问题:易用性:业务场景往往需要快速迭代的能力和灵活方便的部署能力,非标准化的解决方案很难得到广泛应用。理论速度vs实际速度:除了算法和硬件,真正的模型推理速度还需要高效的工程实现作为支撑。整合性:线下智能需要考验团队的软硬件实力,往往对业务来说负担过重。在本文的后半部分,我们将首先介绍我们针对上述问题的尝试和解决方案。***,我们列举了一些例子来展示如何在具体的业务场景中应用线下智能技术,希望能给同学们一个更直观的认识。在训练工具的实际业务推广过程中,我们首先遇到的问题就是易用性问题:不同的业务往往会使用多种深度学习库,如Caffe、Tensorflow、Mxnet等;不同业务用途的基础技术差异比较大,包括分类识别、检测、分割、语音等;不同服务的数据安全级别相对不同,有的可以公开,有的需要完全物理隔离;为了让更多的场景可以使用。为了服务和获取人工智能的红利,我们提出了一套标准化的量化训练工具。如上图所示,首先,我们的工具输入支持多种模型格式(TensorFlow、Caffe、Mxnet等)。其次,我们提供了两种不同的模型量化方法,一种是支持不同任务(分类、检测、分割等)的数据依赖压缩方法(DataDependentCompression)。追求最高精度的企业;另一种是数据独立压缩方式(DataIndependentCompression),适用于对数据安全性要求高或者业务逻辑不是特别复杂的场景。***,量化工作完成后,我们的工具会自动完成推理图和模型加密的优化,生成可以实际部署的模型文件。配合相应的推理加速库,即可在终端上运行。从易用性和数据安全的角度,我们推荐使用数据无关的压缩方式。目前这套工具作为MNN推荐的量化工具广泛应用于阿里集团内部多个线下业务场景。实际推理框架遇到的第二个问题是真实推理速度的问题。毕竟,易用性还不够,真正的商业效果才是商家最想要的。这里我们使用阿里集团其他兄弟团队提供的推理框架:ARM架构:我们使用淘溪技术团队开发的MNN作为推理框架;GPU架构:我们使用机器智能技术团队开发的falcon_conv卷积库作为推理框架;FPGA架构:我们采用服务器研发团队开发的推理框架。MNNMNN是一个轻量级的深度学习端到端推理引擎,核心解决深度神经网络模型的端侧推理运算问题,涵盖深度神经网络模型的优化、转换和推理。目前,MNN已经应用于手道、手猫、优酷、聚划算、UC、飞猪、千牛等20余款App。选取常见的深度神经网络模型MobileNetV2和SqueezeNetV1.1作为测试样本:Android方面,以小米6为例,MNN在CPU和GPU方面领先业界至少30%;对于iOS,以iPhone7为例,MNN在CPU和GPU上领先业界至少15%。FPGAFPGA上的推理框架由服务器研发团队完成。ResNet18网络的推理时间仅需0.174ms,是目前业界公认的最佳性能。在边缘计算产品alibabaedge上,基于硬件实现的高效算子,推理速度是边缘GPU的两倍。下面,我们将结合整体产品形态来介绍该方案。GPUfalcon_conv是由CUDAC++编写,运行在机器智能技术团队开发的NvidiaGPU上的低精度卷积库。它接受2个低精度(INT8)张量作为输入,将卷积结果转换为float/int32数据输出也支持卷积后合并一些常规操作(scale、batchnorm、relu...)。我们在单个TeslaP4GPU上对比了falcon_conv和Nvidia官方计算库Cudnnv7.1的性能,如图所示。falcon_conv几乎在所有情况下都优于Cudnn,在个别用例中有高达5倍的改进,选自RESNET和VGG中耗时的卷积参数。产品化我们在业务支持过程中遇到的第三个问题是集成和产品化。除了手机场景,其他线下业务都需要额外的硬件平台作为支撑。早期我们更多依赖第三方提供的硬件设备。此时,成本、稳定性、可扩展性成为制约线下项目扩展的主要问题。为了解决这些问题,我们根据以往的项目经验总结硬件设备,沉淀出两类比较常见的线下产品化方案:智能盒子和一体化摄像头。每种产品都包含不同的模型以适应不同的场景。智能盒子我们提供的第一个解决方案是智能盒子解决方案。我们可以简单的把智能盒子看成一个适合中小型场景的边缘服务器。盒子本身提供多种接口,可以连接usb/ip摄像头、语音模块等传感器。本地直接部署,数据安全性高。我们根据业务特点提供高低版本的智能盒子。其中,高配版采用阿里巴巴自研的边缘计算产品AlibabaEdge。除了完美的硬件设计和高效的推理框架外,该盒子还包括全面的编译器支持,非常易于使用。低端版是纯ARM盒子。下表给出了这两个盒子的性能、成本和适用场景的对比。这里重点介绍一下阿里巴巴研发的边缘计算产品AlibabaEdge。除了高达3TGFlops的AI计算能力外,该产品与边缘GPU解决方案相比具有显着的价格优势,可以快速上线,支持大规模运维。在下表中,我们对比了LRSSD300+MobileNetV2在不同硬件设备上的运行时间,希望能给大家一个更直观的认识。一体机我们提供的另一种集成解决方案是一体机。一体机特别适合云+端的部署模式:线下进行相对简单的处理功能,云端对线下发回的信息进行深度处理,节省带宽,降低云端成本。同时,一体机具备量产后部署方便、成本优势高等特点。目前,一体化相机已作为重要的载体形式出现在我们承接的对外合作项目中。商业合作在过去的两年里,我们尝试了很多不同的商业模式。这里我们列出了不同形式的主要例子。菜鸟未来园区在菜鸟未来园区项目中,我们主要负责基础视觉算法的输出,菜鸟智慧园区团队的同学负责业务算法的研发和工程服务。经过半年的共同努力,我们先后完成了离岗睡觉检测、消防通道异常检测、车位占用检测、人行横道检测、入口计数检测等多项功能。在项目合作过程中,我们发现计算单元成本高是制约算法大规模推广的主要原因之一。为了解决这个问题,我们联合服务器研发团队开发了定制化的软硬件方案:该方案的硬件平台就是我们上面提到的边缘计算产品AlibabaEdge,配备了专门定制的高效的模型结构和自主研发的快速检测算法。新版方案推理速度提升4-5倍,检测精度几乎无损,成本较边缘GPU方案降低1/2。模型压缩与加速我们协助阿里集团不同业务的同学完成现有算法模型的量化、瘦身和加速。例如:手机OCR识别、手机物体检测、手机淘宝真人认证及人脸登录/验证、菜鸟自助提柜、阿里体育赛事人脸识别入场、神州鹰人脸识别云相册等。总结与展望经过近两年的努力,机器智能技术实验室的线下智能团队已经深耕线下智能领域。算法方面:我们在低比特量化、稀疏化、软硬件协同设计、轻量级网络设计、on-device目标检测等方面有一定积累,多项指标达到行业领先水平。工程化:我们积累了一套灵活度高、数据安全性高的训练工具;在合作伙伴的帮助下,我们在ARM、FPGA、GPU等多种平台下实现了业界最佳的推理性能。产品化:与合作伙伴共同开发适用于不同业务场景的智能盒子和一体机。***,我们有幸能够在集团内外许多不同形式的业务场景中打磨我们的技术。