英语轻松读发新版了,欢迎下载、更新

通过托管 MLflow 解决常见的机器学习挑战

2024-12-16 20:07:22 英文原文

作者:Oyedele Tioluwani

管理生成式人工智能 (GenAI) 项目涉及跟踪训练数据、模型参数和训练运行,以提高模型性能。如果没有可靠的系统,比较实验、确定最佳配置和管理部署可能会变得难以承受。这些挑战减缓了机器学习 (ML) 的进展,从监督学习和非监督学习到先进的神经网络大语言模型 (LLM),导致整个 GenAI 和 ML 工作流程效率低下。

ML流是一个 Apache 2.0 许可的开源平台,通过提供用于跟踪实验、记录参数、记录指标和管理模型版本的工具和 API 来解决这些问题。其界面支持机器学习生命周期的各个阶段,从实验到部署。部署Amazon SageMaker 上的 MLflow作为一项完全托管的服务,可以帮助 ML 团队实现模型生命周期管理的自动化。它有助于解决常见的机器学习挑战,包括有效跟踪、管理和部署机器学习模型,增强跨不同机器学习任务的工作流程。

为什么使用托管 MLflow?

SageMaker 可扩展基础设施上的完全托管 MLflow 提供了用于处理机器学习实验、模型跟踪和模型注册的弹性设置。这就是为什么此功能很有价值:

  • 简化的基础设施:减少手动管理基础设施的需要,从而腾出时间进行更关键的实验和模型细化。
  • 简化模型跟踪:简化实验中记录重要信息的过程,提高一致性。
  • 具有成本效益的资源配置:释放资源,使团队能够分配更多时间和精力来改进机器学习模型质量,而不是管理运营。

作为阿米特·莫迪AWS 产品和项目管理高级经理在接受 The New Stack 采访时解释道,“SageMaker 为数据科学家提供了一个可扩展的环境,消除了一些基础设施负担,让他们能够专注于实验。”

MLflow with SageMaker

使用托管 MLflow 进行实验跟踪和记录

Amazon SageMaker 上托管 MLflow 的优势之一是启动和跟踪实验需要最少的设置。它简化了机器学习模型的关键方面的日志记录,包括指标、参数和工件,这对于改进这些模型至关重要。

启动和跟踪机器学习实验

通过简化数据捕获,SageMaker 帮助团队专注于改进模型,而不是花时间设置和维护跟踪框架和机器学习实验。数据科学家可以快速设置并开始跟踪每次运行的实验,例如:

  • 公制s:性能指标,例如准确性、精确度、召回率以及与实验相关的任何自定义指标。
  • 参数:每次模型迭代的输入参数,例如学习率、批量大小和正则化强度。
  • 文物:实验的输出,包括模型权重、混淆矩阵和特征重要性图,可以在 MLflow 平台内存储和管理。

How SageMaker Studio works

读这个简短指南了解它是如何工作的。

运行并记录多个迭代

微调机器学习模型通常涉及运行多次迭代来测试不同的参数组合。

New run in the MLflow UI

SageMaker 上的托管 MLflow 可以记录对参数的每次调整,例如学习率、批量大小或优化方法,以及每次更改对模型性能的影响。例如,如果您运行一个调整学习率的实验,然后运行另一个改变批量大小的实验,MLflow 会记录每个实验对关键指标的影响。

此日志记录功能对于高级机器学习模型特别有用,例如在生成人工智能中,其中微调参数对于有效提高模型质量至关重要。

在 UI 中比较实验运行

完成多次运行后,您可以使用 MLflow 用户界面 (UI) 分析和比较结果。该界面整合了您的实验数据,在一个地方显示多次运行的指标、参数和工件。以下是如何最大化其价值:

  1. 查看并排比较:选择多个实验运行并排查看它们可以直接比较不同模型版本的指标和参数。例如,您可以根据准确性比较运行,确定哪些参数配置产生最高性能。
  2. 按条件过滤运行:使用过滤器来细化显示的运行列表,使您可以仅关注符合您目标的表现最佳的实验。这使您可以将特定指标的实验归零,例如准确度高于 90% 的模型。
  3. 查看和可视化工件:UI 提供对任何已保存工件的访问,例如混淆矩阵或特征重要性图。这些可视化提供了额外的见解来评估每个模型的优势和潜在弱点,以帮助您选择性能最佳的模型。

