教程和示例
欢迎来到我们的教程和示例中心!在这里,您将找到精心挑选的资源,帮助您入门并加深对 MLflow 的了解。无论您是微调超参数、编排复杂的工作流程,还是将 MLflow 集成到您的训练代码中,这些示例都将一步一步地指导您。
🎯 核心工作流程 & API
如果您专注于为您的模型找到最佳配置,请查看我们的超参数调整示例。它将引导您完成设置网格或随机搜索运行、记录指标以及比较结果的所有步骤,全部在 MLflow 的跟踪界面中完成。
当您的项目需要协调多个步骤时——例如,数据预处理、模型训练和后处理——您会欣赏编排多步骤工作流程指南。它演示了如何链接 Python 脚本或 Notebook 任务,以便每个阶段都在统一的实验中记录工件和指标 🚀。
对于那些喜欢直接制作 HTTP 请求的人,我们的直接使用 MLflow REST API示例向您展示了如何通过简单的 curl
和 Python 代码片段提交运行、检索指标和注册模型🔍。当您想要对跟踪服务器进行与语言无关的控制时,这是理想的选择。
同时,如果您正在 MLflow 核心之上构建自定义功能,请深入了解编写 & 使用 MLflow 插件,了解如何使用新的风味、UI 选项卡或工件存储扩展 MLflow。您将看到如何打包您的插件、注册它,并在推送到生产环境之前在本地对其进行测试。
📦 可重复性 & 供应链安全
可重复性是可信赖 ML 的核心。如果您需要封装整个训练环境,在 Docker 环境中打包训练代码教程向您展示了如何创建一个 Docker 镜像,其中包含您的数据加载器、训练脚本、依赖项和 MLflow 跟踪调用。您将看到如何在捕获每个工件的同时构建、推送和运行镜像。
在保护您的 Python 包免受篡改时,Python 包防篡改示例将引导您完成签名轮子、验证校验和以及将这些步骤集成到您的 CI/CD 管道中的过程。这确保了您记录为代码的内容与您稍后执行的内容完全相同,从而避免了“在我的机器上有效”的意外情况。
🛠️ 仪器化 ML 训练代码
MLflow 与各种训练框架无缝集成,因此您可以用最少的样板代码记录参数、指标和工件。以下是特定于框架的示例的叙述——单击与您的堆栈相关的示例
- 经典 ML & Boosting:如果您使用 H2O,请参阅我们的H2O 集成;对于基于树的模型,有一个完整的XGBoost 示例,该示例记录
DMatrix
参数和特征重要性图。 - 深度学习:对于神经网络,请查看Keras、PyTorch和TensorFlow示例——每个示例都向您展示了如何在 MLflow UI 中测量训练循环、保存模型检查点和可视化学习曲线。
- 时间序列预测:深入研究Prophet或Pmdarima,了解如何记录季节性组件图和预测准确性指标。您将看到 MLflow 如何捕获每次调整运行的模型快照。
- 统计模型 & R 用户:如果您在 R 中,请探索Glmnet (R),您将在 Wine 数据集上拟合弹性网络模型并记录系数、交叉验证指标和模型对象。对于 Python 统计信息,请查看Statsmodels,了解如何记录 OLS 摘要和诊断图。
- NLP & Transformers:我们的SpaCy示例将引导您完成训练文本分类管道、记录令牌嵌入和评估指标的过程。对于大型语言模型,Transformers集成向您展示了如何在 MLflow 的跟踪 UI 中记录 Hugging Face 模型权重、样本生成和评估分数。
- 可解释性 & 可解释性:想了解您的模型的预测吗?SHAP教程演示了如何在训练期间计算 SHAP 值并在 MLflow UI 中可视化特征归因。
- 高级 AI 工作流程:要编排基于 LLM 的管道,请探索LangChain和OpenAI示例。您将测量提示、记录完成情况,并跟踪对话历史记录以及下游评估指标。
- 其他框架和工具:
🔗 入门
-
选择您的工作流程:如果超参数搜索是您的首要任务,请从超参数调整示例开始。要编排多步骤管道,请按照编排多步骤工作流程指南进行操作。如果您需要与语言无关的方法,请探索直接使用 MLflow REST API教程。
-
确保可重复性和安全性:按照在 Docker 环境中打包训练代码,在 Docker 中打包您的训练代码。使用我们的Python 包防篡改示例保护您的 Python 依赖项。
-
测量您的代码:浏览上面的特定于框架的示例,以确定哪个集成与您的堆栈对齐。单击相关链接(例如,Keras用于基于 TensorFlow 的模型,XGBoost用于基于树的学习器,或LangChain用于 LLM 工作流程)。
-
扩展 & 自定义:要编写和测试自定义插件,请参阅编写 & 使用 MLflow 插件。
立即开始探索这些示例,以加速您的 MLflow 之旅 - 祝您实验愉快! 🚀