关于 ml-pipeline-creation
ml-pipeline-creation 是用于设计可复现机器学习工作流的技能,面向构建和运维模型流水线的团队。它强调明确的阶段契约、产物沿袭、评估门槛和运维流程,并优先复用现有环境。
主要功能
- 01依赖图与版本化流水线定义
- 02明确各阶段输入和输出架构
- 03数据、模型与环境版本管理
- 04评估门槛与晋级控制
- 05重试、回填、观测与回滚方案
- 06逐步验证流水线
适用场景
- 01基于现有编排工具设计训练流水线
- 02追踪模型产物与数据沿袭
- 03阻止未经批准或未达门槛的模型晋级
- 04测试重试、回填与故障处理
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ seb1n/ awesome-ai-agent-skills --skill ml-pipeline-creation安装后在 Claude Code 中输入/ml-pipeline-creation确认已加载。
详细介绍
ML 流水线创建
构建可复现的 ML 工作流,明确输入、输出、溯源和晋级标准。优先采用项目现有的编排工具和约定;不要仅为展示而引入新平台。
必需输入
- 业务目标和可衡量的模型验收标准
- 数据源、所有权、敏感性和预期刷新频率
- 现有的预处理、训练、评估和服务代码
- 目标环境以及可用的编排或 CI 系统
- 算力、成本、延迟、可复现性和合规约束
如果缺少关键信息,请说明假设,并在选择实现方案前设计一个平台无关的流水线。
输出约定
请提供:
- 流水线阶段和产物的依赖关系图
- 有版本控制的流水线定义或实现
- 每个阶段输入和输出的明确模式
- 数据、模型和环境的版本控制规则
- 评估和晋级关卡及失败处理方式
- 可观测性、重试、回填和回滚流程
- 显示流水线测试方式的验证记录
工作流
- 检查环境。 确定代码库使用的语言、依赖管理器、现有编排系统、模型框架、产物存储和部署路径。尽可能复用已有工具。
- 定义约定。 记录目标、数据快照规则、目标指标、基线、验收阈值、资源预算和部署约束。区分离线评估指标与生产健康指标。
- 构建 DAG。 将数据摄取、验证、拆分、转换、训练、评估、注册和部署表示为幂等阶段。声明每项产物,不要依赖未声明的文件或可变全局状态。
- 确保可复现性。 固定依赖版本,在适当情况下为随机操作设置种子,为代码和数据建立版本,并保存带有溯源信息的不可变产物。仅使用训练数据拟合转换,防止训练集与验证集泄漏。
- 添加质量关卡。 训练前验证模式,将指标与基线比较,缺少或产物无效时立即失败;如果后果重大,生产晋级前必须获得明确批准。
- 设计运维流程。 仅针对暂时性故障定义重试,使重新运行保持幂等,明确回填范围,输出结构化日志和指标,并记录回滚至最近已知良好模型的步骤。
- 逐步测试。 对组件运行单元测试,使用小型确定性夹具运行端到端测试,并在暂存环境中执行或进行试运行。确认阶段失败不会悄然发布模型。
示例
对于批处理分类器,明确规定产物流转:
pipeline: customer-churn-training
inputs:
raw_snapshot: data/raw/churn-2026-08-01.parquet
stages:
- name: prepare-data
inputs: [raw_snapshot]
outputs: [train_set, validation_set, test_set, feature_schema]
- name: train-model
inputs: [train_set, feature_schema, training_config]
outputs: [model, training_metrics]
- name: evaluate-model
inputs: [model, validation_set, test_set, baseline_metrics]
outputs: [evaluation_report, promotion_decision]
- name: register-model
condition: promotion_decision == "pass"
inputs: [model, evaluation_report]
outputs: [registered_model_version]
要求 prepare-data 输出所有已声明的数据拆分。如果缺少 test_set,则拒绝此次运行,不要让评估阶段使用未声明的路径。
安全边界
- 将数据集、凭据、模型产物和日志视为可能包含敏感信息。
- 未经授权且未按要求去标识化,不得将生产数据复制到开发环境。
- 未经明确批准,不得部署模型、替换已注册模型或修改生产基础设施。
- 执行前展示具有破坏性的迁移或清理方案,并保留回滚途径。
- 标明公平性、隐私、安全或法规审查要求;不要仅凭流水线执行就宣称符合要求。
验证
- 重新运行 fixture 两次,确认各阶段契约和预期的确定性输出均保持一致。
- 强制某个阶段失败,并验证下游阶段不会执行。
- 验证可从已注册的模型追溯工件哈希、代码修订版本、参数、数据版本和评估结果。
- 测试重试和回填行为,确保不会重复创建记录或覆盖不可变工件。
- 确认部署门禁会拒绝低于阈值的模型,并接受已知良好的 fixture。
最佳实践
- 保持组件小巧、幂等且可独立测试。
- 将管道编排与模型业务逻辑分离。
- 将配置存储为带版本的数据;不要将阈值埋在代码中。
- 优先使用不可变工件和明确的血缘关系,而非可变的“最新”路径。
- 部署后持续监控数据质量和模型行为,而不只是在训练期间监控。
边缘情况
- 流式数据: 使用事件时间语义、检查点和可安全重放的接收端。
- 非确定性训练: 记录随机种子和环境详情,然后在约定的容差范围内进行验证。
- 大规模回填: 限定日期范围、估算成本,并在扩展前先测试一个分区。
- 架构漂移: 隔离不兼容的数据,并要求经过审核的架构迁移。
- 部分推广: 确保注册表、服务配置和监控变更以事务方式进行,或明确支持回滚。
评论
支持 Markdown