EasyDL|效果提升18%!百度EasyDL自研数据增强服务加持AI模型开发( 二 )


文章图片

▲ 图2 PBT 算法流程图
然而实际将能力落地到平台中并不容易 , 工程师们在复现论文开源代码的过程中发现了一些问题:

  1. 开源代码采用了 Ray 的 Population Based Training 实现 , 但这个接口并不能保证并行的 Trials 一定能实现同步的 exploit ,尤其在资源受限的情况下 , 很大概率会出现进化程度较高的 Trial 和进化程度较低的 Trial 之间的 exploit , 这样的错误进化是不可接受的 。
  2. 开源代码仅实现了单机多卡版本的搜索能力 , 想扩展到多机多卡能力 , 需要基于 Ray 做二次开发 。
  3. 开源代码仅实现了图像分类的自动数据增强搜索 , 并未提供物体检测等其他任务的数据增强搜索能力 。
  4. 开源代码现有增强算子实现方式比较低效 。
综合以上考虑 , 最终百度工程师从零开始构建了基于 PBA 的自动数据增强搜索服务 。
这一自研自动数据增强搜索服务有以下几个特点:
  • 实现了标准的 PBT 算法 , 支持种群 Trials 的同步 exploit、explore , 保证公平进化 。
  • 支持分布式拓展 , 可不受限的灵活调节并发种群数 , 支持 。
  • 搜索服务与任务解耦 , 已支持飞桨深度学习平台的图像分类、物体检测任务 , 并且可扩展到其他的视觉任务与文本任务 。
  • 数据增强算子基于 C++ 高效实现 。
自研的能力效果如何呢?在公开数据集上 , 百度工程师基于自研的自动数据增强搜索服务与现有的 Benchmark 进行了对齐 , 其中表一的 ImageNet Benchmark 在 PaddleClas [8]框架上训练 , 表二的 Coco Benchmark 在 PaddleDetection [9]框架上训练 。
结果显示 , EasyDL自动数据增强服务能达到与 AutoAugment 同样高的精度 , 并有大幅的速度优势 。 目前 , 用于数据增强搜索的分类、检测算子已经与 AutoAugment 对齐 , 后续将会持续不断扩充更多更高效的算子 , 进一步提升模型效果 。
模型数据变化策略Top1 Acc数据增强策略搜索时长(GPU hours)ResNet50标准变换0.7731\AutoAugment0.779515000[1](P100)EasyDL 自动数据增强服务0.779645(V100)MobileNetV3_
small_x1_0
标准变换0.682\EasyDL 自动数据增强服务0.6867928(V100)
▲ 表一 ImageNet Benchmark [8]
模型数据变化策略Box AP增强策略搜索时长(GPU hours)Faster_RCNN_R50_
VD_FPN_3x
AutoAugment39.948*400[10](TPU)EasyDL 自动数据增强服务39.390(V100)
▲ 表二 Coco Benchmark [9]
EasyDL 目前已在经典版上线了手动数据增强服务 , 在专业版上线了自动数据增强搜索服务 。 在图像分类单标签的任务上 , 工程师随机挑选了11个线上任务进行效果评测 。 如下图 , 使用专业版自动数据增强服务后 , 11个任务准确率平均提长了5.42% , 最高一项任务获得了18.13%的效果提升 。
EasyDL|效果提升18%!百度EasyDL自研数据增强服务加持AI模型开发
文章图片

▲ 图3 图像分类单分类效果评测
在物体检测任务上 , 通过随机挑选的12个线上任务进行了效果评测 , 效果对比如下图 , 使用专业版自动数据增强服务后11个任务准确率平均提升了1.4% , 最高一项任务获得了4.2%的效果提升 。
EasyDL|效果提升18%!百度EasyDL自研数据增强服务加持AI模型开发
文章图片

▲ 图4 物体检测效果评测
EasyDL 平台通过交互式的界面 , 为用户提供简单易上手的操作体验 。 同样 , 使用 EasyDL 的数据增强服务操作非常简便 。
目前 , 由于训练环境的资源消耗不同 , EasyDL 经典版与专业版提供两种数据增强策略 。
  • 在经典版中 , 已经上线了手动配置数字增强策略 。 如图5 , 用户可以在训练模型页面选择“手动配置” , 实现数据增强算子的使用 。
  • 在专业版中 , 由于提供训练环境的多种选择 , 目前已支持自动搜索策略 。 如图6 , 在新建任务页面的“数据增强策略”中选择“自动搜索” , 再设置需要搜索的算子范围 , 即可立刻实现自动数据增强 。
EasyDL|效果提升18%!百度EasyDL自研数据增强服务加持AI模型开发
文章图片

▲ 图5 经典版手动数据增强使用流程
EasyDL|效果提升18%!百度EasyDL自研数据增强服务加持AI模型开发
文章图片

▲ 图6 专业版自动数据增强使用流程
为了让开发者使用 EasyDL 更便捷高效地开发效果出色的模型 , EasyDL 在框架设计中内置了多个组件与多种能力 。 如 EasyDL 智能搜索服务的整体架构图(图7)所示 , 其底层基础组件是分布式智能搜索 , 具备多机多卡搜索、训练容错、支持多种搜索优化算法等特性 。 基于分布式智能搜索提供的核心能力 , 产品构建了自动数据增强搜索、超参搜索、NAS 搜索等服务 , 尽可能让用户可以在无需关心技术细节的情况下 , 简便使用 EasyDL 提供的多项搜索服务 , 获得模型效果的优化 。


推荐阅读