关于 ml-pipeline-workflow
用于设计端到端机器学习流水线的技能,覆盖数据准备、训练、验证、部署和监控,并介绍编排与可复现实践;引用的模板和指南未随附。
主要功能
- 01端到端流水线设计
- 02DAG 编排模式
- 03数据验证与版本管理
- 04训练与实验跟踪
- 05模型验证与部署
适用场景
- 01规划新的机器学习流水线
- 02自动化可复现训练
- 03在部署前加入验证
- 04设计模型渐进发布与回滚
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill ml-pipeline-workflow安装后在 Claude Code 中输入/ml-pipeline-workflow确认已加载。
详细介绍
支持材料可用性
此目录副本包含以下内联指导,但不包含以下支持路径。这些路径是外部前置条件,并非随附文件:
<support-root>/assets/pipeline-dag.yaml.template<support-root>/references/data-preparation.md<support-root>/references/model-training.md
使用依赖这些路径的步骤前,请索取原始支持材料或现有安装;此目录未提供经过验证的下载来源。请根据该安装解析各路径,检查其内容,并核实适用的许可证和执行前置条件。所需文件不存在时,不要运行命令,也不要声称已遵循引用的流程。不要编造缺失的脚本,也不要将名称相同但无关的文件视为等效文件。此处完整记录的独立步骤可在用户授权范围内继续执行;请将任何依赖步骤报告为不可用。
ML Pipeline Workflow
完成从数据准备到模型部署的端到端 MLOps 流水线编排。
不要在以下情况下使用此技能
- 任务与 ML 流水线工作流无关
- 需要使用此范围之外的其他领域或工具
说明
- 明确目标、约束和所需输入。
- 应用相关最佳实践并验证结果。
- 提供可执行的步骤和验证方法。
概述
此技能为构建生产级 ML 流水线提供全面指导,涵盖完整生命周期:数据摄取 → 准备 → 训练 → 验证 → 部署 → 监控。
在以下情况下使用此技能
- 从头开始构建新的 ML 流水线
- 设计 ML 系统的工作流编排
- 实现数据 → 模型 → 部署自动化
- 设置可复现的训练工作流
- 创建基于 DAG 的 ML 编排
- 将 ML 组件集成到生产系统中
此技能提供的内容
核心能力
-
流水线架构
- 端到端工作流设计
- DAG 编排模式(Airflow、Dagster、Kubeflow)
- 组件依赖关系和数据流
- 错误处理和重试策略
-
数据准备
- 数据验证和质量检查
- 特征工程流水线
- 数据版本控制和血缘追踪
- 训练集/验证集/测试集划分策略
-
模型训练
- 训练任务编排
- 超参数管理
- 实验跟踪集成
- 分布式训练模式
-
模型验证
- 验证框架和指标
- A/B 测试基础设施
- 性能回归检测
- 模型比较工作流
-
部署自动化
- 模型服务模式
- 金丝雀部署
- 蓝绿部署策略
- 回滚机制
参考文档
以下上游参考指南未随附在此目录树中;依赖其中的流程前,请先获取并检查这些指南:
- data-preparation.md - 数据清理、验证和特征工程
- model-training.md - 训练工作流和最佳实践
- model-validation.md - 验证策略和指标
- model-deployment.md - 部署模式和服务架构
资产和模板
以下上游资产未随附在此目录树中:
- pipeline-dag.yaml.template - 用于工作流编排的 DAG 模板
- training-config.yaml - 训练配置模板
- validation-checklist.md - 部署前验证清单
使用模式
基本流水线设置
# 1. Define pipeline stages
stages = [
"data_ingestion",
"data_validation",
"feature_engineering",
"model_training",
"model_validation",
"model_deployment"
]
# 2. Configure dependencies
# See assets/pipeline-dag.yaml.template for full example
生产工作流
-
数据准备阶段
- 从数据源摄取原始数据
- 执行数据质量检查
- 应用特征转换
- 对处理后的数据集进行版本管理
-
训练阶段
- 加载有版本记录的训练数据
- 执行训练任务
- 跟踪实验和指标
- 保存训练好的模型
-
验证阶段
- 运行验证测试套件
- 与基线进行比较
- 生成性能报告
- 批准部署
-
部署阶段
- 打包模型制品
- 部署到服务基础设施
- 配置监控
- 验证生产流量
评估边界
按实际独立单位(例如实体/时间)进行划分;仅使用训练数据拟合预处理流程,并确保最终测试集不参与调优。固定数据集、代码和模型制品的版本,并记录基线指标及其不确定性。云端训练、外部实验跟踪和部署均须获得数据共享/成本授权。将内联 YAML 视为概念性 DAG,而非可直接执行的 Airflow/Kubeflow 架构。
最佳实践
流水线设计
- 模块化:每个阶段都应能够独立测试
- 幂等性:安全地重新运行各阶段
- 可观测性:在每个阶段记录指标
- 版本管理:跟踪数据、代码和模型版本
- 故障处理:实现重试逻辑和告警
数据管理
- 使用数据验证库(Great Expectations、TFX)
- 使用 DVC 或类似工具对数据集进行版本管理
- 记录特征工程转换
- 维护数据沿袭跟踪
模型运维
- 将训练和服务基础设施分开
- 使用模型注册表(MLflow、Weights & Biases)
- 为新模型实施渐进式发布
- 监控模型性能漂移
- 保留回滚能力
部署策略
- 从影子部署开始
- 使用金丝雀发布进行验证
- 实施 A/B 测试基础设施
- 设置自动回滚触发条件
- 监控延迟和吞吐量
集成点
编排工具
- Apache Airflow:基于 DAG 的工作流编排
- Dagster:基于资产的流水线编排
- Kubeflow Pipelines:原生基于 Kubernetes 的 ML 工作流
- Prefect:现代数据流自动化
实验跟踪
- 使用 MLflow 进行实验跟踪和模型注册
- 使用 Weights & Biases 进行可视化和协作
- 使用 TensorBoard 跟踪训练指标
部署平台
- 使用 AWS SageMaker 管理 ML 基础设施
- 使用 Google Vertex AI 进行 GCP 部署
- 使用 Azure ML 部署到 Azure 云
- 使用 Kubernetes + KServe 实现与云无关的服务
渐进式披露
从基础功能开始,逐步增加复杂度:
- 级别 1:简单的线性流水线(数据 → 训练 → 部署)
- 级别 2:增加验证和监控阶段
- 级别 3:实现超参数调优
- 级别 4:增加 A/B 测试和渐进式发布
- 级别 5:采用集成策略的多模型流水线
常见模式
批量训练流水线
# See assets/pipeline-dag.yaml.template
stages:
- name: data_preparation
dependencies: []
- name: model_training
dependencies: [data_preparation]
- name: model_evaluation
dependencies: [model_training]
- name: model_deployment
dependencies: [model_evaluation]
实时特征流水线
# Stream processing for real-time features
# Combined with batch training
# See references/data-preparation.md
持续训练
# Automated retraining on schedule
# Triggered by data drift detection
# See references/model-training.md
故障排查
常见问题
- 流水线故障:检查依赖项和数据是否可用
- 训练不稳定:检查超参数和数据质量
- 部署问题:验证模型制品和服务配置
- 性能下降:监控数据漂移和模型指标
调试步骤
- 检查每个阶段的流水线日志
- 在边界处验证输入/输出数据
- 单独测试各个组件
- 检查实验跟踪指标
- 检查模型制品和元数据
后续步骤
设置好流水线后:
- 探索 hyperparameter-tuning 技能以进行优化
- 了解 experiment-tracking-setup,用于设置 MLflow/W&B
- 查看 model-deployment-patterns,了解服务策略
- 使用可观测性工具实现监控
相关技能
- experiment-tracking-setup:MLflow 和 Weights & Biases 集成
- hyperparameter-tuning:自动化超参数优化
- model-deployment-patterns:高级部署策略
限制
- 仅当任务明确符合上述范围时,才使用此技能。
- 不要将输出视为环境专属验证、测试或专家审查的替代品。
- 如果缺少必需的输入、权限、安全边界或成功标准,请停止并请求澄清。
评论
支持 Markdown