关于机器学习管道需要了解什么?

jaybeat 2020-11-17

关于机器学习管道需要了解什么?

企业高管经常将机器学习模型的黑盒性质视为一种神秘技术,他们通常认为,IT主管能够有效调动流程,并使模型表现良好。现实情况是,了解机器学习流程的基础知识可以使其流程和步骤变得不再神秘,而IT团队可以更好地管理对当今竞争激烈的商业环境至关重要的机器学习技术。

机器学习管道实质上是构建和自动化程序所需输出的开发步骤。开发人员使用“管道”这一术语描述软件如何从形成源代码并进入生产环境中的过程。实际上,人们可能会看到许多商业的编程服务管道,例如将软件部署到存储库中以进行更新。在采用机器学习的情况下,管道描述了在部署之前调整数据的过程以及部署过程。

机器学习管道包括数据采集、数据处理、数据转换、模型训练。每个阶段的活动通过数据和代码的处理方式进行链接。数据采集是从计划的数据源获取数据。其采集的类型包括从简单上传的数据文件到从数据湖或数据库中查询所需的数据。

数据处理是创建按行、列和值准备数据集的编程代码。准备应用基于已知数据质量的更改。用数据集平均值作为对缺失值进行补充。

数据转换是通过应用程序转换数据格式,以便模型读取数据。它旨在以模型可识别的格式排列数据类型,例如应用编码从数据集中移动分类文本。

模型训练涉及运行数据以建立模型规范。可以根据所使用的模型类型解决这些问题。一些机器学习框架的扩展旨在简化模型的部署和调整。例如,TensorFlow在R编程中有一个名为tfdatasets的库,该库可用于输入管道。

在训练数据模型之后,最后一步是测试模型,以查看其产生预测值的准确性如何,并相应地调整模型的参数。

文档的重要性

机器学习管道中的另一个重要细节是文档。文档用于建立在指定时间段内运行功能的说明。YAML是用于此目的的文本编程语言。该文档使用名称值对(如JSON文件中的名称对)进行设计。

由于需要大量步骤,IT专业人员可以通过管理机器学习管道流程的平台来学习如何管理与管道相关的问题。最常用的是Microsoft Azure ML、Amazon Sagemaker和Google Cloud AI。其中每一个平台都为开发管道提供了集成的环境,并提供了与其他云计算服务一起工作的特定功能。例如,Azure Pipelines与Microsoft IDE,Visual Studio Code同步,为开发人员提供一个专用的工作流来上传所需的更正数据。这对于编辑YAML文件进行配置来说特别方便。

相对于语言、平台和媒介,每种平台服务都有自己独特的优势。例如,Azure ML支持Python或R,并为AutoML(基本机器学习过程的框架)提供了更多选项。这一细节将表明企业团队需要培训哪些专业知识。

熟悉加速器的使用

除了学习平台之外,IT团队还应该熟悉加速器的使用。加速器是一种云计算服务,承载着GPU(图形处理单元)的多个处理器核心。GPU是一种专用处理器,可为图形和数学计算提供专用内存。GPU可以处理大量数据,从而节省了在笔记本电脑处理器上无法实现的测试和训练时间。

加速器有时需要其他框架来访问用于连接模型的解决方案。例如,TensorFlow具有一个库,用于将不同版本的GPU连接到TPU(张量处理单元),以管理在训练和测试运行期间产生的数百万个计算参数。因此,IT团队应寻求有关框架的培训,以了解可能出现的部署问题。

学习和熟悉管道平台和加速器为在模型环境中计划持续集成 (CI)/持续交付(CD)奠定了基础。而可观测性成为必不可少的主题,可观测性允许监视模型性能以进行效率调整,这尤其具有价值,因为模型可能需要很长时间进行测试和训练。可观测性系统可以使IT团队对控制模型的更改进行版本控制,从而可以准确调试因性能问题而导致的编程。这种可重复性也为模型验证奠定了基础。模型验证检查了几种环境中的模型操作,有助于企业选择最佳的机器学习模型。

一旦规划了验证和版本控制,应该更容易设想持续集成 (CI) /持续交付(CD)的实践。持续集成 (CI) /持续交付(CD)的价值在于交付根据管道阶段和模型条件精心编排的更新。

相关推荐