移动端AI——回望移动平台的 AI 革命

2023年被认为是大模型爆发的关键一年,得益于GPU算力的提升。文章探讨了OnDeviceAI在边缘设备中的重要性,包括其带来的网络依赖降低、计算成本减少和响应速度加快等优势。ARM、高通、华为和Apple等都在AI芯片和框架上做出了重大贡献,推动了这一趋势的发展,应用开发者也积极跟进,共创智能应用新时代。

2023年绝对是大模型爆发元年,是大模型重要的里程碑,强大的GPU算力推动了大模型的发展加速。当我们回望6年之前的 2017 年,会意识到对于移动互联网设备的AI发展来说,这一年也是一个重要的里程碑。芯片制造商、移动操作系统提供商、深度学习框架社区以及移动应用开发者都开始转向 On Device AI,同时,这个趋势同样惠及于 IoT 产业的 Edge 端设备。本文就从这几个方面来回一下这个趋势。

首先,为什么我们需要 On Device AI 能力呢?在 Edge 端设备上的 AI 能力可以带来这几个好处:

•降低网络依赖,使得终端设备具备识别和决策的能力

•降低服务器端带宽和计算成本,因为可以将计算前置到 Edge 端设备

•降低延时,提高 AI 能力响应速度

•降低用户的移动流量成本,因为不需要上传大量原始数据到服务器端处理。

那么,Edge 端设备的硬件计算能力毕竟有限,能否支持 AI 模型的 Inference 呢?

芯片制造商

2017 年 3 月 ARM 提出了面向 AI 的新架构 DynamlQ 技术。

Cortex-A CPUs that are designed based on DynamIQ technology can carry out advanced compute capabilities in Machine Learning and Artificial Intelligence. Over the next three to five years, DynamIQ-based systems will deliver up to a 50x* boost in AI performance. This is achieved through an aggressive roadmap of future DynamIQ IP, integrated with new Arm architectural instructions, microarchitectural improvements, and further software optimizations to the Arm Compute Libraries.

ARM 表示未来 3 到 5 年内实现比基于 Cortex-A73 的设备高 50 倍的人工智能性能,最多可将 CPU 和 SoC 上特定硬件加速器的反应速度提升 10 倍。

紧接着,ARM 在 4 月份开源了支持 Context-A 系列 CPU 和 Mali 系列 GPU 的 Compute Library,让机器学习和深度学习算法在 ARM 平台更高效地运行。

2017 年 8 月高通对外发布了支持 Caffe/Caffe2 和 TensorFlow 的 Neural Processing Engine SDK,让深度学习可以利用 GPU 和 DSP 的计算能力。实际上,在 2017 年 4 月,Facebook 发布了针对 Edge 端设备的深度学习框架 Caffe2,其主要作者贾扬清在 F8 大会上演讲时就提到:Android 系统上的 GPU 也类似,我们与高通合作开发了骁龙神经处理引擎(SNPE),如今高通骁龙 SoC 芯片为大量的手机服务,现在是 Caffe2 的首要概念( first class concept),我们可以利用这些 CPU 和 DSP,从本质上提升能效和性能

高通在 2017 年 12 月发布最新芯片骁龙 845 时提到In addition to the existing support for Google’s TensorFlow and Facebook’s Caffe/Caffe2 frameworks, the Snapdragon Neural Processing Engine (NPE) SDK now supports TensorFlow Lite and the new Open Neural Network Exchange (ONNX), making it easy for developers to use their framework of choice, including Caffe2, CNTK and MxNet. Snapdragon 845 also supports Google’s Android NN API.

也就是说,SNPE 不但支持 Caffe、Caffe2、TensorFlow 和 Edge 设备端专用的 TensorFlow Lite 等深度学习框架,也支持由 Facebook 和微软发起的 ONNX(Open Neural Network Exchange),一个 Intermediate Representation,让 Caffe2、CNTK、PyTorch 以及 MXNet 这些框架可以实现模型互通,方便芯片厂商可以针对一个标准进行硬件级别优化。

2017 年 9 月,华为发布了麒麟 970,内置中科院寒武纪-1A NPU,可以加速神经网络在手机端的运行。

在发布旗舰设备 Mate 10 之后,华为推出了 HiAI 移动计算平台业务,践行在麒麟 970 发布会上的承诺,打造一个开放式的 AI 生态系统,让开发者可以通过这个平台为华为 Mate 10 这样搭载了最新麒麟芯片的设备上提供具有 AI 能力的应用。

2017 年 9 月,Apple 在年度 产品发布会上,发布了将会搭载在 iPhone 8、iPhone 8 Plus 和 iPhone X 上的 A 11 Bionic SoC,用于支持 iOS 系统机器学习和深度学习模型的框架 CoreML 和增强现实框架 ARKit,并且升级了图形处理芯片 Metal 2,用于加速深度学习模型的 Inference。

2017 年 11 月,Google 发布了 Android 8.1 Beta 最终版本,正式支持在今年发布的新款旗舰 Pixel 2 中搭载的 IPU(Image Processing Unit),用于加速图像处理和机器学习的 Inference:Also, for Pixel 2 users, the Android 8.1 update on these devices enables Pixel Visual Core -- Google's first custom-designed co-processor for image processing and ML -- through a new developer option. Once enabled, apps using Android Camera API can capture HDR+ shots through Pixel Visual Core.