Comparing models in SageMaker

MLflow UI 不仅记录数据,还有助于发现实验过程中的问题。Modi 解释说,“能够无缝跟踪实验使数据科学家能够快速检测甚至是微妙的性能问题。”这使得团队能够有效地排除故障,而不会忽视他们的实验进度。”

管理和注册机器学习模型

将模型从实验过渡到生产是机器学习工作流程的一个重要方面。使用 AWS SageMaker 上的托管 MLflow 等统一系统可以简化此流程,从而在整个机器学习模型生命周期中提供受控转换。

为什么模型注册表在实验中很重要

MLflow 模型注册表是一项核心功能,可提供模型版本的高级概述,充当在实验、分阶段和生产等生命周期阶段管理和跟踪模型的主要枢纽。将 SageMaker ModelRegistry 与 MLflow ModelRegistry 集成,结合了两个平台的优势。“这种集成最大限度地减少了部署和更新模型所需的手动工作,照顾到整个生命周期,因此团队可以专注于不间断地实现准确性,”莫迪解释道。

这种集成的优点包括:

  • 集中模型跟踪:所有模型版本都记录在统一的注册表中,以便实验的每个阶段都被记录下来。
  • 增强模型治理:在托管 MLflow 中注册的模型会自动出现在 SageMaker 模型注册表中,以实现统一的模型治理。

Model Registry in SageMaker

当模型准备好投入生产时,SageMaker 允许无缝部署,SageMaker 模型注册表会跟踪元数据、参数和性能指标,以帮助确保模型得到彻底记录和监控。

简化部署和生命周期管理

模型经过全面测试后,您可以通过 SageMaker 的部署选项将其投入生产,该选项提供实时推理和批量预测。SageMaker Model Registry 和托管 MLflow 之间的集成还可以使用 SageMaker Pipelines 来促进自动化生命周期管理,在新数据到达或需要重新训练时更新模型。

例如,如果您正在开发欺诈检测模型,任何更新的模型都可以自动部署到 SageMaker,并且可以使用 SageMaker Pipelines 根据传入数据设置重新训练。

实时管理和自动化

模型的相关性通常取决于实时管理和及时更新的访问,尤其是在数据频繁变化的快节奏领域。SageMaker Pipelines 可用于构建自动化的再训练工作流程,通过 SageMaker Model Registration 提供实时跟踪、自动更新,并使用 Amazon SageMaker 和 MLflow 对整个机器学习管道进行高效的模型管理。

通过版本控制提高模型质量

SageMaker 的模型注册表对每个再训练周期都保持严格的版本控制。每个版本都记录有指标、参数和工件以及模型沿袭,使您可以比较历史和当前模型性能。次优模型可以被标记并退役,这样只有性能最好的模型才能投入生产。这种方法最大限度地减少了与部署无效模型相关的风险,创建了一个针对质量和效率进行优化的系统。

保持模型最新

随着新数据的出现和模式的转变,模型的预测能力可能会下降。实时模型管理通过在新数据可用时自动进行重新训练来帮助保持模型的准确性。

例如,在推荐引擎或欺诈检测等应用中,模型必须保持最新状态才能良好运行。通过使用 MLflow 设置 SageMaker,团队可以配置模型以自动重新训练并随着数据的发展在生产中进行更新。这种不干涉的方法可以保持模型优化并减少数据科学团队的工作量,让他们专注于模型细化和实验而不是手动更新。

自动化机器学习生命周期

