探索解决方案体系结构

已完成

与小型团队一起处理较小的项目时,拥有一个 Azure 机器学习工作区可能很有意义。 一个工作区可用于所有事务:训练、测试和部署模型。 但是,在 Proseware,你希望拥有一个强大且面向未来的解决方案,在生成和维护多个模型时,该解决方案可以轻松缩放,将这些模型与 Web 应用程序集成,供从业者使用。

为快速但安全地将模型从开发转移到生产,你已同意高级“机器学习操作”(MLOps) 体系结构。

机器学习操作体系结构示意图。

注意

此图是 MLOps 体系结构的简化表示形式。 若要查看更详细的体系结构,请浏览 MLOps (v2) 解决方案加速器中的各种用例。

体系结构包括:

  1. 设置:为解决方案创建所有必需的 Azure 资源。
  2. 模型开发(内部循环):浏览并处理数据来训练和评估模型。
  3. 持续集成:打包并注册模型。
  4. 模型部署(外部循环):部署模型。
  5. 持续部署:测试模型并提升到生产环境。
  6. 监视:监视模型和终结点性能。

为大规模使用机器学习模型,Proseware 希望在不同阶段使用不同的环境。 使用单独的环境可以更轻松地控制对资源的访问。 然后,每个环境都可以与单独的 Azure 机器学习工作区相关联。

注意

在本模块中,我们将引用环境的 DevOps 解释。 请注意,Azure 机器学习还使用术语环境来描述运行脚本所需的 Python 包集合。 这两个环境概念彼此独立。 详细了解 Azure 机器学习环境

为了允许在部署之前对模型进行测试,需要使用三种环境:

开发、过渡和生产环境示意图。

“开发”环境用于内部循环:

  1. 数据科学家训练模型。
  2. 该模型已打包并注册。

“过渡”环境用于外部循环的一部分:

  1. 使用 Lint 分析和单元测试来测试代码和模型。
  2. 部署模型以测试终结点。

“生产”环境用于外部循环的另一部分:

  1. 将模型部署到生产终结点。 生产终结点与 Web 应用程序集成。
  2. 监视模型和终结点性能以在必要时触发重新训练。

尽管许多机器学习任务可以且应是自动化的,但还是需要规划需要门控审批的点。 模型经过训练并打包后,你希望通知首席数据科学家在模型移至过渡环境之前对其进行验证。

同样,在模型在过渡环境中经过严格测试后,你希望添加门控审批,以确保软件开发团队的人员在将模型部署到生产之前验证所有测试是否成功。

使用环境时,可通过门控审批控制从一个环境到另一个环境的部署。