使用 Azure 机器学习创建自定义 AI 模型

已完成

使用复杂的 AI 模型可以帮助组织大幅减少数据科学项目所需的庞大资源。 让我们了解组织如何使用 Azure 机器学习来处理机器学习方面的挑战和操作。

机器学习的挑战和机器学习运营的需求

维护 AI 解决方案通常需要通过机器学习生命周期管理来记录和管理数据、代码、模型环境以及机器学习模型本身。 需要建立流程来开发、打包和部署模型,以及监视其性能,并偶尔重新训练它们。 大多数组织在生产中同时管理多个模型,增加了复杂性。

为了有效地应对这种复杂性,需要遵循一些最佳做法。 他们专注于跨团队协作、自动化和标准化处理流程,并确保模型易于审核、解释和重复使用。 为此,数据科学团队依赖于机器学习运营方法。 此方法的灵感来自 DevOps(开发和运营),这是用于管理应用程序开发周期的操作的行业标准,因为开发人员和数据科学家面临的困难是相似的。

Azure 机器学习

数据科学家可以通过 Azure 机器学习管理和执行机器学习 DevOps。Azure 机器学习是 Microsoft 提供的一个平台,可以简化机器学习生命周期管理和操作实践。 这种工具可帮助团队在共享的、可审核和安全的环境中进行协作,其中许多流程都可以通过自动化进行优化。

Azure 机器学习工作室登陆页面的屏幕截图。

机器学习生命周期管理

Azure 机器学习支持预先训练的模型和自定义模型的端到端机器学习生命周期管理。 典型的生命周期包括以下步骤:数据准备、模型训练、模型打包、模型验证、模型部署、模型监视和重新训练。

显示 ML 生命周期的示意图:准备数据、训练模型、打包模型、验证模型、部署模型、监视模型,以及重新训练模型。

经典方法涵盖了数据科学项目的所有一般步骤。

  1. 准备数据集。 AI 是基于数据的。 首先,数据科学家需要准备用于训练模型的数据。 数据准备通常是生命周期中时间投入最多的步骤。 此任务涉及到查找或生成你自己的数据集,并对其进行清理,使计算机可以轻松读取它。 需要确保数据是有代表性的样本、变量与目标相关,等等。
  2. 训练和测试。 接下来,数据科学家将算法应用于数据,对机器学习模型进行训练。 然后,通过新数据对其进行测试,了解其预测的准确性。
  3. 打包。 不能将模型直接放入应用中。 需要将其容器化,使它能够与用于生成它的所有工具和框架配合运行。
  4. 验证。 此时,团队评估模型性能如何匹配其业务目标。 测试可能会返回足够好的指标,但在实际业务场景中使用时,模型仍可能无法按预期工作。
    • 重复执行步骤 1 到 4。 找到满意的模型可以需要成百上千的训练小时。 开发团队可以通过调整训练数据、优化算法超参数或尝试不同的算法,针对多个版本的模型进行训练。 理想情况下,模型每轮调整都会改善。 最终,开发团队确定哪个模型版本最适合业务用例。
  5. 部署。 最后部署模型。 部署选项包括:在云中、在本地服务器上,以及在相机、IoT 网关或机器等设备上。
  6. 监视和重新训练。 即使模型最初能够正常运行,也需要持续监视和重新训练以保持有用且准确。

注意

若要集成预先训练的模型并使其适应你的业务需求,需要设置一个可以集成自定义模型的不同工作流。 使用 Azure 机器学习,可以使用预先训练的模型或生成你自己的模型。 请根据具体的场景选择适当的方法。 使用预先训练的模型的优点是需要的资源更少,可以更快地交付结果。 但是,预生成模型是经过训练的,可以处理各种用例,因此它们可能难以满足非常具体的需求。 在这些情况下,使用一个完整的自定义模型可能会更好。 灵活地结合使用这两种方法通常更可取,有助于进行缩放。 对于最简单的用例,AI 团队可以使用预先训练的模型来节省资源,同时将这些资源投入到为最具挑战性的场景生成自定义 AI 模型上。 进一步的迭代可以通过重新训练预生成模型来改进模型。

机器学习操作

机器学习运营 (MLOps) 应用 DevOps(开发和运营)方法来更有效地管理机器学习生命周期。 有了它,AI 团队就能够在所有利益干系人之间能够进行更敏捷、更高效的协作。 这些协作涉及数据科学家、AI 工程师、应用开发人员和其他 IT 团队。

MLOps 流程和工具可帮助这些团队进行协作,并通过共享的可审核文档提供可见性。 MLOps 技术使用户能够保存和跟踪对所有资源(例如数据、代码、模型和其他工具)进行的更改。 这些技术还可以通过自动化、可重复的工作流和可重用的资产来提高效率并加速生命周期。 所有这些做法使 AI 项目更加敏捷和高效。

Azure 机器学习支持以下 MLOps 实践:

  • 模型可重现性:表示不同的团队成员可以基于同一数据集运行模型并获得相似的结果。 要使模型在生产环境中的结果可靠,可重现性至关重要。 Azure 机器学习支持模型可重现性,并支持集中管理环境、代码、数据集、模型和机器学习管道等资产。

  • 模型验证:在部署模型之前,必须验证其性能指标。 可能有多个指标用于指示“最佳”模型。 按照与业务用例相关的方式验证性能指标至关重要。 Azure 机器学习支持使用多种工具进行模型验证,以评估损失函数和混淆矩阵等模型指标。

  • 模型部署:部署模型时,让数据科学家和 AI 工程师共同确定最佳部署选项非常重要。 这些选项包括云、本地和边缘设备(相机、无人机、机器)。

  • 模型重新训练:需要监视模型并定期对其进行重新训练,以纠正性能问题并利用较新的训练数据。 Azure 机器学习支持使用系统化的迭代过程来不断完善并确保模型的准确度。

提示

照片显示一名医护工作人员在平板电脑上访问 Azure 机器学习。
客户案例:一家医疗保健组织使用 Azure 机器学习来训练自定义机器学习模型,这些模型用于预测手术过程中出现并发症的可能性。 这些模型基于大量数据进行训练,包括年龄、种族、吸烟历史记录、身体质量指数和血小板计数等因素。 使用这些模型,医疗专业人员可以更好地评估风险,并确定针对个别患者的手术或生活方式更改建议的选项。 Azure 机器学习中负责任的 AI 仪表板有助于解释预测因素并缓解人口因素的偏见。 最终,预测建模解决方案有助于降低风险和不确定性,并改善手术结果。 在此处阅读完整客户案例:https://aka.ms/azure-ml-customer-story

提示

请花点时间考虑一下你的组织如何利用数据科学和机器学习专业知识来生成自定义模型。
照片显示人们坐在桌子旁工作和交谈。

接下来,让我们通过一项知识检查来汇总本文的内容。