序言
序言
David A. Patterson
Pardee 计算机科学荣休教授
加利福尼亚大学伯克利分校
Google 杰出工程师
ACM A.M. 图灵奖得主
加利福尼亚州伯克利
我的职业生涯始终致力于理解和改进计算赖以运行的根本基础——从定义处理器的指令集架构,到存储数据的存储系统。我亲眼见证,深刻的进步很少源于某个孤立的卓越想法,而更多地来自将众多想法整体整合为一个稳健、高效、可靠的系统。
今天,我们又站在一个关键时刻。机器学习(ML)已不再只是科学探索的对象,而是成为重塑行业、推动创新、改变日常生活的一股力量。算法展现的智能、准确率的提升,以及由此释放的近乎神奇的能力,理所当然地激发了全世界的想象。
令人担忧的是,这些进步很大程度上来自这样一个群体:他们从未接受过如何从系统角度思考自己所构建事物的教育,而这并非他们自身的过错。有些工程师会调用 model.fit(),却无法解释训练为何缓慢;有些研究者会调节超参数,却不了解内存带宽约束为何会使某些选择不切实际;有些实践者将模型部署到生产环境,却缺乏分析延迟、吞吐量或失效模式的框架。
一个卓越的算法,如果没有工程设计完善的系统作为支撑,就如同一台没有底盘和制动装置的强大发动机。它无法带你走得很远,更无法可靠地将你送达目的地。
这一差距并非人才不足,而是课程体系的缺失。这个领域一直缺少与其重要性相称的教材。《机器学习系统导论》 恰逢其时,为机器学习革命中这一关键却常被忽视的维度带来了清晰的阐释。
为什么系统思维至关重要
在我的职业生涯中,系统思维发挥了重要作用。识别瓶颈,理解组件之间的相互作用,并在整个技术栈中围绕性能、可靠性、成本效益和易用性开展设计。仅凭第一性原理无法得出结论,必须从系统整体出发思考。
机器学习系统同样需要这种严谨的方法。神经网络并不是脱离物理约束而独立存在的数学抽象。它是一种必须在硅芯片上执行的计算,受到有限内存带宽、有限功率预算和有限通信容量的约束。算术强度、Roofline 模型以及内存层次结构的影响,并不是等学生掌握基础知识后才讨论的进阶主题。它们本身就是基础。
为什么机器学习系统值得在教材中得到严肃而系统的论述
教材的目的不只是罗列当前的前沿成果,更是提供概念框架,使学生能够理解前沿,并亲自推动前沿发展。本书所涵盖的神经网络架构会不断演进,所介绍的硬件加速器也会被新一代产品取代。但有些基础不会改变。内存层次结构仍将存在,算术强度仍将是一项关键度量。流水线、延迟与吞吐量之间的权衡,以及量化和精度的基本原理,反映的是不会过时的物理与数学现实。真正理解这些原理的人,无论面对明年还是十年后出现的新系统,都能够对其进行分析和推理。
本书尝试覆盖的广度也令我印象深刻。仅解释训练如何进行还不够;还必须讨论数据工程、模型优化、硬件加速、部署、基准测试、负责任的 AI 以及可持续性。这些并不是为了内容完整而拼凑在一起的独立主题,而是同一门工程学科中相互关联的各个方面。数据层的一项决策会影响模型行为,进而影响推理延迟,再影响部署成本,最终影响哪些群体能够使用所构建的系统,哪些群体无法使用。本书恰当地将这种整体关联性置于核心位置。
尤其令我欣喜的是,定量方法贯穿了每一章。论断有测量结果支撑,权衡以数值表达。学生学到的是估算、测量和验证,而不是依赖直觉。工程师与浅尝辄止者之间的区别,恰恰就在于这种以测量为依据进行严谨推理的能力。
为什么开放获取对下一代至关重要
我赞赏将这一宝贵资源免费开放的决定。
当我与 John Hennessy 合著 《计算机体系结构:量化研究方法》 时,我们曾反复讨论如何让尽可能多的人能够获取和理解书中的内容。我们努力说服出版商降低售价,甚至推出了低价国际学生版,在北美以外地区销售。随着机器学习成为基础设施——对现代世界的影响堪比电网或互联网——这些问题变得愈发迫切。
将本书作为免费教育资源出版,并不是一种妥协,而是一种价值观的宣示。机器学习系统正被部署到各大洲、各经济体的各个行业中。构建和维护这些系统的工程师将来自世界各地。如果负责任地开展这项工作所必需的基础教育,只能由资源充足的院校中的学生获得,我们就会助长专业能力的差距,而这种差距将映射出社会对于谁从 AI 中受益、谁承担其成本的担忧。
更令我印象深刻的是,这个项目远不止于开放获取一部静态文本。配套生态体系——交互式实验、TinyTorch 中从零构建的框架、硬件部署套件、教师教学材料,以及采用本书的全球高校网络——体现了一条广为人知的教育格言:“听过便忘记,看过便记住,亲手做过才理解。”
开源模式也让课程本身变得更好。错误得到纠正,示例得到完善,新的章节根据领域的实际需求不断涌现。正如我们在编写 《计算机体系结构:量化研究方法》 时所发现的那样,围绕一本书形成的贡献者社区能够提供一种质量保障,其效果是任何单一作者团队无论多么专业,都无法独自企及的。
最后的话
计算机体系结构领域有一项令我自豪的传统:我们构建事物,如实测量,分享所得,并在测量结果提出要求时修正自己的理念。我们不会以系统的复杂性为借口,回避对其是否真正有效承担责任。我们不会将新颖等同于进步。我们会严谨地讨论什么重要,以及为何重要。
我希望机器学习系统工程能够继承这一传统。它需要认真对待系统所形成的思维习惯:思考相互作用,在恰当的抽象层次上进行测量,坦诚面对权衡,并以实际性能而非基准测试中的传言作为检验自身工作的标准。本书体现了这些习惯。
《机器学习系统导论》 不仅是一本教材,更是在 AI 时代倡导系统思维的鲜明号召,是构建稳健机器学习应用的指南,也是开放教育力量的见证。
我们正处于一个非凡的时刻。在我的职业生涯中,每十年都会出现一次重大突破:20 世纪 70 年代的微处理器、80 年代的个人计算机、90 年代的互联网、21 世纪头十年的智能手机,以及 2010 年代的 AI。前四项改变了商业和社会,而 AI 看来很可能产生其中最大的影响。
今天构建的系统,将决定智能如何部署、谁从中受益,以及需要付出怎样的代价——包括金钱、能源和碳足迹。我们需要构建这些系统的工程师具备尽可能出色的系统技能。
本书朝着让任何人都有机会学习这些技能的目标,迈出了重要一步。
David A. Patterson