教程与示例
欢迎来到我们的教程与示例中心!在这里,您将找到一系列精选资源,帮助您入门并深入了解 MLflow。无论您是正在微调超参数、编排复杂的机器学习工作流,还是将 MLflow 集成到您的训练代码中,这些示例都将一步步指导您。
🎯 核心工作流与 API
如果您专注于为模型寻找最佳配置,请查看我们的超参数调优示例。它将引导您完成网格搜索或随机搜索的设置、指标记录以及结果比较——所有这些都在 MLflow 的跟踪界面中完成。
当您的项目需要协调多个步骤时——例如数据预处理、模型训练和后处理——您会欣赏编排多步工作流指南。它演示了如何链接 Python 脚本或 Notebook 任务,以便每个阶段都能在统一的实验中记录伪件和指标 🚀。
对于那些喜欢直接构建 HTTP 请求的用户,我们的直接使用 MLflow REST API示例向您展示了如何通过简单的 curl 和 Python 代码片段提交运行、检索指标和注册模型 🔍。当您需要对跟踪服务器进行与语言无关的控制时,这是理想的选择。
同时,如果您正在 MLflow 核心之上构建自定义功能,请深入了解编写与使用 MLflow 插件,了解如何通过新的模型格式、UI 标签页或伪件存储来扩展 MLflow。您将了解如何打包您的插件、注册它,并在推送生产环境之前在本地进行测试。
📦 可复现性与供应链安全
可复现性是可信赖机器学习的核心。如果您需要封装整个训练环境,在 Docker 环境中打包训练代码教程将向您展示如何创建包含数据加载器、训练脚本、依赖项和 MLflow 跟踪调用的 Docker 镜像。您将了解如何构建、推送和运行镜像,同时捕获所有伪件。
当需要保护您的 Python 包免受篡改时,Python 包防篡改示例将引导您完成签名 wheel、验证校验和以及将这些步骤集成到您的 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示例将引导您完成文本分类管道的训练,并记录 token embedding 和评估指标。对于大型语言模型,Transformers集成展示了如何在 MLflow 的跟踪 UI 中记录 Hugging Face 模型权重、样本生成和评估分数。
- 可解释性与可视化:想了解您的模型的预测吗?SHAP教程演示了如何在训练期间计算 SHAP 值,并在 MLflow UI 中可视化特征归因。
- 高级 AI 工作流:对于基于 LLM 的管道编排,请探索LangChain和OpenAI示例。您将仪器化 prompt,记录 completion,并与下游评估指标一起跟踪对话历史。
- 其他框架与工具:
- LightGBM,用于快速梯度提升。
- SynapseML,展示 MLflow 如何与 Azure Synapse 管道集成。
- scikit-learn 示例:
- Diabetes 示例,拟合弹性网络模型并跟踪指标。
- Elastic Net 示例,展示模型打包和超参数记录。
- Logistic Regression 示例,说明分类指标和模型注册表。
- RAPIDS:如果您使用 GPU 加速库,请查看Random Forest Classifier示例,它记录基于 GPU 的训练指标和模型伪件。
🔗 入门
-
选择您的工作流:如果超参数搜索是您的首要任务,请从超参数调优示例开始。对于多步管道的编排,请遵循编排多步工作流指南。如果您需要一种与语言无关的方法,请探索直接使用 MLflow REST API教程。
-
确保可复现性与安全性:按照在 Docker 环境中打包训练代码,将您的训练代码打包到 Docker 中。使用我们的Python 包防篡改示例来保护您的 Python 依赖项。
-
仪器化您的代码:浏览上面特定于框架的示例,找出哪个集成符合您的技术栈。点击相关链接(例如,对于基于 TensorFlow 的模型点击Keras,对于基于树的学习器点击XGBoost,或者对于 LLM 工作流点击LangChain)。
-
扩展与定制:要编写和测试自定义插件,请参考编写与使用 MLflow 插件。
立即开始探索这些示例,加速您的 MLflow 之旅——祝您实验愉快!🚀