机器学习系统设计的概念是指,为了满足特定要求,针对机器学习系统对软件体系架构、基础架构、算法和数据进行定义的过程。虽然现有的系统也可以满足大部分模型搭建的需求,但我们必须承认:首先,工具空间是不断革新的;其次,业务需求是不断变化的;最后,数据分布也是持续更替的。因此,「系统」是很容易过时的。如果不能及时更新,那么出错、崩溃都是可以预料的。这也是本门课程开设的初衷。
本门课程旨在为现实中的机器学习系统提供一个迭代框架,该框架的目标是构建一个可部署、可信赖、可扩展的系统。首先要考虑的是每个 ML 项目的利益相关者及目标,不同的目标则需要不同的设计选择,且要考虑如何权衡。
课程涵盖了从项目界定、数据管理、模型开发、部署、基础架构、团队架构到业务分析的所有步骤,在每个步骤中,都会探讨不同解决方案的动机、挑战和局限性。在课程的最后一部分,将会探讨机器学习生产生态系统的未来。学生们还将学习关于隐私、公平、安全方面的知识。
学习这门课程的学生应该满足以下条件:
具备基本的计算机科学原理和技能知识,能够编写一般的计算机程序(比如完成了 CS106B / X 等课程);
对机器学习算法有着良好的掌握(比如完成了 CS229、CS230、CS231N、CS224N 等课程);
熟悉至少一个框架,比如 TensorFlow,PyTorch,JAX;
熟悉基本的概率论(比如完成 CS109 或 Stat116 等课程)
鉴于大多数课程都会使用 Python,因此也建议选择这门课程的学生了解一点 Python 知识。
这门课程没有教科书,主要依赖于课堂讲义和一些阅读材料。课程视频都会被录制保存,目前仅开放给校内学生,暂未决定是否公开发布。