不确定性是对人的最大挑战和锻炼。
阿里巴巴高级无线技术专家 *吕承飞(吕行)*如是说。
《淘宝端智能探索和实践》的学习笔记。
由于个人对深度学习了解有限,只记录了一些比较书面的内容,作为个人拓宽视野的资料。
端智能背景介绍
-
端智能应用示例
- 人脸贴纸
- 人脸交互动作
- 图像物体识别
- 试装
-
端上AI优势,不做模型训练
- 实时性
- 个性化
- 数据隐私
- 离线服务
-
应用场景
- AI手机
- AI摄影、AI图片编辑
- AI提升性能
- App
- OCR
- 短视频/直播、特效
- 安全风控
- 互动活动
- 试装
- 个性化推荐
- AI手机
-
业界趋势
-
AI芯片
- 麒麟970
- A11
- 骁龙845
-
AI框架
- FB Caffe2
- Google TF-Lite
- 苹果CoreML
- Android NNAPI
- 腾讯NCNN
- 百度MDL/Anakin
- 小米MACE
- 华为HiAI
端智能已成为趋势,各大公司积极布局AI芯片和AI框架;
端智能已在手机和App中发回巨大价值,未来可期;
手机摄像,短视频特效,端计算,IOT智能硬件是终点应用方向。
-
系统模块
-
面临的问题
- 适合移动端的算法模型
- 如何解决模型文件过大问题
- 如何解决端侧模型推理问题,需要一个深度推理框架
- 如何解决深度模型部署更新问题
- 如何解决部署后的模型安全问题
- 如何解决端上计算力有限情况下的性能问题
-
端智能工作流程
- 模型训练
- 模型压缩
- 模型发布
- 推理预测
-
模型压缩平台
-
基础方案
-
支持TF/TF-Lite量化模型/直接量化工具
-
门槛低,对算法透明
-
压缩率低,精度有一定下降
-
-
高级方案
- 低精度计算(8bits/3bits)/剪枝/稀疏
- 压缩率搞,基本无精度损失
- 对算法不透明,修改框架,重新训练
-
-
模型管理下发度量平台
-
模型管理
- 模型转换
- 模型列表
- 模型详情
- 模型发布cdn
-
发布管理
- 版本管理
- 版本详情
- 发布
- 单机
- 灰度
- AB
- 回滚
- 发布
-
数据管理
- 发布度量
- 成功率
- 异常
- 模型度量
- 推理耗时
- 内存消耗
- 成功率
- 使用统计
- 发布度量
-
端侧的推理框架
-
核心指标
- 通用性,跨系统
- 轻量性
- 高性能
- 安全性
- 易用性
-
挑战
- 设备资源局限性
- 性能挑战
- 模型文件
- 适配挑战
-
方案选择
-
开源方案
- TF-Lite
不同模型格式
模型转换困难
支持PO和Layer不同
- Caffe2
性能优化不够充分
功能支持不充分(OP有限)
-
系统方案
- Android-NN API
Android 8.1
- iOS CoreML
iOS 11
-
自研方案 AliNN
- 统计部署
- 异构设备优化
- 模型安全
-
-
ALiNN完整体系
- 模型转换工具
- 模型编译器
-
ALiNN性能优化思路
- 转换工具
- 模型优化
- 内存优化
- 计算加速
- NCHW内存布局问题
- ALiNN NCoHWCi(4)内存布局
-
-
-
如何在业务场景应用端智能
- 业务触发
- 理解端智能
个人感想
- 移动互联网下半场出路?
- 效率
- 大规模团队协同开发方案
- 自动化UI还原
- 代码腐化问题
- 体验
- 效率
- 突破自己
- 脱离舒适区
- 怎么过去
- 因为相信,所以看见,关键怎么过去
- 不确定性
- 不确定性是对人的最大挑战和锻炼