什么是机器学习管道?

作者

Ivan Belcic

Staff writer

Cole Stryker

Staff Editor, AI Models

IBM Think

什么是 ML 管道?

机器学习管道(ML 管道)是设计、开发和部署机器学习模型的系统化过程。ML 管道或 ML 工作流遵循一系列步骤,指导开发人员和业务领导者进行更高效的模型开发。

端到端机器学习管道包括三个阶段:

  1. 数据处理:数据科学家收集并准备用于培训 ML 模型的数据。这一阶段的各个中间阶段包括数据收集、预处理、清理和探索。

  2. 模型开发:数据从业者选择或创建一个适合项目需求的机器学习算法。根据上一步的数据对算法进行训练,然后对得到的模型进行测试和验证,直到可以使用为止。

  3. 模型部署:开发人员和软件工程师将模型部署到实际应用中,将其集成到生产环境,并监控其性能。

机器学习工作流是更大范围的机器学习运维 (MLOps) 学科的核心组成部分。这一过程的许多部分可以通过各种自动化技术来自动化机器学习 (AutoML),这些技术管理阶段和端点之间的依赖关系。

数据管道和机器学习管道有什么区别?

数据管道是由数据科学家设计和构建的架构,旨在从不同来源收集数据,然后将其存储并组织在一个集中的数据仓库中,例如数据仓库。机器学习管道是指设计、构建和部署 AI 系统的工作流。

这两个短语都使用管道一词,但数据管道更像是一个有形的系统,而 ML 管道则是一系列理论步骤。ETL 管道是数据管道的一个例子,它从各种来源提取数据,将其转换为统一格式,并将其加载到目标系统中。在机器学习中,ETL 管道会收集数据并将其格式化为训练数据集

专家为您带来最新的 AI 趋势

获取有关最重要且最有趣的 AI 新闻的精选洞察分析。订阅我们的每周 Think 时事通讯。请参阅 IBM 隐私声明

谢谢!您已订阅。

您的订阅将以英语提供。您会在每份时事通讯中找到一个取消订阅链接。您可以在此处管理您的订阅或取消订阅。有关更多信息,请参阅我们的 IBM 隐私声明

第 0 阶段:项目启动