移动操作系统提供商

2017 年 5 月,Google 在年度 I/O 大会上,宣布会推出 TensorFlow Lite,运行在下一代 Android 系统将会新增的 Neural Network API 之上,使得开发者可以将 TensorFlow 深度学习框架创建的模型移植到移动端运行。10 月 25 日,Google 发布了 Android 8.1 Beta 开发者预览版,正式推出了 NN API:

11 月 14 日,Google 发布的 TensorFlow Lite 已经支持 NN API 了,而 DNNLibrary 是一个 GitHub 上开源的库,支持运行通过 DNN Convert Tool 转换的 Caffe 模型。

2017 WWDC 上,Apple 发布了支持 Caffe、TensorFlow 等深度学习框架,以及SVM、XGBoost  sklearn 等机器学习模型的 CoreML。12 月 5 日,Google 发布文章 Announcing Core ML support in TensorFlow Lite,宣布已经和 Apple 合作使得 CoreML 支持 TensorFlow Lite。

深度学习框架

2017 年 4 月,Facebook 宣布开源面向 Edge 端设备的深度学习框架 Caffe2,其主要作者 贾扬清在 F8 上说在移动端进行机器学习任务有以下好处:保护隐私,因为数据不会离开你的移动端;避免网络延迟和带宽问题;提升用户体验,比如优化 feed ranking 功能。所以我们开始着手,从底层建造一个专门为移动端优化的机器学习框架。

2017 年 9 月,百度发布了 Mobile Deep Learning library,腾讯早些时候也开源了类似的 ncnn 框架。

2017 年以来,Google 开源了专为移动端优化的 MobileNets 模型;Face++ 提出了适合移动端的 ShuffleNet 模型。OpenCV 3.3 内置了支持多种深度学习框架的 DNN

应用开发者

      从上面的内容可以看到,从芯片制造商到移动操作系统提供商,再到深度学习框架社区,都为 On Device AI 做了很多准备,而且,从 GitHub 和国内外的开发者博客上,我们看到了非常多基于 CoreML基于 TensorFlow 等深度学习框架的移动端应用案例,体现了开发者对这个趋势的极大热情。无论我们是哪个移动平台的开发者,都应该清晰认识到这个趋势,及时点亮自己的技能点,为用户提供更智能更人性化的应用。

【资源说明】 基于pytorch和Mask R-CNN实现的T恤属性识别python源码+项目说明.zip 1、该资源内项目代码都是经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果有一点儿基础,亦可在此代码基础上进行修改,以实现其他功能。 本项目基于pytorch版本的Mask R-CNN来做T恤的属性识别。 T恤数据集的构建 标注种类 总共12类,标注T恤图片的廓形(袖型、领型、下摆、中间衣长区域) ``` "1": "T-Shirt", "2": "Curve_Hem", "3": "Elbow_Sleeve", "4": "Flat_Bottom", "5": "Long_Sleeve", "6": "Polo", "7": "Round_Collar", "8": "Short_Sleeve", "9": "Sleeveless", "10": "Square_Collar", "11": "Three-quarter_Sleeve", "12": "V_Collar", ``` 标注形式 用labelme标注,生成JSON文件,再用labelme官方GitHub仓库里的工具(见labelme2coco文件夹)转成coco数据集格式。 标记数量与训练集验证集 总计176张图片,其中 train:143 val: 33 以8:2进行shuffle分割(见train_test_split.py文件分割方式),同要保证train与val里都包含12个类 图片大小:resize:800 * 1333, 训练 实验平台:windows11,3050ti(4GB显存),pytorch batch_size = 1;lr=0.0001;epochs=30;优化器adam 还采用了torch.optim.lr_scheduler.MultiStepLR来手动根据epoch调整参数 绘制loss与lr曲线如下: ![](assert\loss_lr.png) 评测 采用 PASCAL VOC 2012 competition 中定义的 mAP 标准 利用pycocotools工具计算IOU=0.5时的map如下图: ![](assert\map.png) 各个种类的AP: ![](./assert/classes_map.png) 测试 随机从val数据集中拿出两张图片进行推理,测试结果如下: ![](./assert/test_result.jpg) ![](./assert/test_result2.jpg) 实验分析 1.由各种种类AP可以发现,Curve_Hem是AP值是最低的。 分析原因,下摆有Flat_Bottom与Curve_Hem两类。观察图片数据发现,有些T恤下摆特征不明显,不好区分,以致标注时没有准确标注。模型预测这类分类能力下降。 2.由测试结果可以发现,图一两人的袖子重叠在一起,但只检测出一个人的袖子。图二的模特由于带了项链,虽然检测出来是圆领,但也产生了V领的误判。 展望 1.扩充数据集,构建数据量更大的数据集,同时细化分类,避免一些歧义类别。 2.针对遮挡,重叠问题,考虑解决。在查阅了大量文献,得出一个有效的解决方案:利用服装关键点信息辅助特征提取,即先进行T恤的关键点检测,准确检测出所有关键点,无论是遮挡还是重叠情况。**这也是我接下来的研究课题** 3.由本小数据集可以发现,由于衣服种类的多种多样,以及常见性,使得种类的数量产生了差异,即有数据不均衡的情况发生,在构造大数据集后可能也会不可避免的产生数据不均衡。这也是优化的一个点。 4.不多说,利用更sota的模型,提高基础性能。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值