端到端机器学习管道包括三个阶段:
机器学习工作流是更大范围的机器学习运维 (MLOps) 学科的核心组成部分。这一过程的许多部分可以通过各种自动化技术来自动化机器学习 (AutoML),这些技术管理阶段和端点之间的依赖关系。
在初始化 ML 工作流之前,企业领导、开发人员和其他利益相关者需要就机器学习项目的目标达成一致。了解为什么需要人工智能以及它旨在实现的目标,可以保持合理的期望,并使利益相关者围绕共同的目标达成一致。
当决定是否将 AI 整合到工作流中时,利益相关者必须首先确定 ML 模型要解决的业务目标,然后演示 AI 如何能实现它。一些公司采用相反的逻辑来处理 AI:“我们希望使用 AI。我们应该怎么使用它?”
最大限度地提高 AI 投资回报率 (ROI) 需要领导者了解用例,然后努力开发针对该用途的 ML 解决方案。
明确的指标,例如记录的关键绩效指标 (KPI),可以告知利益相关者 ML 项目是否实现了其目标。这些 KPI 应反映前一阶段设定的目标。例如,为提高效率而部署的 ML 模型可能会优先考虑投资回报率。
了解风险状况和潜在障碍有助于团队有效地推进项目。此步骤包括定义数据要求并评估数据收集和存储空间的相关法规(如有)。这同样适用于任何可能影响模型选择的限制,例如计算或内存要求。
数据摄取是通过数据管道将来自不同数据源的数据收集并导入到集中的数据仓库中。数据科学家必须识别合适的数据来源,例如内部存储的专有企业数据,销售报告、客户人口统计信息和其他组织知识。
有时还需要外部数据。外部数据来源可以包括与数据提供商的 API 连接、从互联网抓取的数据或合成数据。由于总是会创建新数据,因此数据摄取通常是一个连续的过程。
数据探索是评估数据以了解其所包含信息的过程。EDA 旨在了解数据的特征、发现模式和关系,并在 数据可视化工具的帮助下获得洞察分析。
EDA 结果为接下来发生的模型选择提供信息。
模型选择是选择最有可能在预期使用场景中提供最佳性能的模型类型的过程。初步的项目规划阶段已经让所有利益相关者和参与者对业务需求、限制条件和项目目标有了清晰的理解。机器学习从业者依据这些因素做出选择,在优化目标与可行性之间寻求平衡。
选择包括线性回归和逻辑回归、随机森林和决策树、神经网络和大语言模型 (LLM)、支持向量机 (SVM)、集成模型、智能体式系统以及其他许多模型。
根据机器学习难点的性质,某些类型的算法更适合作为候选模型。
例如,神经网络可以处理复杂的生成式 AI 难点,但计算成本较高,而且更容易过拟合。回归模型计算效率高,但用例有限。
模型超参数是控制模型在训练过程中行为的外部变量。超参数还决定了算法构建的模型的结构,例如神经网络中的神经元数量和层数。
超参数微调是优化超参数的过程,以便训练过程能够生成表现最佳的模型。数据科学家可以手动设置超参数,但通常会通过各种算法和其他技术来实现自动化过程。
模型训练是指利用与模型部署后处理的输入数据相似的数据集,通过优化过程提升模型性能的方法。机器学习训练管道是一个庞大的系统,根据算法和开发模型的任务,可以有多种形式。
许多训练方法都围绕着最小化损失函数展开,该函数用于测量模型的误差:模型输出与真实世界数据值之间的差距。在每一轮训练中,新模型都会更新其参数,因为它更接近训练数据。每次更新都会基于之前的结果进行迭代。
模型训练方法包括:
无监督学习:该模型在非结构化数据上进行训练,必须自行识别数据点和特征之间的模式和关系。
半监督学习:该模型采用混合方法进行训练,结合了监督学习和无监督学习。
自我监督学习:对于通常需要监督学习的任务,模型使用无标记数据进行训练。
强化学习:该模型的训练目的是采取能够产生最大奖励的行动,而不是最小化错误。
持续学习:该模型根据实时输入数据流(而不是预先组装的训练数据集)进行训练。
当模型被认为已训练完成(例如,当其损失函数已充分最小化时)后,在部署之前对其性能进行评估。LLM 评估过程使用在数据划分阶段准备的测试和验证数据集。
验证估计模型的预测误差:它在做出正确预测方面有多准确?在训练过程中,机器学习算法通常会输出多个具有不同超参数配置的模型。验证过程确定了具有最佳超参数配置的模型。
测试通过模拟现实世界的值来评估表现最佳模型的泛化误差:模型对新的未见数据的适应能力如何?测试数据独立于训练数据,在训练完成后对模型的表现进行基准测试。测试可以揭示模型部署后是否能按预期运行。
在开发出一个性能强大的合适模型后,就该让这个模型投入实际工作了。模型部署是指将模型提供给目标生产环境中的用户。这可以是从移动应用程序或 API 连接,到制药开发或机器人研究设施的任何形式。
模型只有在实际部署后才能开始发挥作用。从机器学习项目中取得优异结果意味着模型必须以一种易于使用的方式进行部署,无论是供消费者、业务领导者还是其他计算机系统使用。
模型部署包括:
模型序列化
整合
架构
监控
更新
合规性
序列化是一种常见的部署方法,涉及将模型转换为可以存储和传输的格式,然后在生产环境中将其反序列化。这就像将一屋子的物品装进一个盒子里,把盒子搬到一个新家,然后打开包装来布置新房间。
例如,Python(一种在机器学习开发中流行的编码语言)推荐使用 pickle 框架进行部署。
集成是将模型整合到其生产环境中,例如移动应用程序。模型可通过 AWS 或 Azure 等云计算提供商提供,也可进行现场托管。或者,最好使用容器化解决方案,例如 Kubernetes 和 Docker。
根据模型的服务方式,开发人员需要使用适当的机器学习库和框架(如 PyTorch 或 TensorFlow Serving)来使模型可访问。
可移植性和可扩展性是 ML 部署期间需要考虑的两个主要问题。
可移植性是指模型在不同系统之间转移的难易程度。
可扩展性是指模型在无需重新设计的情况下,处理不断增长的工作量(例如,增加的用户基数)的能力。
模型的生产环境必须能够支持机器学习项目的预计增长。自动扩展和编排工具可帮助应对随着时间推移而增加的需求。
除非通过持续学习来训练模型,否则其训练数据集是有限的。模型的知识截止日期指的是其知识库最后一次更新新数据的日期。随着时间的推移,随着知识库中的信息变得越来越过时,模型的相关性会降低。
必须定期更新模型,以减少模型漂移,并将错误率保持在可接受的最低水平。新数据、新特征和算法更新都可以优化模型性能。再训练也可以帮助模型保持最新状态。
每当涉及数据收集时,模型运营者都必须考虑有关隐私、知识产权、版权和其他问题的所有相关法律法规和要求。例如,HIPAA 保护美国的医疗数据,而 GDPR 为欧盟的人员提供特定的数据保护。
制药和金融等受管制行业使用的模型也可能受到更严格的操作控制。任何在企业环境中使用的模型都可能处理敏感的内部数据,因此需要采取强有力的网络安全措施。
模型运营者有义务保护用户数据,并防止其模型被用于恶意目的,例如欺诈和错误信息。开源模型的一个优点是任何人都可以评估该模型,以了解其工作原理以及是否遵守所有相关法规。
机器学习管道具有许多优点,例如:
模块化
可复现性
高效率
可扩展性
实验
部署
协作
版本控制和文档
管道将机器学习过程分解为模块化的、定义明确的步骤。每个步骤都可以独立开发、测试和优化,从而使得管理和维护工作流变得更加容易。
机器学习管道使实验复现变得更加容易。在管道中定义步骤序列及其参数有助于确保结果一致。如果某一步骤失败或模型性能下降,则可对管道进行配置,以发出警报或采取纠正措施。
管道自动化了许多常规任务,例如数据预处理、特征工程和模型评估。这种效率可以节省时间,并减少错误。
可以扩展管道以处理大型数据集或复杂的工作流。随着数据和模型复杂性的增加,您可以调整管道,而无需从头开始重新配置所有内容。
修改管道中的各个步骤为实验不同的数据预处理技术、特征选择和模型提供了可能性。凭借此灵活性,您便可实现快速迭代和优化。
管道有助于将机器学习模型部署到生产环境中。一个明确定义的模型训练和评估管道使得将模型部署到应用程序或系统中变得更加容易。
管道使数据科学家和工程师团队能够协作。由于工作流是结构化且有文档记录的,团队成员更容易理解并为项目做出贡献。
版本控制系统会跟踪管道代码和配置的更改,从而允许回滚到以前的版本。结构明晰的管道有助于更好地记录每个步骤。
机器学习管道的发展历史与机器学习和数据科学领域的发展密切相关。虽然数据处理工作流的概念早于机器学习,但机器学习管道的正式化和广泛应用则是在最近才发展起来的。
机器学习管道的发展历程包括以下几个阶段:
早期数据处理工作流(2000 年前)
机器学习的兴起(2000 年)
数据科学的兴起(2000 年代末至 2010 年代初)
机器学习库和工具的开发(2010 年代)
AutoML 的崛起(2010 年代)
与 DevOps 的集成(2010 年代)
在机器学习广泛应用之前,数据处理工作流主要用于数据清洗、转换和分析等任务。这些工作流通常是手动的,涉及编写脚本或使用诸如电子表格软件之类的工具。但在此期间,机器学习却并非这些流程的核心组成部分。
机器学习在 21 世纪初随着算法的进步、计算能力的提升以及数据集的出现而迅速发展。研究人员和数据科学家开始将机器学习应用于各个领域,从而致使对系统化与自动化工作流程的需求不断上升。
数据科学一词因其融合了统计学、数据分析和机器学习等多学科领域而广受欢迎。在此时期,数据科学工作流程实现了正规化,其中包括数据预处理、模型选择和评估,而这些工作流程如今均已成为机器学习管道的必要组成部分。
2010 年代出现了机器学习库和工具的发展,这些工具简化了管道的创建。scikit-learn(适用于 Python)和 caret(适用于 R)等库为构建和评估机器学习模型提供了标准化的 API,从而使构建管道变得更为轻松。
使用面向 AI 构建器的新一代企业级开发平台 IBM watsonx.ai,可以训练、验证、调整和部署生成式 AI、基础模型和机器学习功能。使用一小部分数据,即可在很短的时间内构建 AI 应用程序。
借助 IBM 业界领先的人工智能专业知识和解决方案组合,让人工智能在您的业务中发挥作用。
通过增加 AI 重塑关键工作流程和运营,最大限度提升体验、实时决策和商业价值。