FDE Times 数据在招 FDE 职位 863▼55 近 7 天在招职位数的变化(同口径比较):不计入本周新开始追踪的公司的职位近 7 天新增 71在招公司 181支持远程 24%美国薪资中位数 $200k招聘最多 Palantir 95
ENVI

前线部署工程师(FDE)的专业媒体

书籍与课程

FDE 读 Chip Huyen 的 ML 书,从第 3 章读起

书中最犀利的一句是坏的训练数据算法救不了,这几乎就是 FDE 的工作描述,而有四章讲的正是应对之道。

封面: Designing Machine Learning Systems
Designing Machine Learning Systems · Chip Huyen · 封面图片:Open Library
分享微博

要点速览

  • Chip Huyen 的这本书(O'Reilly,2022)源自斯坦福大学的 CS 329S 课程,把 ML 系统作为一个整体来看待。
  • 对 FDE 来说,核心是第 3、4、9、10 章:数据、训练数据、持续学习和 MLOps 基础设施。
  • 值得记住的三个观点:再好的算法也救不了糟糕的数据;类别不平衡是常态;自建还是采购,是一个反复出现的问题。
信息图,介绍《Designing Machine Learning Systems》一书中应先读的四章。按 3、4、9、10 的顺序:第 3 章数据工程基础(接入客户数据,区分批处理和流处理特征);第 4 章训练数据(获取足够好的训练数据,选模型前先统计标签分布);第 9 章持续学习与生产环境测试(让模型保持更新,把它当作基础设施问题);第 10 章 MLOps 基础设施与工具(自建或采购基础设施,写一页自建与采购分析)。下方方框展示第 4 章的陷阱:一个把 1,000 笔交易全部判为“正常”的模型准确率达 95%,却在 50 笔欺诈中一笔也没抓到。比例条显示 950 笔正常交易(95%)和 50 笔欺诈(5%)。
先读第 3、4、9、10 章。第 4 章指出,在 95/5 分布的数据上,一个什么都没学到的模型也能拿到 95% 的准确率。

这是一本讲机器学习的书,但书中最让人记得住的一句话却是:算法救不了你。如果训练数据很差,算法不可能表现良好。对前线部署工程师(FDE)来说,这句话几乎就是岗位描述。

这本书是 Chip Huyen 的 Designing Machine Learning Systems,2022 年由 O’Reilly 出版。它源自 Chip Huyen 在斯坦福大学讲授的 CS 329S 课程,这门课的目标是为开发真实世界中运行的 ML 系统提供一套迭代式框架。

不必从第一页读起。FDE 在客户现场通常要解决四件事:接入客户的数据,拿到足够好的训练数据,避免模型过时,以及回答基础设施该自建还是采购。第 3、4、9、10 章恰好对应这四件事。

为什么一本“整体视角”的书适合 FDE?

作者在本书介绍页中称,这本书以整体视角设计 ML 系统。从如何处理、构建训练数据,到选用哪些特征,每个决策都要放到整个系统的目标下衡量,而不是孤立地考虑。

本书官方 GitHub 仓库开篇就指出,ML 系统既复杂又各不相同,目标是构建可靠、可扩展、可维护的系统。FDE 的工作正是围绕这种“各不相同”展开:每个客户都有自己的数据类型和约束,因此系统思维比任何调参技巧都更有价值。

数据格式是对客户的承诺

第 3 章“数据工程基础”(Data Engineering Fundamentals)有一句话值得抄下来:对于结构化数据,写入数据的代码必须假定数据的结构。所以在集成客户数据时,选择存储格式不是小事,而是你的系统与对方系统之间的约定。

这一章还区分了两条路径。批量处理的数据产生静态特征;通过实时传输流动的数据,通常由流计算引擎处理,产生动态特征。

设想一家配送公司想预测哪些订单会被取消。“买家每月平均下单数”变化缓慢,每晚从导出文件重新计算一次就够了,这是批处理特征。“买家在过去 10 分钟内修改地址的次数”如果等到第二天早上再算就毫无意义,这是流处理特征。

最好在第一周就养成这样给特征分类的习惯,因为答案决定了你提出什么样的架构。如果所有重要特征都是批处理特征,可能暂时不必碰流处理基础设施。

95% 的准确率可能什么都没抓到

第 4 章“训练数据”(Training Data)指出,训练数据的质量决定模型表现,再巧妙的算法也无法弥补。它还点出一个令人不安的事实:在真实数据中,类别不平衡是常态,而不是例外。

算一笔小账。假设客户交来 1,000 笔交易,其中 950 笔正常,50 笔是欺诈。一个偷懒的模型把所有交易都预测为“正常”,1,000 次里对 950 次,准确率 95%,但 50 笔欺诈一笔也没抓到。

这个 95% 放在演示幻灯片上很好看,可客户请你来,恰恰是为了那 50 笔欺诈。因此在第一次工作会议上,先要标签分布,再讨论用什么模型;汇报结果时按类别分别给出,而不是只给一个数字。

真正的工作从演示之后开始

第 9 章讨论持续学习和生产环境测试,认为这是 ML 特有的问题,但主要需要靠基础设施来解决。作者还反驳了“流处理又难又贵”的担忧:流处理技术已经相当成熟。

第 10 章讲 MLOps 的基础设施与工具,称 ML 平台是一个新兴团队。搭建基础设施时,自建还是采购的问题困扰着工程经理和 CTO,书中也承认,ML 平台应包含什么,目前仍没有共识。

这个空白正是 FDE 能发声的地方,因为你最先亲眼看到客户缺什么。一页基于客户实际情况写成的自建与采购分析,往往比任何通用架构图都更有说服力。

遇到什么情况,该翻哪一章?

读一遍不够,这四章的价值在于项目卡住时知道该回到哪一页。下表是一份建议清单,可以贴在工位旁。

项目遇到的情况 翻到第几章 立即要做的事
客户发来从老系统导出的数据 3 写下写入数据的代码所假定的结构,先定格式再搭数据管道
部分特征需要按分钟更新 3 静态特征走批处理,把需要流处理的动态特征单独分出来
演示模型看起来不错,但客户发现它判断出错 4 统计标签分布,按类别汇报结果
上线后模型需要频繁更新 9 把它当作基础设施问题,不要因为看起来又难又贵就否定流处理
CTO 问该自建还是采购 10 基于客户实际情况写一页自建与采购分析

什么阅读顺序能最快进入 FDE 工作状态?

比较合理的顺序是第 3、4、9、10 章,其余章节等项目需要时再回头读。打开书之前,先浏览 github.com/chiphuyen/dmls-book 上的各章摘要,心里有张地图。

作者的书籍页面在 huyenchip.com/books,课程资料在 stanford-cs329s.github.io。如果你做后端或数据工作、熟悉数据管道,这四章会自然接上你已有的经验。

读 FDE 岗位描述时,可以试着把每条要求归入这四章:数据和训练数据相关的要求对应第 3、4 章;模型运维和基础设施相关的要求对应第 9、10 章。

在简历上,一个同时包含批处理和流处理特征的小项目,再附上你如何发现并处理类别不平衡的说明,比一句“熟悉机器学习”更有分量。

读完这四章,算法水平未必会提高多少。但你会更早向客户问出对的问题,对 FDE 来说,这才是真正的优势。

这篇文章对你有帮助吗?

4 个信源
路线图上的下一篇 · 阶段 3: AI 应用《AI Engineering》几乎没有代码,FDE 更该读它这本书讲的是教程替你做不了的选择:用哪个模型,怎么评测,如何上生产环境。