SageMaker 上的 MLflow 与 Amazon 集成事件桥,一种无服务器事件总线,用于连接应用程序并自动化机器学习生命周期中的步骤。EventBridge 允许您创建事件驱动的工作流程,一旦模型需要更新,就会触发重新训练、日志记录和部署。

自动化机器学习工作流程中的每个阶段会创建一个托管的、可扩展的流程,强制每个模型版本之间的一致性。SageMaker 捕获元数据、跟踪更改并标记任何性能回归,让您全面了解模型的生命周期并实现主动管理。

自动模型再训练以实现持续改进

自动化模型重新训练的能力是 SageMaker Pipeline 与托管 MLflow 集成的突出功能之一,在数据快速发展的动态环境中尤其有价值。考虑一个电子商务平台,其中客户行为和偏好会随着时间的推移而变化,从而使静态模型变得过时。相似地,生成式人工智能应用在语言处理或图像合成中需要不断更新才能有效地处理新数据。

自动再训练在 SageMaker 中的工作原理

借助 SageMaker,您可以配置持续监控,以便在性能指标低于定义的阈值时触发重新训练。例如,如果模型的准确度降至 90% 以下,SageMaker 可以自动:

  1. 从指定来源(例如 Amazon S3)获取最新数据集。
  2. 使用更新的数据和预定义的训练管道触发再训练作业。
  3. 在 SageMaker 上的托管 MLflow 中注册模型,该模型会自动将模型与 SageMaker 模型注册表同步
  4. 以最短的停机时间重新部署更新后的模型。

通过将此流程与托管 MLflow 集成,您可以获得每个再培训周期的完整日志。存储历史指标和参数以供比较,使您能够跟踪一段时间内的性能改进情况。这种封闭的反馈循环加强了模型治理,使模型在每次迭代时都能满足组织标准。

提高生命周期自动化和实时更新

EventBridge 改进了管理由现实世界变化触发的模型更新。例如:

  1. 新数据集的到达会触发摄取管道。
  2. 处理数据后,EventBridge 会在 SageMaker 中启动重新训练作业。
  3. 重新训练后,更新后的模型会自动注册到 MLflow 模型注册表中。
  4. 然后,EventBridge 触发部署工作流程,确保刷新的模型以最小的延迟部署到生产环境。

这种自动化使计算机模型与实时数据保持同步,并减少人工干预的需要,使工作流程具有可扩展性和适应性。

对于欺诈检测或推荐系统等用例,实时更新至关重要。EventBridge 允许您根据传入数据流设置触发器,以便根据最新信息持续训练模型。这种主动方法提高了决策速度和准确性,使模型与不断变化的模式保持一致。

随着机器学习应用程序的扩展,SageMaker 使用 EventBridge 等工具处理复杂工作流程的能力仍将至关重要。自动化和实时更新的结合可以帮助企业在数据驱动的世界中保持竞争力。

简化数据科学和 DevOps 团队协作

SageMaker 上的托管 MLflow 简化了数据科学和 DevOps 团队之间的协作。此功能减少了瓶颈并简化了从实验到生产的工作流程。一些主要好处包括:

统一的工作流程

托管 MLflow 统一了流程数据科学家开发运营团队。数据科学家利用 MLflow 来跟踪指标、参数和工件,而 DevOps 团队则管理可重复性和与生产相关的任务。这使两个团队能够以相同的观点自行快速识别和解决问题,而不会造成延迟或减慢从实验到生产的过渡。

基于角色的访问控制

SageMaker 上的托管 MLflow 使用 AWS Identity and Access Management 来支持安全协作。数据科学家可以访问开发所需的训练数据、日志和工件,而 DevOps 团队则使用 SageMaker Inference 端点管理部署和监控。明确定义的访问角色可以增强安全性和责任感,从而使每个团队能够有效地执行任务。

透明度和问责制

MLflow 的日志系统提供实验和模型版本的详细审计跟踪。DevOps 团队可以跟踪开发历史记录来解决部署难题,而实验日志可以实现清晰的沟通和无缝切换,从而防止团队之间出现失误。

