《机器学习系统》提供了一个系统化的框架,用于理解与构建机器学习(ML)系统。这本教材弥合了理论基础与工程实践之间的鸿沟,强调从系统视角出发构建高效人工智能解决方案的思维方式。不同于那些主要聚焦于算法和模型架构的资源,本书更强调机器学习系统运行的更广泛背景,包括数据工程、模型优化、硬件感知训练以及推理加速等内容。通过学习,读者将能够系统性地思考机器学习系统的体系结构,并掌握构建灵活、高效且鲁棒的机器学习系统所需的工程原理。

问题: 学生们通常学习如何训练人工智能模型,但很少有人真正理解如何构建能在生产环境中运行的系统。在教授机器学习系统概念时,学生往往只学到各个独立的组成部分,而未能把握整体架构——他们“只见树木,不见森林”。 未来: 随着人工智能变得越来越自主化,瓶颈将不再仅仅是算法本身,而是那些能够构建高效、可扩展且可持续系统的人工智能工程师。 我们的路径: 这一理念源自哈佛大学的 CS249r 课程,在该课程中,学生、教师与业界伙伴共同探索机器学习的系统层面内容。本书的内容由 2023 年秋季学期学生的真实贡献发展而来。最初只是一份课堂笔记,如今已成长为一份我们希望向全球分享的综合性教育资源。 想了解完整故事?请阅读我们的作者说明,了解支撑本项目的灵感与核心价值。

基础篇(第 2、3、4 章) —— 探讨算法与体系结构的基本原理,为理解系统层面的设计决策提供技术背景。这几章回答了“我们在构建什么?”这一问题,为后续“我们如何可靠地构建它?”奠定了基础。 支柱篇 —— 本书按照五大工程学科组织,每个支柱由若干章节组成,从基础内容逐步深入到高级主题。读者既可以线性地阅读全部章节,也可以聚焦于与自己工作最相关的特定支柱。不过,理解我们所讨论的“跨支柱依赖关系”有助于体会到一个支柱中的设计决策如何影响其他部分。 专题篇(第 18、19、20 章) —— 讨论机器学习系统工程在特定领域与新兴挑战中的应用,展示这一框架在多样化应用场景中的灵活性。 全书设有交叉引用系统,帮助读者在不同章节之间导航。当某一章提到另一个章节中已深入讲解的概念时,引用会指引你前往相关内容。这种互联结构反映了“AI 三角框架”的现实:机器学习系统工程需要理解数据、算法与基础设施之间的相互作用,而非将它们孤立研究。 若想了解更多关于本书的学习目标、目标读者、前置知识要求以及如何最大化学习体验的信息,请参阅“关于本书”部分,其中还提供了学习社区与扩展资源的详细说明。 这篇引言为后续内容奠定了概念基础。我们首先理解了人工智能(AI)作为愿景与机器学习(ML)作为方法论之间的关系;随后定义了机器学习系统这一“人工制品”——由数据、算法与基础设施组成的集成计算系统。通过“苦涩教训(The Bitter Lesson)”与人工智能的历史演进,我们认识到为什么系统工程已成为推动人工智能进步的根本,以及基于学习的方法为何主导了这一领域。由此,我们正式将**AI 工程(AI Engineering)**定义为一门独立学科,正如计算机工程(Computer Engineering)曾经的诞生一样——它专注于在各种计算平台上构建可靠、高效、可扩展的机器学习系统。 接下来的旅程将系统地探讨 AI 工程的各个支柱,在提供概念理解的同时,也带来构建生产级机器学习系统的实践技术。我们此前指出的挑战——性能隐性退化、数据漂移、模型复杂性、运维负担以及伦理问题——将在后续章节中反复出现,但这一次,它们将配以基于真实工程经验与最佳实践的具体解决方案。 引言

目标与意义

为什么我们必须掌握支撑具备学习、适应与大规模运行能力的系统之工程原理? 机器学习(Machine Learning, ML)代表了自可编程计算机问世以来计算领域最重要的范式转变——它让系统的行为不再依赖显式指令,而是从数据中“涌现”出来。这一变革要求新的工程基础,因为传统的软件工程原则无法充分应对那些能通过经验进行学习与自我适应的系统。 从气候建模、医学诊断到自主交通,每一个重大的技术挑战都依赖于能够处理海量数据并在不确定性中可靠运行的系统。理解机器学习系统工程(ML Systems Engineering)的原理,决定了我们是否具备解决超越人类认知能力的复杂问题的能力。 这一学科为构建能够跨越不同部署环境(从大型数据中心到资源受限的边缘设备)的系统奠定了基础,也确立了 21 世纪技术进步的工程基石。


💡 学习目标

