---
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|原文文章]]
