重新训练设计

已完成

在机器学习运营 (MLOps) 解决方案中准备用于生产的模型时,需要针对重新训练进行设计。

通常,有两种方法可用于重新训练模型:

  • 基于计划:当你知道始终需要最新版本的模型时,可以决定每周或每月根据计划重新训练模型。
  • 基于指标:如果只想在必要时重新训练模型,可以监视模型的性能和数据偏移,以决定何时需要重新训练模型。

在任一情况下,都需要针对重新训练进行设计。 若要轻松重新训练模型,应为自动化准备代码。

准备代码

理想情况下,应使用脚本而不是笔记本来训练模型。 脚本更适合自动化。 可以将参数添加到脚本并更改输入参数,例如训练数据或超参数值。 参数化脚本后,可以根据需要轻松基于新数据重新训练模型。

准备代码的另一个重要事项是将代码托管在中央存储库中。 存储库是指存储所有与项目相关的文件的位置。 对于机器学习项目,基于 Git 的存储库非常适合实现源代码管理。

将源代码管理应用于项目时,可以轻松协作处理项目。 可以指派某人通过更新代码来改进模型。 你将能够查看过去的更改,并且可以在将更改提交到主存储库之前查看这些更改。

自动执行代码

若要自动执行代码,可以将 Azure 机器学习作业配置为运行脚本。 在 Azure 机器学习中,也可以创建和计划管道来运行脚本。

如果希望脚本基于 Azure 机器学习外部发生的触发器或事件运行,可能需要从其他工具触发 Azure 机器学习作业。

MLOps 项目中常用的两个工具是 Azure DevOps 和 GitHub (Actions)。 这两种工具都允许创建自动化管道,并可以触发 Azure 机器学习管道。

作为数据科学家,你可能更喜欢使用 Azure 机器学习 Python SDK。 但是,在使用 Azure DevOps 和 GitHub 等工具时,可能希望改为使用 Azure 机器学习 CLI 扩展来配置必要的资源和作业。 Azure CLI 旨在自动执行任务,可能更易于与 Azure DevOps 和 GitHub 配合使用。

提示

若要详细了解 MLOps,请浏览机器学习运营 (MLOps) 简介,或者尝试使用 GitHub Actions 生成第一个 MLOps 自动化管道