将机器学习系统定义为由数据、算法与基础设施组成的集成计算系统 * 通过失败模式分析,区分机器学习系统工程与传统软件工程 * 解释 AI 三角框架(AI Triangle Framework),并分析数据、算法与计算基础设施之间的相互依赖关系 * 追溯人工智能范式的历史演进:从符号主义系统到统计学习,再到深度学习 * 评估 Sutton 的“苦涩教训”(The Bitter Lesson)对现代机器学习系统工程优先级的启示 * 比较机器学习系统中的“隐性性能退化(silent performance degradation)”与传统软件的失败模式 * 分析机器学习系统的生命周期阶段,并与传统软件开发流程进行对比 * 对机器学习系统中的现实挑战进行分类:数据、模型、系统与伦理四大维度 * 应用“五支柱工程框架(Five-Pillar Engineering Framework)”分析机器学习系统架构及其内在依赖关系


1.1 人工智能的工程革命

当今的工程实践正处在一个可与历史上最具变革性的时期相提并论的拐点。 工业革命确立了机械工程以管理物理力的学科体系;数字革命奠定了计算工程以处理算法复杂性的理论基础。而如今,人工智能系统要求一种新的工程范式,用以应对具备学习行为、自主适应能力、并在规模上远超传统软件工程方法的系统。 这一转变重新定义了“工程系统”的本质。 传统的确定性软件架构依赖于显式编程指令,对给定输入产生可预测的输出;而机器学习系统是一种概率性架构,其行为源自对训练数据中统计模式的学习。这一根本差异带来了新的工程挑战,也定义了机器学习系统工程这一新兴学科的使命: * 如何确保学习型系统的可靠性,而非仅依赖程序逻辑? * 如何让系统在处理 PB 级数据并同时服务数十亿用户时仍具可扩展性? * 当运行数据分布偏离训练分布时,如何维持鲁棒性

这些问题构成了机器学习系统工程作为一门独立学科的理论与实践基础。本章旨在为理解这一领域的历史演化及其与传统软件架构的区别提供概念框架,并通过整合计算机科学、系统工程与统计学习理论的视角,建立系统化研究智能系统的框架。


我们的探讨从人工智能作为研究目标(AI as Vision)与机器学习作为实现方法(ML as Methodology)之间的关系出发,继而定义何谓机器学习系统——一种由数据、算法与基础设施组成的集成计算系统。通过回顾人工智能从符号推理系统统计学习方法再到深度学习架构的历史演进,我们展示了每一次范式转变如何催生新的工程解决方案。 这一演进揭示了 Sutton 的“苦涩教训”:通用计算方法最终会超越人工设计的知识表示。这意味着,系统工程正逐渐成为推动人工智能进步的核心力量。 在此历史与技术基础上,我们正式将机器学习系统工程定义为一门独立学科。正如**计算机工程(Computer Engineering)**源自电气工程与计算机科学的融合,机器学习系统工程致力于在各种计算平台上构建可靠、高效且可扩展的机器学习系统。这一定义既确立了学科的命名规范,也明确了其实践范围。


在此基础上,本书引入了支撑全书分析的核心理论框架: * AI 三角模型(AI Triangle)——用于理解数据、算法与计算基础设施之间的相互作用; * 机器学习系统生命周期(ML System Lifecycle)——通过对比传统软件开发流程,突出问题定义、数据整理、模型开发、验证、部署与持续维护等阶段的独特性。

这些理论框架将通过典型的应用场景得到验证,展示不同领域中机器学习系统的多样化工程需求——从需在网络边缘低延迟运行的自动驾驶系统,到服务数十亿用户的云端推荐系统,这些案例揭示了部署环境如何塑造系统架构与工程权衡


最后,本章识别出奠定机器学习系统工程作为一门“必要且复杂学科”的核心挑战: * 隐性性能退化,需要专门的监测与诊断机制; * 数据质量与分布漂移问题,削弱模型有效性; * 高风险场景下的鲁棒性与可解释性需求; * 超越传统分布式系统的基础设施可扩展性压力; * 伦理与社会责任,对系统设计提出新的工程约束。

这些挑战构成了本书的五支柱组织框架(Five-Pillar Organizational Framework)的基础,将机器学习系统工程划分为若干相互关联的子学科,共同支撑构建鲁棒、可扩展、负责任的人工智能系统


本章为 第一部分:系统基础(Part I: Systems Foundations) 奠定理论基石,介绍了支撑后续分析的基本原理。这些概念框架将在随后的章节中得到深化与应用,最终形成一种可系统化地工程化智能系统的方法论,使人工智能能够在真实生产环境中可靠落地与持续进化

成为VIP会员查看完整内容
1
微信扫码咨询专知VIP会员