专业书籍精读 · ML System Design Interview · 第 1 章

引论与概览:ML 系统设计的七步框架

Machine Learning System Design Interview · Ch 1 · Ali Aminian & Alex Xu · 2023

EN →

这一章讲什么?

你刷短视频时,它总能接着推下一条你想看的;你的邮箱会自动把垃圾邮件挡在门外。这些背后都是一个会「学」的系统——没人一条条告诉它规则,它是从海量例子里自己总结出来的。这一章不教你造某一个具体的这种系统,而是先给一张顺序表:要造它,该按什么顺序想问题,哪一步最容易翻车。

先说个怪事

一般人以为,做这类系统最难的是「挑一个厉害的模型」。但真到了公司里,模型那部分往往只占整个系统的一小块——外面还围着一大圈:数据从哪来、怎么洗、怎么存、怎么送到模型嘴边、上线后怎么知道它是不是悄悄变笨了。工程师大部分时间花在这一圈上,而不是模型本身。

旧世界为什么难

普通软件是「你定规则」:满 200 减 30,写死在代码里,错了能一行行查。会学习的系统是「它从例子里自己找规律」:你给它一百万条历史记录,它总结出一套谁也没法逐条读懂的判断方式。这带来一个很别扭的后果——它变坏的时候不会报错。服务器没宕机,接口照常返回,只是推荐越来越不准、判断越来越离谱。普通软件的那套排错办法,在这儿基本失灵。

核心机制:那七步在做什么

这一章把造这样一个系统拆成七步,每一步都在回答一个很具体的问题:

最要紧的是:这七步不是一条直线,是个圈。第七步盯出来的问题,会把你退回第三步重新准备数据、重新训练。

这套流程的代价

它很慢:光是把需求翻译清楚、把数据管道搭起来,常常比训练模型本身多花好几倍时间,而这部分工作对外几乎看不见。

一句话记住

造一个会学习的系统,难的从来不是挑模型,而是把模糊的业务愿望翻译成一道能算分的题、把数据喂到位、再证明它在真人身上真的有用——而且上线之后它会自己变坏,得有人一直盯着。

想进到具体机制、记号和示意图? → 切到精读版