在初始化 ML 工作流之前,企业领导、开发人员和其他利益相关者需要就机器学习项目的目标达成一致。了解为什么需要人工智能以及它旨在实现的目标,可以保持合理的期望,并使利益相关者围绕共同的目标达成一致。

    目标是什么?

    当决定是否将 AI 整合到工作流中时,利益相关者必须首先确定 ML 模型要解决的业务目标,然后演示 AI 如何能实现它。一些公司采用相反的逻辑来处理 AI:“我们希望使用 AI。我们应该怎么使用它?”

    最大限度地提高 AI 投资回报率 (ROI) 需要领导者了解用例,然后努力开发针对该用途的 ML 解决方案。

    成功后应该是什么样的?

    明确的指标,例如记录的关键绩效指标 (KPI),可以告知利益相关者 ML 项目是否实现了其目标。这些 KPI 应反映前一阶段设定的目标。例如,为提高效率而部署的 ML 模型可能会优先考虑投资回报率。

    面临着哪些困难?

    了解风险状况和潜在障碍有助于团队有效地推进项目。此步骤包括定义数据要求并评估数据收集和存储空间的相关法规(如有)。这同样适用于任何可能影响模型选择的限制,例如计算或内存要求。

    AI 学院

    成为 AI 专家

    获取相关知识,以确定 AI 投资的优先级,从而推动业务增长。立即开始观看我们的免费 AI 学院视频,引领 AI 在组织中的未来应用。

    第 1 阶段:数据处理

    确定 ML 模型要解决的问题后,ML 工作流的第一步就是收集、准备和分析数据。从业者必须识别相关的数据来源,从中收集并集成数据,准备和清理数据,采用数据科学技术,包括特征工程,以获得一个准备好的数据集。

    数据处理阶段通常是最耗时的。但是,ML 模型的性能取决于良好的数据。数据工程阶段的任何错误和疏忽都会对模型在其整个生命周期中的表现产生负面影响。数据自动化战略可以减少生成高质量训练数据集所需的时间和人力。

    数据处理包括:

    • 数据摄取

    • 数据预处理

    • 数据探索

    • 特征工程

    • 数据拆分

      数据摄取

      数据摄取是通过数据管道将来自不同数据源的数据收集并导入到集中的数据仓库中。数据科学家必须识别合适的数据来源,例如内部存储的专有企业数据,销售报告、客户人口统计信息和其他组织知识。

      有时还需要外部数据。外部数据来源可以包括与数据提供商的 API 连接、从互联网抓取的数据或合成数据。由于总是会创建新数据,因此数据摄取通常是一个连续的过程。

      数据预处理

      数据预处理或数据准备,将前一步的原始数据转化为干净、准备好进行分析的数据。在通过探索性数据分析 (EDA) 了解训练数据之后,数据科学家会选择数据预处理策略。数据预处理步骤包括:

      • 识别缺失值并处理异常值

      • 数据规范化:将数据集标准化

      • 去噪:去除随机错误和信号干扰

      数据探索

      数据探索是评估数据以了解其所包含信息的过程。EDA 旨在了解数据的特征、发现模式和关系,并在 数据可视化工具的帮助下获得洞察分析。

      EDA 结果为接下来发生的模型选择提供信息。

      特征工程

      特征选择是一个关键的数据预处理步骤,涉及识别数据点中最相关的特征或属性。提取并选择的数据特征是为了给模型提供最佳的机会,以解决现实世界中的挑战。

      专注于错误的特征可能导致模型无法按预期执行。在应用特征提取技术简化数据后,数据科学家选择那些能带来最强模型预测的特征。

      第 2 阶段:模型开发

      准备好训练数据后,ML 工作流的下一步就是构建机器学习模型。创建深度学习模型的过程涉及选择合适的机器学习算法,并将其暴露于训练数据集。这一过程的成果是创建一个 AI 模型,可随时投入现实场景处理类似未知数据。

      模型开发过程包括:

      • 模型选择

      • 超参数调整

      • 模型训练

      • 模型评估

      模型选择

      模型选择是选择最有可能在预期使用场景中提供最佳性能的模型类型的过程。初步的项目规划阶段已经让所有利益相关者和参与者对业务需求、限制条件和项目目标有了清晰的理解。机器学习从业者依据这些因素做出选择,在优化目标与可行性之间寻求平衡。

      选择包括线性回归逻辑回归随机森林决策树神经网络大语言模型 (LLM)支持向量机 (SVM)集成模型智能体式系统以及其他许多模型。

      根据机器学习难点的性质,某些类型的算法更适合作为候选模型。

      例如,神经网络可以处理复杂的生成式 AI 难点,但计算成本较高,而且更容易过拟合。回归模型计算效率高,但用例有限。

      超参数调优

      模型超参数是控制模型在训练过程中行为的外部变量。超参数还决定了算法构建的模型的结构,例如神经网络中的神经元数量和层数。

      超参数微调是优化超参数的过程,以便训练过程能够生成表现最佳的模型。数据科学家可以手动设置超参数,但通常会通过各种算法和其他技术来实现自动化过程。

      模型训练

      模型训练是指利用与模型部署后处理的输入数据相似的数据集,通过优化过程提升模型性能的方法。机器学习训练管道是一个庞大的系统,根据算法和开发模型的任务,可以有多种形式。

      许多训练方法都围绕着最小化损失函数展开,该函数用于测量模型的误差:模型输出与真实世界数据值之间的差距。在每一轮训练中,新模型都会更新其参数,因为它更接近训练数据。每次更新都会基于之前的结果进行迭代。

      模型训练方法包括:

      • 监督学习模型在一个结构化数据集上进行训练。输入数据是用相应的输出标记,从而教会模型如何将输入特征与正确的输出值关联起来。

      • 无监督学习:该模型在非结构化数据上进行训练,必须自行识别数据点和特征之间的模式和关系。

      • 半监督学习:该模型采用混合方法进行训练,结合了监督学习和无监督学习。

      • 自我监督学习:对于通常需要监督学习的任务,模型使用无标记数据进行训练。

      • 强化学习:该模型的训练目的是采取能够产生最大奖励的行动,而不是最小化错误。

      • 持续学习:该模型根据实时输入数据流(而不是预先组装的训练数据集)进行训练。

      模型评估

      当模型被认为已训练完成(例如,当其损失函数已充分最小化时)后,在部署之前对其性能进行评估。LLM 评估过程使用在数据划分阶段准备的测试和验证数据集。

      验证

      验证估计模型的预测误差:它在做出正确预测方面有多准确?在训练过程中,机器学习算法通常会输出多个具有不同超参数配置的模型。验证过程确定了具有最佳超参数配置的模型。

      测试

      测试通过模拟现实世界的值来评估表现最佳模型的泛化误差:模型对新的未见数据的适应能力如何?测试数据独立于训练数据,在训练完成后对模型的表现进行基准测试。测试可以揭示模型部署后是否能按预期运行。

      第 3 阶段:模型部署

      在开发出一个性能强大的合适模型后,就该让这个模型投入实际工作了。模型部署是指将模型提供给目标生产环境中的用户。这可以是从移动应用程序或 API 连接,到制药开发或机器人研究设施的任何形式。

      模型只有在实际部署后才能开始发挥作用。从机器学习项目中取得优异结果意味着模型必须以一种易于使用的方式进行部署,无论是供消费者、业务领导者还是其他计算机系统使用。

      模型部署包括:

      • 模型序列化

      • 整合

      • 架构

      • 监控

      • 更新

      • 合规性

      模型序列化

      序列化是一种常见的部署方法,涉及将模型转换为可以存储和传输的格式,然后在生产环境中将其反序列化。这就像将一屋子的物品装进一个盒子里,把盒子搬到一个新家,然后打开包装来布置新房间。

      例如,Python(一种在机器学习开发中流行的编码语言)推荐使用 pickle 框架进行部署。

      集成

      集成是将模型整合到其生产环境中,例如移动应用程序。模型可通过 AWS 或 Azure 等云计算提供商提供,也可进行现场托管。或者,最好使用容器化解决方案,例如 Kubernetes 和 Docker。

      根据模型的服务方式,开发人员需要使用适当的机器学习库和框架(如 PyTorch 或 TensorFlow Serving)来使模型可访问。

      架构

      可移植性和可扩展性是 ML 部署期间需要考虑的两个主要问题。

      • 可移植性是指模型在不同系统之间转移的难易程度。

      • 可扩展性是指模型在无需重新设计的情况下,处理不断增长的工作量(例如,增加的用户基数)的能力。

      模型的生产环境必须能够支持机器学习项目的预计增长。自动扩展和编排工具可帮助应对随着时间推移而增加的需求。

      监控

      模型部署后,ML 工作流并未完成。必须在整个 AI 生命周期 中监控模型的性能,以避免模型漂移:即由于数据分布变化导致性能下降。许多其他指标与模型生成和处理标记的能力相关:标记是输入或输出的单一单位。其中一些指标包括:

      • 每个输出令牌的时间 (TPOT)/ 令牌间延迟 (ITL): 模型生成一个令牌所需的时间。

      • 首次令牌生成时间 (TTFT):模型生成其响应的第一个令牌所需的时间。

      • 吞吐量:衡量模型的整体令牌生成能力,以每秒令牌数 (TPS) 为单位。

      • 延迟:模型在收到用户输入后,到生成完整输出所需的时间。

      更新

      除非通过持续学习来训练模型,否则其训练数据集是有限的。模型的知识截止日期指的是其知识库最后一次更新新数据的日期。随着时间的推移,随着知识库中的信息变得越来越过时,模型的相关性会降低。

      必须定期更新模型,以减少模型漂移,并将错误率保持在可接受的最低水平。新数据、新特征和算法更新都可以优化模型性能。再训练也可以帮助模型保持最新状态。

      合规性

      每当涉及数据收集时,模型运营者都必须考虑有关隐私、知识产权、版权和其他问题的所有相关法律法规和要求。例如,HIPAA 保护美国的医疗数据,而 GDPR 为欧盟的人员提供特定的数据保护。

      制药和金融等受管制行业使用的模型也可能受到更严格的操作控制。任何在企业环境中使用的模型都可能处理敏感的内部数据,因此需要采取强有力的网络安全措施。

      模型运营者有义务保护用户数据,并防止其模型被用于恶意目的,例如欺诈和错误信息。开源模型的一个优点是任何人都可以评估该模型,以了解其工作原理以及是否遵守所有相关法规。

      机器学习工作流的优点

      机器学习管道具有许多优点,例如:

      • 模块化

      • 可复现性

      • 高效率 

      • 可扩展性

      • 实验

      • 部署

      • 协作

      • 版本控制和文档

      模块化

      管道将机器学习过程分解为模块化的、定义明确的步骤。每个步骤都可以独立开发、测试和优化,从而使得管理和维护工作流变得更加容易。

      可复现性

      机器学习管道使实验复现变得更加容易。在管道中定义步骤序列及其参数有助于确保结果一致。如果某一步骤失败或模型性能下降,则可对管道进行配置,以发出警报或采取纠正措施。

      高效

      管道自动化了许多常规任务,例如数据预处理、特征工程和模型评估。这种效率可以节省时间,并减少错误。

      可扩展性

      可以扩展管道以处理大型数据集或复杂的工作流。随着数据和模型复杂性的增加,您可以调整管道,而无需从头开始重新配置所有内容。

      实验

      修改管道中的各个步骤为实验不同的数据预处理技术、特征选择和模型提供了可能性。凭借此灵活性,您便可实现快速迭代和优化。

      部署

      管道有助于将机器学习模型部署到生产环境中。一个明确定义的模型训练和评估管道使得将模型部署到应用程序或系统中变得更加容易。

      协作

      管道使数据科学家和工程师团队能够协作。由于工作流是结构化且有文档记录的,团队成员更容易理解并为项目做出贡献。

      版本控制和文档

      版本控制系统会跟踪管道代码和配置的更改,从而允许回滚到以前的版本。结构明晰的管道有助于更好地记录每个步骤。

      机器学习管道的发展历程

      机器学习管道的发展历史与机器学习和数据科学领域的发展密切相关。虽然数据处理工作流的概念早于机器学习,但机器学习管道的正式化和广泛应用则是在最近才发展起来的。

      机器学习管道的发展历程包括以下几个阶段:

      • 早期数据处理工作流(2000 年前)

      • 机器学习的兴起(2000 年)

      • 数据科学的兴起(2000 年代末至 2010 年代初)

      • 机器学习库和工具的开发(2010 年代)

      • AutoML 的崛起(2010 年代)

      • 与 DevOps 的集成(2010 年代)

      早期的数据处理工作流(2000 年代之前)

      在机器学习广泛应用之前,数据处理工作流主要用于数据清洗、转换和分析等任务。这些工作流通常是手动的,涉及编写脚本或使用诸如电子表格软件之类的工具。但在此期间,机器学习却并非这些流程的核心组成部分。

      机器学习的兴起(2000 年代)

      机器学习在 21 世纪初随着算法的进步、计算能力的提升以及数据集的出现而迅速发展。研究人员和数据科学家开始将机器学习应用于各个领域,从而致使对系统化与自动化工作流程的需求不断上升。

      数据科学的兴起(2000 年代末至 2010 年代初)

      数据科学一词因其融合了统计学、数据分析和机器学习等多学科领域而广受欢迎。在此时期,数据科学工作流程实现了正规化,其中包括数据预处理、模型选择和评估,而这些工作流程如今均已成为机器学习管道的必要组成部分。

      机器学习库和工具的开发(2010 年代)

      2010 年代出现了机器学习库和工具的发展,这些工具简化了管道的创建。scikit-learn(适用于 Python)和 caret(适用于 R)等库为构建和评估机器学习模型提供了标准化的 API,从而使构建管道变得更为轻松。

      AutoML 的兴起(2010 年代)

      自动化机器学习 (AutoML) 工具和平台应运而生,旨在自动化构建机器学习管道的过程。这些工具通常自动化了超参数微调、特征选择和模型选择等任务,通过可视化和教程使机器学习对非专家更为可及。

      与 DevOps 集成(2010 年代)

      DevOps 实践开始将机器学习管道纳入其中,以实现机器学习模型的持续集成和部署 (CI/CD)。这种整合被称为机器学习运维 (MLOps),它强调了 ML 管道中对可重复性、版本控制和监控的需求。

      MLOps 帮助数据科学团队有效应对复杂的 AI 编排挑战。在实时部署中,管道会在几毫秒内响应请求。

      相关解决方案
      IBM watsonx.ai

      使用面向 AI 构建器的新一代企业级开发平台 IBM watsonx.ai,可以训练、验证、调整和部署生成式 AI、基础模型和机器学习功能。使用一小部分数据,即可在很短的时间内构建 AI 应用程序。

      了解 watsonx.ai
      人工智能 (AI) 解决方案

      借助 IBM 业界领先的人工智能专业知识和解决方案组合,让人工智能在您的业务中发挥作用。

      深入了解 AI 解决方案
      AI 咨询与服务

      通过增加 AI 重塑关键工作流程和运营,最大限度提升体验、实时决策和商业价值。

      深入了解人工智能服务
      采取后续步骤

      一站式访问跨越 AI 开发生命周期的功能。利用用户友好型界面、工作流并访问行业标准 API 和 SDK,生成功能强大的 AI 解决方案。

      深入了解 watsonx.ai 预约实时演示