PAI-EasyVision(视觉智能增强算法包)提供多种模型的训练及预测功能,旨在帮助计算机视觉应用开发者方便快捷地构建视觉模型并应用于生产。

随着深度学习技术的快速发展,计算视觉技术已经跨入大规模商业化应用阶段。对于视觉AI应用开发者而言,熟练地运用深度学习CV建模技术存在较高门槛,主要体现在以下几个方面:
  • 深度学习算法代码开发成本高,对大量细节进行Debug的代价很高。
  • 模型更新迭代快,理解其原理和细节需要花费大量时间。
  • 算法训练和推理性能优化都需要专业的系统知识。
  • 数据标注成本太高。
  • 在PAI上直接使用开源算法存在一定的学习和改造成本。
为此,PAI推出了一套方便且易用的CV建模框架PAI-EasyVision,旨在帮助CV应用开发者快捷地构建视觉模型并应用于生产。PAI-EasyVision核心能力体现在框架易用性、性能及模型丰富度方面:
  • 易用性方面

    针对视觉任务的多样性,PAI-EasyVision支持面向多任务、模块化及可插拔的原子化功能接口,其功能涵盖了数据IO、预处理、训练及离线预测的完整建模流程。同时,您可以在PAI-Studio或PAI-DSW等多种环境中使用PAI-EasyVision。

  • 性能方面

    算法封装了PAI-TF的多种优化引擎,包括分布式训练、编译优化及混合精度等,您通过简单的配置文件即可在PAI中享受极致的性能体验。同时,兼容在开源TF中使用PAI-EasyVision。

  • 模型丰富度方面

    提供了大量在开源数据集上训练完成的模型,且集成了PAI中优秀的模型(例如OCR模型),进而降低开发和训练成本。

架构

PAI-EasyVision在Model Zoo基础上进行了大量的模型扩充,提供多种模型的训练预测能力,且支持PAI-VIP、PAI命令及PAI-DSW多种灵活调用方式,以满足各层次用户的建模需求。PAI-EasyVision灵活高可用的分布式流水线离线预测架构,支持上亿级别数据的的快速离线处理。 同时,基于PAI的系统优化和模型优化功能,使得训练模型更小、更快地在PAI-EAS上进行预测。 此外,PAI-EasyVision支持自定义训练预测接口,以便复用已有的功能和优化工作。PAI-EasyVision的具体架构如下所示。EasyVision架构

特性

  • 易用性

    考虑到用户分层,有些用户希望通过简单的交互操作完成模型训练,有的用户希望定时调度模型训练和预测任务,有的用户希望复用PAI-EasyVision已有模块,在此基础上进行模型结构调整,再重新训练。因此,PAI-EasyVision支持通过PAI-VIP、PAI命令或PAI-DSW方式调用。

  • 性能优化

    依托PAI-TF团队进行了分布式训练性能优化,支持高性能的单机多卡、多机多卡分布式运行方式。同时支持对模型进行Inference阶段优化,包括图优化及模型压缩等方式。

  • 对接PAI标记平台

    PAI-EasyVision对接PAI标记平台,您可以通过提供的转换工具,方便地将PAI标记格式文件转换为TFRecord,从而进行相关任务训练。此外,PAI-EasyVision提供了丰富的数据增强模块,用于在训练时动态扩充训练数据。

  • 高效的离线预测

    PAI-EasyVision提供多机流水线的预测系统,便于将PAI-EasyVision训练的模型进行离线数据处理。每个处理过程支持多机多线程加速,且各个过程异步流水线处理,极大提高了处理效率。此外,离线预测支持用户自定义各个处理过程。

  • 对接在线服务平台PAI-EAS

    训练过程会产出SaveModel,用户可以自行接入原有的在线预测业务系统。 同时,PAI-EAS提供了强大的在线预测服务能力,实现了PAI-EasyVision EAS Python Processor,用户只需要在配置文件中配置模型地址及模型类别信息,即可进行实时数据处理。