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