简化的交接

SageMaker 通过自动将 MLflow 中注册的模型与其模型注册表同步,简化了将模型转移到生产中的过程。它最大限度地减少错误,加速部署并支持复杂的工作流程,例如深度学习和大型语言模型。通过管理基础设施,SageMaker 使团队能够专注于创新并限制对多种工具的需求。

这种集成对于涉及深度学习模型或大型语言模型的复杂工作流程特别有益。通过 SageMaker 管理基础设施,团队可以避免同时使用多个工具,这有助于减少错误并加快上市时间。

总结

随着机器学习的发展,生成式人工智能的兴起带来了独特的挑战,包括管理大规模模型、确保微调的可重复性以及保持实验和部署的效率。Amazon SageMaker with MLflow 提供了应对这些挑战的工具,提供安全协作、自动化生命周期管理和可扩展基础设施,

通过满足生成式 AI 时代复杂系统的需求,托管 MLflow 使团队能够解决当前的障碍,例如快速迭代周期、资源优化和负责任的 AI 实践。

团体 用草图创建。

关于《通过托管 MLflow 解决常见的机器学习挑战》的评论


暂无评论

发表评论

摘要

### 使用 Amazon SageMaker 和 MLflow 简化机器学习工作流程随着机器学习 (ML) 应用扩展到生成式 AI 等复杂领域,管理大规模模型并确保可重复性变得越来越具有挑战性。Amazon SageMaker 和 MLflow 等工具提供了强大的解决方案来简化这些流程,确保高效的实验和部署。#### SageMaker 上托管 MLflow 的主要功能1. **统一工作流程:**- 数据科学家可以使用 MLflow 来跟踪实验、参数、指标和工件。- DevOps 团队利用 SageMaker 无缝管理可重复性和生产任务。- 两个团队都可以访问相同的统一视图,从而能够快速解决问题。2. **基于角色的访问控制(RBAC):**- AWS Identity and Access Management (IAM) 提供安全协作。- 数据科学家使用训练数据、日志和工件进行开发。- DevOps 团队通过 SageMaker Inference Endpoints 管理部署和监控。3. **透明度和问责制:**- MLflow 的详细日志系统捕获整个实验历史记录和模型版本。- 此审计跟踪有助于解决部署问题并确保团队之间的清晰沟通。4. **简化的交接:**- 在 MLflow 中注册的模型会自动与 SageMaker 的模型注册表同步。- 最大限度地减少错误、加速部署并支持深度学习模型和大型语言模型 (LLM) 等复杂的工作流程。#### 自动化生命周期管理的好处- **持续监控和再培训:**- 当性能指标低于阈值时,可配置的监控可以触发重新训练作业。- 例如,如果准确率低于 90%,SageMaker 可以自动提取最新数据集,使用更新的数据重新训练,在 MLflow 中注册模型,然后重新部署。- **实时更新:**- EventBridge 自动化工作流程,以便根据现实世界的变化进行持续更新。- 新数据集的到达会触发摄取管道,然后重新训练作业、更新 MLflow 中的模型,并以最短的停机时间部署更新的模型。#### 现实生活中的用例1. **欺诈检测系统:**- 连续的数据流确保模型接受最新信息的训练,以有效检测不断变化的欺诈模式。2. **推荐引擎:**- 模型可以根据用户行为变化不断重新训练,随着时间的推移提高推荐准确性。3. **生成式人工智能应用:**- 对于语言处理和图像合成,持续更新确保新数据得到及时处理,以获得更好的模型性能。#### 结论Amazon SageMaker with MLflow 提供了强大的工具组合,可应对生成式 AI 和大规模模型带来的挑战。该集成平台支持安全协作、自动化生命周期管理和可扩展的基础设施。这确保团队能够有效管理快速迭代周期、优化资源并遵守负责任的人工智能实践。通过利用这些功能,组织可以在数据驱动的世界中保持竞争力,同时满足复杂的机器学习系统的需求。