MLflow 让开发者可以基于任意机器学习库进行模型训练,只要可以将它们包装在 Python 函数中,但对于常用的库,MLflow 团队希望能够提供内置的支持。该版本增加了 mlflow.tensorflow 包,借助这个包,开发者可以轻松地将 TensorFlow 模型记录到 MLflow 跟踪服务器中。在记录模型之后,可以立即将其传给受 MLflow 支持的各种部署工具(例如本地 REST 服务器、Azure ML 服务或 Apache Spark)。
以下示例显示了用户如何记录经过训练的 TF 模型,并使用内置功能和 pyfunc 抽象进行部署。
训练环境:保存训练过的的 TF 模型
部署环境:加载 TF 模型并进行预测
MLflow 0.2 增加了一个新的 mlflow server 命令,该命令将启动 MLflow 跟踪服务器的生产版本,用于跟踪和查询运行过的实验。与本地的 mlflow ui 命令不同,mlflow server 可以支持多个工作线程和基于 S3 的存储,如下所述。读者可以阅读 MLflow 文档以了解如何运行跟踪服务器。
MLflow 的一个关键功能是记录训练的输出,其中可能包括被称为“构件”的任意文件。不过,MLflow 的第一个版本仅支持将构件保存到共享的 POSIX 文件系统。MLflow 0.2 添加了对 S3 存储的支持,通过给 mlflow server 命令添加—artifact-root 参数即可。这样可以轻松地在多个云实例上运行 MLflow 训练作业并跟踪结果。以下示例说明如何启动使用 S3 存储的跟踪服务器。
在 EC2 实例上运行 MLflow 服务器:
MLflow 客户端:
除了这些较大的功能之外,该版本还包含了一些错误和文档问题的修复。完整的变更列表可以在 CHANGELOG 中找到。读者可以在 mlflow-users@googlegroups.com 上提供更多反馈,或在 GitHub 上提交问题或补丁。要想实时讨论有关 MLflow 的问题,可以加入 MLflow 的 Slack 通道。
MLflow 团队计划在 alpha 版本中继续更新 MLflow。例如,该团队正在进行的工作包括与更多库(如 PyTorch、Keras 和 MLlib)的集成,并进一步改进跟踪服务器的可用性。有关 MLflow 下一步工作的概述,可查看上周 MLflow 聚会的演示文稿,或直接观看聚会视频。
对于想要尝试托管版 MLflow 的 Databricks 用户,可以在 databricks.com/mlflow 上注册。
MLflow Github 地址:https://github.com/databricks/mlflow
MLflow 快速入门指南:https://mlflow.org/docs/latest/quickstart.html
如何运行跟踪服务器:https://www.mlflow.org/docs/latest/tracking.html#running-a-tracking-server
MLflow 2.0 变更日志:
https://github.com/databricks/mlflow/blob/master/CHANGELOG.rst
MLflow Slack 频道:https://tinyurl.com/mlflow-slack
MLflow 首次聚会演示幻灯片:https://www.slideshare.net/databricks/introduction-fo-mlflow
如果你喜欢这篇文章,或希望看到更多类似优质报道,记得给我留言和点赞哦!