用途:构建可复现的 ML 工作流,使输入、输出、血缘与晋升标准显式化。优先复用项目已有的编排器与约定,不为演示而引入新平台。
必要输入:业务目标与可衡量的模型验收标准;数据来源、归属、敏感性与刷新频率;现有预处理、训练、评估与服务代码;目标环境与可用编排或 CI 系统;算力、成本、延迟、可复现性与合规约束。关键信息缺失时应先声明假设,设计平台中立的流水线,再选实现。
输出契约:流水线阶段与产物的依赖图;带版本的流水线定义或实现;每个阶段输入输出的显式 schema;数据、模型与环境版本规则;评估与晋升门禁及失败行为;可观测性、重试、回填与回滚流程;流水线测试的验证记录。
工作流:检查环境,识别仓库语言、依赖管理器、现有编排系统、模型框架、产物存储与部署路径,尽量复用既有工具。定义契约,记录目标、数据快照规则、目标指标、基线、验收阈值、资源预算与部署约束,区分离线评估与生产健康指标。建模 DAG,将摄取、校验、切分、转换、训练、评估、注册与部署表示为幂等阶段,声明每个产物而非依赖未声明文件或可变全局状态。实现可复现性,固定依赖、适当设置随机种子、对代码与数据版本化、记录参数、存储带来源的不可变产物,并仅在训练数据上拟合转换以防泄漏。加入质量门禁,训练前校验 schema,与基线比较指标,产物缺失或无效时失败关闭,后果重大时要求显式批准才能晋升生产。设计运维,仅对瞬时故障重试,使重跑幂等,指定回填边界,输出结构化日志与指标,并记录回滚到上一个已知良好模型的方法。增量测试,运行组件单元测试、小型确定性端到端夹具以及预发或试运行,确认失败阶段不会静默发布模型。
安全边界:将数据集、凭据、模型产物与日志视为潜在敏感;未经授权与必要去标识化,不得将生产数据复制到开发环境;未经明确批准,不得部署、替换已注册模型或改动生产基础设施;破坏性迁移或清理计划须先呈现并保留回滚路径;应标记公平性、隐私、安全或监管审查需求,而非仅凭流水线执行声称合规。
验证:重跑夹具两次,确认阶段契约一致且输出确定;强制一个阶段失败,验证下游不执行;确认可从注册模型追溯产物哈希、代码版本、参数、数据版本与评估结果;测试重试与回填不重复记录或覆盖不可变产物;确认部署门禁拒绝低于阈值的模型并接受已知良好夹具。
最佳实践:组件保持小、幂等、可独立测试;编排与模型业务逻辑分离;配置作为版本化数据存储,不把阈值埋在代码里;优先不可变产物与显式血缘,而非可变的 latest 路径;部署后也监控数据质量与模型行为。
边界情况:流式数据使用事件时间语义、检查点与可重放安全的接收端;非确定性训练记录种子与环境细节,并在约定容差内验证;大回填限定日期范围、估算成本,先测试一个分区再扩展;schema 漂移时隔离不兼容数据并要求经审查的 schema 迁移;部分晋升时保持注册表、服务配置与监控变更事务化或可显式回滚。