主流机器学习平台调研与对比分析
Posted @李忆如
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了主流机器学习平台调研与对比分析相关的知识,希望对你有一定的参考价值。
梗概
本报告主要调研目前主流的机器学习平台,包括但不限于Amazon的Sage maker,Alibaba的PAI,Baidu的PaddlePaddle。对产品的定位、功能、实践、定价四个方面进行详细解析,并通过标杆对比分析提出一套机器学习平台评价体系,旨在给后续机器学习平台需求分析与实际开发提供评估与优化思路。
目录
引入:机器学习平台简介
随着大数据、人工智能的火热,机器学习任务迅速渗透到各个领域,对于非代码工程师,一个简单易用的可完成机器学习的工具是必要的,对于代码工程师,ML任务尤其DL任务数据与模型大小快速膨胀,需要通过自动化、云端资源等手段来提高效率,处理ML任务,故机器学习平台开始被构建并逐渐火热。
一般来说,一个机器学习平台需要具备数据接入、数据处理、模型构建、训练、验证、部署、监控与结果分析可视化等基本功能,且还要在框架支持度、效率成本协调、技术架构选择等多方面考虑。
1.Sage maker
1.1 产品简介
本节首先对Sage maker进行基本情况的介绍,总结如表1:
表1 Sage maker简介
来源(开发商)/ 官网 | Amazon / https://aws.amazon.com/cn/sagemaker/ |
产品官方定位 | 通过完全托管的基础设施、工具和工作流程为任何用例构建、训练和部署机器学习 (ML) 模型 |
产品与开发文档 | https://aws.amazon.com/cn/sagemaker/resources/ |
在官网中对产品的定位有进行一定描述性的补充,如图1所示:
图1 Sage maker定位补充描述
根据官网描述与调研分析,Sage maker的几大核心竞争优势如下:
Ⅰ、让更多人利用机器学习进行创新
Sage maker根据用户类型开发提供了对应的适应子产品,主要目标人群及子产品总结如表2:
表2 Sage maker子产品及对应目标人群
目标人群 | 子产品及简介 |
业务分析师(BA) | SageMaker Canvas:提供一个无代码、可视化、点击式的ML预测工具,包含多模型,可与数据科学家协同开发,集成于常见的BI工具中 |
数据科学家 | SageMaker Studio:主要从数据角度分析数据科学研究相关问题,提供一个适用于ML生命周期的全集成IDE |
ML工程师 | SageMaker MLOps:提供一个快速、大规模、高性能的机器学习模型开发与管理平台 |
补充:针对ML初学者,AWS提供了SageMaker Studio Lab进行学习与试验,在不同的子产品中均有详细的产品文档与演示视频教学。
Ⅱ、支持领先的机器学习框架、工具包和编程语言
Sage maker支持大量主流机器学习语言与框架,如图2所示,增加用户的广度与模型的稳定性与可迁移性。
图2 Sage maker框架、工具、语言支持汇总
补充:Sage maker同时集成了多种API,适应多种软件开发工具(android、JS、ios等)
Ⅲ、大规模的高性能、低成本ML
Sage maker 建立在 Amazon 二十年来开发现实世界 ML 应用程序的经验之上,这些应用程序包括产品推荐、个性化、智能购物、机器人技术和语音辅助设备,根据官方数据,Sage maker对用户的服务提升如图3所示:
图3 Sage maker对用户的服务提升数据
Ⅳ、客户的优质选择
众多优秀、成功的客户选择使用Sage maker,达成了长期、可持续的合作关系。
Ⅴ、产品文档与日志系统
除了Sage maker的产品文档,Amazon为其相关子产品均建立了详细的文档供学习者与用户使用。此外,官网主页还配备了日志系统,及时发布Sage maker的新功能或优化。
1.2 功能分析
本节主要对Sage maker的功能进行详细的介绍与分析,简介汇总如表3:
表3 Sage maker功能及简介
功能 | 简介 |
按用户指定的ML模型、指标、要搜索的超参数,通过指定的算法与超参数范围在数据集上多次训练来找到模型的最佳版本 | |
根据用户的数据自动构建、训练和调整最佳 ML 模型,同时保持完全控制和可见性(提供模型与功能排行榜供选择),并支持一键部署模型 | |
无代码的点击式可视化工具,用于ML的预测,支持不同来源的模型与跨工具数据共享 | |
Clarify | 使用各种指标检测和测量潜在偏差,以便他们能够解决潜在偏差并解释模型预测 |
Data Wrangler | 缩短汇总和准备ML数据的时间,并从单个可视化界面完成数据准备工作流程的每个步骤(包括数据选择、清理、探索和可视化) |
调试程序(Debugger) | 通过实时自动捕获训练指标,检测到异常时发送警报来优化 ML 模型,缩短训练故障排除时间 |
部署 | 即Sage maker产品本身,通过完全托管的方式帮助模型全流程 |
分布式训练库 | 使用分区算法,自动拆分大型深度学习模型和训练数据库,提升了相应流程的速度 |
Edge Manager | 优化在主流框架中训练的模型,使其轻松部署在任何边缘设备上 |
实验 | 一项托管服务,用于大规模跟踪和分析 ML 实验 |
特征存放区 | 完全托管式的专用储存库,用于存储、共享、管理ML模型特征 |
地理空间ML | 利用地理空间数据(卫星影像、地图和位置数据等)更快地构建、训练和部署 ML 模型 |
Ground Truth | 识别原始数据,添加信息标记与生成标注合成数据,提高训练集质量 |
JumpStart | 一个ML中心,用户可以通过点击式调用内置算法完成实际任务 |
SageMaker for K8 | 简化基于Kubernetes(自动执行容器化应用程序的部署、扩展和管理)的机器学习,提供一个界面管理和调度ML工作流 |
模型监控器 | 自动收集并监控模型数据,并内置分析与可视化,在出现不准确数据时提醒用户,始终保持ML模型的准确 |
笔记本 | 提供两种云端完全托管式Jupyter Notebook,用于探索数据和构建机器学习模型 |
管道 | 专为ML构建的CI/CD服务,大规模创建、自动化和管理端到端 ML 工作流 |
RStudio | 用于数据科学和机器学习的完全托管的Rstudio IDE |
影子测试 | 根据生成模型自动验证新ML模型性能,以防止代价高昂的停机 |
Studio Lab | 免费的ML学习开发环境 |
适用于机器学习的完全集成的IDE,涵盖ML全生命周期 | |
与部署一致,即产品本身的定位功能 |
补充:除了功能分类,在ML治理上,Sage maker提供了专门的工具——Role Manager和Model Cards,前者便于管理员定义权限,后者简化了模型文档,便于用户捕获、检索、和共享基本模型信息。
根据ML流程总结相关功能如图4所示:
图4 ML流程分类Sage maker功能
在功能简介后,集合相关功能再进行Sage maker竞争优势补充如下:
Ⅰ、ML全流程服务
Sage maker向多种用户提供了包括但不限于模型构建、训练、部署的全流程服务,并在不同阶段均提供了丰富的工具帮助监控与优化,保证了效率的提升与性能的稳定。
Ⅱ、丰富的包容度
除了支持主流的框架、工具、语言外,在多种不同数据和模型的来源与去向的选择上,Sage maker提供了不同功能/工具进行接受、传输与存储,还实现了迁移与部署的易操作性。
Ⅲ、数据与界面的清晰度
在Sage maker多种功能/工具中,均提供了可视化界面,用于直观地输出数据或模型的各种指标对比,在部分功能中,提供了一键式点击交互,内置高效模型帮助用户快速完成实际任务并获取分析结果。
Ⅳ、工作流与资源调度合理
Sage maker大部分功能通过自动化提高用户ML任务的效率,添加了管道合理化工作流,通过子产品工具合理化模型的资源调度,权衡了开销与能耗。
1.3 产品实践
本部分主要进行Sage maker的几个主要功能的实践,并根据过程与结果流程图补充调研分析结果。
Tips:Sage maker大部分功能使用需要AMS账号,故部分过程图来自官网与网络。
1.3.1 低代码/无代码ML
根据表3我们知道,Sega maker提供了Data Wrangler、Autopilot、JumpStart、Canvas四个低代码/无代码ML平台/工具,是对非ML/代码工程师的主力工具,我们首先体验一下。
Ⅰ、Data Wrangler
根据表3,我们知道Data Wrangler可以帮助用户高效完成数据准备的全过程,如图5所示:
图5 Data Wrangler主界面样例
分析:根据图5,我们可以看到在Data Wrangler中,数据准备的每个步骤可视化为点击事件在单个主界面中,点击不同step可以完成数据的不同操作,主要操作汇总如图6:
图6 Data Wrangler中对数据的主要操作:左上为数据的查询与选择、右上为数据洞悉与质量分析、左下为数据预测能力分析、右下为数据可视化分析
Ⅱ、Autopilot
根据表3,我们知道Autopilot在数据分析完全可见的情况下可以帮助用户高效完成自动构建、训练和调整最佳 ML 模型的过程,如图7所示:
图7 Autopilot模型决策样例
分析:如图7所示,Autopilot针对用户给定数据自动构建、训练多个模型,并给出各种指标,按需求择优选择。
Ⅲ、JumpStart
根据表3,我们知道JumpStrat是一个ML中心,将多种内置算法集合成页面的点击事件,如图8所示。用户根据需求选择实际任务,上传数据并接受返回结果。
图8 JumpStart主界面
Ⅳ、Canvas
根据表3与1.1中官网描述,我们知道Canvas是主要面向BA工作者的无代码、可视化、点击式的ML预测工具,主要功能如图9所示:
图9 Canvas主要功能
补充:详细教学可见:教程 - 自动创建机器学习模型 - Amazon Web Services
总结:在体验完Sage maker提供的四个低代码/无代码工具后,对Sage maker的核心优势补充如下:
Sage maker不仅服务于多种目标群体,开发的低代码/无代码工具降低了机器学习任务的门槛,大大提高了易用性与用户工作/研究效率。
1.3.2 IDE/Lab
根据表3我们知道,Sage maker提供了Studio、Studio Lab、Rstudio三个集成开发环境,是有一定代码能力的用户的主力工具,我们接下来进行一下实践。
Ⅰ、Rstudio
根据表3,我们知道Rstudio是用于数据科学和机器学习的基于云的、完全托管的Rstudio IDE,在Sage maker上可以动态调度计算资源,统一了R与Python的开发团队。
Ⅱ、Studio Lab
根据表3,我们知道Studio Lab是带有一定资源的免费ML开发环境,并支持一定时间的数据持久化,主界面如图10所示,编程页面样例如图11所示:
图10 Studio Lab主界面
图11 Studio Lab编程界面样例
分析:类似于Google Colab,但Studio Lab更便于非VPN用户访问并跑相关的notebook,且带有一定免费计算资源。
Ⅲ、Studio
根据表3,我们知道Studio是Sage maker中适用于机器学习的完全集成的IDE,涵盖ML全生命周期,搭载Sage maker主要功能。主要功能总结如图12所示:
图12 Studio主要功能汇总:左上为数据的准备、右上为模型的构建、左下为模型训练、右中为模型的部署与管理、右下为数据的偏差检测
分析:Studio是专用于ML的IDE,大量内置热门模型,除了主流代码编写页面还搭载了可视化页面,符合ML任务的待分析性。
补充:Amazon在2022年12月更新了Studio,增加了导航栏,嵌入了Sage maker的一些核心功能,主界面如图13所示:
图13 Studio主界面
总结:在体验完Sage maker提供的三个IDE/Lab后,对Sage maker的核心优势补充如下:
Sage maker提供的开发工具在多团队协同、功能集成度、用户友好度上均有很好的表现。
1.3.3 ML的监测、调度与分析
根据表3我们知道,Sega maker提供了Clarify、Debugger、模型监控器等几种功能帮助用户进行ML任务各阶段的数据、模型的监测、调度与分析,我们进行一下实践。
Ⅰ、Clarify
根据表3,我们知道Clarify使用各种指标检测和测量潜在偏差,以便他们能够解决潜在偏差并解释模型预测,如图14所示:
图14 Clarify检测报告界面样例
分析:如图14所示,Clarify可以报告不同特征对模型的贡献,在监测模型行为变化的同时保持其较高的可解释性,并着重检测防止潜在偏差。
Ⅱ、模型监控器
根据表3,我们知道模型监控器可以自动收集并监控模型数据,并内置分析与可视化,在出现不准确数据时提醒用户,始终保持ML模型的准确,如图15所示:
图15 模型监控器页面
补充:实际上模型监控器与Clarify在Sage maker中是集成的,便于用户更高效地监控模型与数据的变化,工具也会自动报告分析结果与警告提醒。
Ⅲ、Debugger
根据表3,我们知道Debugger通过实时自动捕获训练指标,检测到异常时发送警报来优化 ML 模型,缩短训练故障排除时间,如图16所示:
图16 Debugger界面样例
分析:Sage maker中的Debugger与AWS Lambda集成,内置分析与自动监测协同了成本与效率,使用较少资源较高效地在早期发现bug并报告用户。
总结:在体验完Sage maker提供的几个模型/数据监测、调度与分析功能后,对Sage maker的核心优势补充如下:
Sage maker提供的调试与优化工具不仅实现自动化检测、分析与报告,还在资源使用、效率间做了比较好的权衡,且高集成度的合成功能加大了效率的提升度。
至此,Sage maker的主要功能实践分析结束,其他补充在后文对比分析时详述。
1.4 产品定价
Sage maker作为AWS的机器学习产品,予用户予商家定价都是一个重要问题,故在本节做一个产品定价的汇总,Sage maker是按主要功能定价的,详情页如下:Amazon SageMaker 定价,对于明确需求用户,可以采取定价器:AWS Pricing Calculator,同时给出了免费套餐,功能与资源如表4所示:
表4 产品免费套餐内容
功能 | 免费套餐前 2 个月的每个月使用情况 |
Studio笔记本及实例 | Studio 笔记本上的 250 个小时 ml.t3.medium 实例,或者笔记本实例上的 250 个小时 ml.t2 medium 实例或 ml.t3.medium 实例 |
RStudio | RSession 应用程序上 250 个小时的 ml.t3.medium 实例和 RStudioServerPro 应用程序的免费 ml.t3.medium 实例 |
Data Wrangler | 25 个小时 ml.m5.4xlarge 实例 |
特征存放区 | 1000 万个写单元,1000 万个读单元,25 GB 存储 |
培训 | 50 个小时 m4.xlarge 或 m5.xlarge 实例 |
实时推理 | 125 个小时 m4.xlarge 或 m5.xlarge 实例 |
无服务器推理 | 150000 秒推理持续时间 |
Canvas | 会话时间为 750 小时/月,每月最多 10 个模型创建请求,每个请求最多 100 万个单元/模型创建请求 |
免费套餐前 6 个月的每个月使用情况 | |
实验 | 每个月提取 100,000 条指标记录,检索 100 万条指标记录,并存储 100,000 条指标记录 |
1.5 产品综述
在经过前四节的简介、功能分析、实践、定价计算后,在本节对产品做综述如下:
Sage maker是一个面向多用户、支持多框架/工具的ML平台,主要产品为Studio,涵盖ML任务全周期,多功能实现自动化,在成本与效率上也做了较好的平衡。
本次调研对于Sage maker的基本分析到此结束,其他常见问题可见:机器学习 - Amazon SageMaker 常见问题 - Amazon Web Services
2.PAI
2.1 产品简介
本节首先对PAI进行基本情况的介绍,总结如表5,PAI产品架构如图17所示:
表5 PAI简介
来源(开发商)/ 官网 | Alibaba / https://www.aliyun.com/product/bigdata/learn |
产品官方定位 | PAI(Platform of Artificial Intelligence)是面向开发者和企业的机器学习/深度学习工程平台,提供多种AI开发全链路服务,内置140+种优化算法,具备丰富的行业场景插件,为用户提供低门槛、高性能的云原生AI工程化能力 |
产品与开发文档 | https://help.aliyun.com/product/30347.html |
图17 PAI产品架构
根据官网描述与调研分析,PAI的几大核心竞争优势如下:
Ⅰ、简单易用
PAI服务支持单独或组合使用。支持一站式机器学习,其中封装了140+机器学习算法,支持低代码模型训练和一键部署。
Ⅱ、底层支持多种计算框架
⚪ 流式计算框架Flink
⚪ 基于开源版本深度优化的深度学习框架TensorFlow
⚪ 千亿特征样本的大规模并行计算框架Parameter Server
⚪ Spark、PySpark、MapReduce等业内主流开源框架
补充:除了计算框架,PAI同时对接DataWorks,支持SQL、UDF、UDAF、MR等多种数据处理方式,灵活性高。
Ⅲ、高性能、低成本ML
高性能:支持高维稀疏数据场景,支持超大规模样本模型加速训练
低成本:支持CPU/GPU混合调度,云原生弹性伸缩,计费灵活
Ⅳ、丰富的应用场景与插件
PAI提供多场景插件及方案,帮助企业快速构建业务应用。在大模型平台、智能推荐
、用户增长、金融量化科学计算、端侧超分等实际应用场景中都适用且有优秀表现。
Ⅴ、产品文档与日志系统
除了PAI的产品文档,Alibaba为其相关子产品均建立了详细的文档供学习者与用户使用。此外,官网主页还配备了日志系统,及时发布PAI的新功能或优化。此外,在多种应用场景下还有PAI使用的详细指导。
2.2 功能分析
本节主要对PAI的功能进行详细的介绍与分析,根据图17与文档,简介汇总如表6:
表6 PAI功能及简介
功能 | 简介 |
PAI-iTAG | 在数据准备阶段,提供智能化数据标注服务 |
PAI-Designer | 在模型开发阶段,提供低代码拖拽式可视化建模工具 |
PAI-DSW | 在模型开发阶段,提供类JupyterLab的交互式建模工具 |
PAI-DLC | 在模型训练阶段,提供一站式的云原生深度学习训练平台 |
PAI-EAS | 在模型部署阶段,提供模型在线预测服务(弹性推理) |
PAI-Blade | 在模型部署阶段,提供推理的通用加速,使其高效到达最优性能 |
AI资产管理 | 支持用户对模型、数据集、镜像等重要的AI生产资料及开发产出进行全生命周期管理,并利用数据对比分析实现降本增效 |
在功能简介后,集合相关功能再进行PAI竞争优势补充如下:
Ⅰ、ML全流程服务
PAI向用户提供了包括但不限于模型构建、训练、部署的全流程服务,并在不同阶段均提供了低代码/交互式的工具便于不同用户选择,保证了效率的提升。
Ⅱ、相关应用场景实践
在不同功能/工具的介绍中,均有对应的应用场景案例介绍与技术模块分析,并将大部分优质实践收录阿里天池notebook供用户学习与复现。
Ⅲ、数据与界面的清晰度
在PAI几种功能/工具中,均提供了可视化界面,用于直观地输出数据或模型的各种指标对比与当前进度,同时通过数据列表、分析图等多种展示方式降低分析难度。
2.3 产品实践
本部分主要进行PAI的几个主要功能的实践与应用场景的分析,并根据过程与结果流程图补充调研分析结果。
其中PAI提供了一定免费资源与项目供用户体验,详见产品控制台:概览 (aliyun.com)
2.3.1 数据准备:PAI-iTAG
根据表6,我们知道PAI在数据准备阶段给用户提供了PAI-iTAG这一个子产品,接下来进行一定的体验与分析。
PAI-iTAG是PAI下的智能标注平台,有以下几个优势实现智能标注:
①支持图像、文本、视频、音频等多种数据类型的标注以及多模态的混合标注
②与PAI-EAS部署的模型服务打通,提供智能预打标工具和模型在线预标注
③提供标注模板、自定义标注、全外包标注三种标注方式选择
接入流程详见创建数据集:用于数据标注 (aliyun.com),操作界面如图18:
图18 PAI-iTAG操作界面样例
解决方案/应用场景:官网并未明确给出,但在大量ML任务的数据集构建中均适用(数据集需支持iTAG数据标注格式)
2.3.2 模型开发/构建
根据表6,我们知道PAI在模型开发/构建阶段给用户提供了PAI-Designer与PAI-DSW两子产品,接下来进行一定的体验与分析。
Ⅰ、PAI-Designer
根据表6,我们知道PAI-Designer是一个零代码/低代码拖拽式可视化建模工具,类似Sage maker Canvas,有以下几个优势:
①内置丰富的算法组件,涵盖各种机器学习任务
②流批一体化训练,支持离线训练与在线更新
③内置AutoML自动调参引擎,便于用户选择最优模型
④可视化0代码开发,提高非代码从业者的易用性与数据清晰度
解决方案/应用场景:PAI-Desinger在智能推荐、用户增长上提供了解决方案,架构如图19所示,在商品推荐、金融疯狂、文本分类、疾病预测等应用场景下可用。
图19 PAI-Designer解决方案架构:左为智能推荐、右为用户增长
产品实践:想使用PAI-Designer,在控制台选择可视化建模创建工作流即可,内置模板页面如图20,以雾霾天气预报为例,实际使用界面如图21,结果可视化如图22所示:
图20 PAI-Designer内置部分模板
图21 PAI-Designer操作页面样例
图22 PAI-Designer结果可视化样例
分析:如图20、21、22所示,针对多种应用场景,PAI-Designer都内置了多种算法与解决方案供内置调用,实际操作通过点击、拖拽等简单操作即可完成ML任务全流程,将结果数据与指标持久化并通过列表、分析图等多种方式可视化帮助用户分析。
Ⅱ、PAI-DSW
根据表6,我们知道PAI-DSW是一个集成JupyterLab、交互式的云端深度学习开发环境,有以下几个优势:
①灵活易用:Notebook交互式云端编程,深度学习网络组件化,支持可视化展现与修改,同时提供组件代码转换
②支持自定义配置:提供阿里深度优化的Tenorflow框架,同时也支持开源框架供用户灵活配置
③全链路ML:用户可以在DSW平台在线完成ML全流程
PAI-DSW在版本上提供个人版(付费)与探索者版(限时免费,资源有限),产品使用流程为:创建实例,资源选择->上传数据,在线开发、调试->运行代码,生成模型->模型在线部署。
解决方案/应用场景:AI企业深度学习解决方案、深度学习算法爱好者、教育与科研领域
产品实践:对于PAI-DSW个人版,在产品控制台付费开启,再按使用流程创建工作流即可。对于PAI-DSW探索者版,可以进入天池Notebook(阿里大数据平台)选择已有项目RUN即可开启实践,或在自己的Lab新建Notebook进行ML任务,详见:TensorFlow与主流深度学习框架对比