--- title: "ML 技术债务" created: 2026-06-19 updated: 2026-06-19 type: concept tags: [ml-engineering, technical-debt, production, system-design] sources: - https://arxiv.org/abs/1506.07756 - https://towardsdatascience.com/six-choices-every-ai-engineer-has-to-make-and-nobody-teaches/ --- # ML 技术债务 ## 定义 机器学习系统中的隐性技术债务——来自 Sculley et al. (2015, NeurIPS) 的经典框架。与软件工程中熟知的代码债务不同,ML 系统引入了独特且更昂贵的债务形式。 ## 核心差异:数据债务 > 代码债务 Sculley 的核心发现:**数据依赖比代码依赖更昂贵**。原因: - 数据更难追踪(无类型系统) - 数据更难版本化(数据漂移、schema 变更) - 数据更难向 6 个月后继承系统的人解释 - 数据管线的变更可能静默地破坏下游模型 ## ML 系统的真实构成 实际的模型代码只是真实 ML 系统的**一小部分**。大块是: - 特征存储和数据管道 - 监控和告警 - 重训练触发器和调度 - 各组件之间的粘合代码 ## CACE 效应 [[cace-principle|CACE 原理]]:改变任何事物都会改变一切。流水线上的一个小调整可能引发远处的惊人变化——这种级联效应在集成系统和神经网络中尤其严重。 ## 实际成本 - 团队选择一个更复杂的模型来获得 2% 的准确性,为此支付 18 个月的调试时间和重训练开销 - "数据沼泽":无治理地收集所有数据 → 需要数周清理 → 增加存储和流程成本 - 自托管硬件仅占 20-30% 成本,人力占 70-80% ## 参考 - [[cace-principle|CACE 原理]] - [[ai-production-tradeoffs|AI 生产权衡]] - [[data-swamp|数据沼泽]] - [[nobrega-ai-production-tradeoffs-2026|原文文章]]