MLflow 和 Azure 机器学习 (v1)
适用于:Azure CLI ml 扩展 v1Python SDK azureml v1
MLflow 是一个开放源代码库,用于管理机器学习试验的生命周期。 MLflow 的跟踪 URI 和日志记录 API 统称为 MLflow 跟踪。 MLflow 的此组件记录和跟踪训练运行指标和模型项目,而不管试验环境是位于计算机、远程计算目标、虚拟机还是 Azure Databricks 群集上。
将 MLflow 跟踪和 Azure 机器学习配合使用时,可以跟踪试验的运行指标,并将模型项目存储在 Azure 机器学习工作区中。
比较 MLflow 和 Azure 机器学习客户端
下表汇总了可以使用 Azure 机器学习的客户端,以及它们各自的功能。
MLflow 跟踪提供指标日志记录和项目存储功能,如果没有 MLflow 跟踪,这些功能就只能通过 Azure 机器学习 Python SDK 提供。
功能 | MLflow 跟踪和部署 | Azure 机器学习 Python SDK | Azure 机器学习 CLI | Azure 机器学习工作室 |
---|---|---|---|---|
管理工作区 | ✓ | ✓ | ✓ | |
使用数据存储 | ✓ | ✓ | ||
记录指标 | ✓ | ✓ | ||
上传项目 | ✓ | ✓ | ||
查看指标 | ✓ | ✓ | ✓ | ✓ |
管理计算 | ✓ | ✓ | ✓ | |
部署模型 | ✓ | ✓ | ✓ | ✓ |
监视模型性能 | ✓ | |||
检测数据偏差 | ✓ | ✓ |
跟踪试验
借助 MLflow 跟踪,可以连接 Azure 机器学习作为 MLflow 试验的后端。 然后,可以执行以下任务:
在 Azure 机器学习工作区中跟踪和记录试验指标及项目。 如果已为试验使用 MLflow 跟踪,工作区可提供集中、安全和可缩放的位置,用于存储训练指标和模型。 有关详细信息,请参阅使用 MLflow 和 Azure 机器学习跟踪机器学习模型。
在 MLflow 和 Azure 机器学习模型注册表中跟踪和管理模型。
训练 MLflow 项目(预览版)
重要
本文中标记了“(预览版)”的项目目前为公共预览版。 该预览版在提供时没有附带服务级别协议,建议不要将其用于生产工作负载。 某些功能可能不受支持或者受限。 有关详细信息,请参阅适用于 Azure 预览版的补充使用条款。
可以使用 MLflow 跟踪,通过 MLflow 项目和 Azure 机器学习后端支持提交训练作业。
可以使用 Azure 机器学习跟踪在本地提交作业,也可以通过 Azure 机器学习计算将运行迁移到云中。
有关详细信息,请参阅使用 MLflow 项目和 Azure 机器学习训练机器学习模型。
部署 MLflow 试验
可以将 MLflow 模型部署为 Azure Web 服务,以便将 Azure 机器学习中的模型管理和数据偏移检测功能应用于生产模型。