蛋酱报道

是时候学习机器学习系统设计了!斯坦福CS 329S开课,课件、笔记同步更新

这是一门新的课程——在学习了算法、框架等内容后,是时候深入了解一下「机器学习系统设计」了!

近日,斯坦福大学宣布开设一门全新课程:CS 329S《机器学习系统设计》。

课程主页:https://stanford-cs329s.github.io/

这门课程的主讲人、计算机科学家 Chip Huyen 也在推特上认真宣传了一波(很多人应该都读过她的博客文章,因为这位小姐姐确实很有名气)。

机器学习系统设计的概念是指,为了满足特定要求,针对机器学习系统对软件体系架构、基础架构、算法和数据进行定义的过程。虽然现有的系统也可以满足大部分模型搭建的需求,但我们必须承认:首先,工具空间是不断革新的;其次,业务需求是不断变化的;最后,数据分布也是持续更替的。因此,「系统」是很容易过时的。如果不能及时更新,那么出错、崩溃都是可以预料的。这也是本门课程开设的初衷。

本门课程旨在为现实中的机器学习系统提供一个迭代框架,该框架的目标是构建一个可部署、可信赖、可扩展的系统。首先要考虑的是每个 ML 项目的利益相关者及目标,不同的目标则需要不同的设计选择,且要考虑如何权衡。

课程涵盖了从项目界定、数据管理、模型开发、部署、基础架构、团队架构到业务分析的所有步骤,在每个步骤中,都会探讨不同解决方案的动机、挑战和局限性。在课程的最后一部分,将会探讨机器学习生产生态系统的未来。学生们还将学习关于隐私、公平、安全方面的知识。

学习这门课程的学生应该满足以下条件:
  • 具备基本的计算机科学原理和技能知识,能够编写一般的计算机程序(比如完成了 CS106B / X 等课程);

  • 机器学习算法有着良好的掌握(比如完成了 CS229、CS230、CS231N、CS224N 等课程);

  • 熟悉至少一个框架,比如 TensorFlow,PyTorch,JAX;

  • 熟悉基本的概率论(比如完成 CS109 或 Stat116 等课程)

鉴于大多数课程都会使用 Python,因此也建议选择这门课程的学生了解一点 Python 知识。

这门课程没有教科书,主要依赖于课堂讲义和一些阅读材料。课程视频都会被录制保存,目前仅开放给校内学生,暂未决定是否公开发布。

讲师介绍

课程讲师 Chip Huyen 来自越南,是一位作家和计算机科学家,本科和硕士均就读于斯坦福大学计算机科学专业,此前曾在英伟达、Netflix 等公司工作。Chip Huyen 开设过一些受欢迎的课程,比如《TensorFlow for Deep Learning Research》,在 GitHub 平台也有很多热门项目。

Chip Huyen 主页:https://github.com/chiphuyen

此前,Chip Huyen 还撰写过很多热门文章,比如机器学习系统设计指南》《十大优质免费机器学习课程资源》《202 个热门机器学习工具评测》等教程。

课程大纲

最后我们来了解一下课程进度。根据现有计划,课程大纲如下(具体以实际授课情况为准)

第 1 周:机器学习系统设计概述
  • 何时使用机器学习

  • 研究中的机器学习与生产中的机器学习

  • 机器学习系统与传统软件

  • 机器学习生产中「虚构」的那些事儿

  • 机器学习应用

  • Case Study

第 2 周:迭代过程
  • 好的机器学习系统的原理

  • 迭代过程

  • 计划范围

第 3 周:数据管理
  • 现实世界的数据挑战

  • 如何收集、存储和处理海量数据

  • 数据 pipeline 的不同层

  • 数据处理器 & 显示器

  • 数据控制器

  • 数据存储

  • 数据提取:数据库引擎

第 4 周:创建训练数据集
  • 特征工程

  • 数据标签

  • 数据泄露

  • 数据分区、切片和采样

第 5 周:构建和训练机器学习模型
  • Baseline

  • 模型选择

  • 训练、调试和实验跟踪

  • 分布式训练

  • 评估和基准

  • AutoML

第 6 周:部署
  • 推理约束

  • 模型压缩与优化

  • 训练服务偏差

  • 概念漂移

  • 服务器端 ML & 客户端 ML

  • 缓释策略

  • 部署评估

第 7 周:项目节点讨论
  • 道德问题

第 8 周:监控及维护
  • 监控内容

  • 指标、日志记录、标签、警报

  • 更新和回滚

  • 迭代改进

第 9 周:硬件和基础架构
  • 架构选择

  • 硬件设计

  • 边缘设备

  • 云私人数据中心

  • 高性能计算的未来

第 10 周:将 ML 整合到业务中
  • 模型性能与业务目标与用户体验

  • 团队架构

  • 为什么机器学习项目会失败

  • 最佳实践

  • 机器学习生产现状

目前完成授课的部分均已上传笔记和 PPT 资料,需要的自取:

传送门:https://stanford-cs329s.github.io/syllabus.html
入门机器学习系统设计斯坦福新课程课件和笔记
2
相关数据
机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

数据管理技术

数据管理是利用计算机硬件和软件技术对数据进行有效的收集、存储、处理和应用的过程,其目的在于充分有效地发挥数据的作用。

数据库技术

数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。 所谓“数据库”系以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。

特征工程技术

特征工程是利用数据所在领域的相关知识来构建特征,使得机器学习算法发挥其最佳的过程。它是机器学习中的一个基本应用,实现难度大且代价高。采用自动特征工程方法可以省去采用人工特征工程的需求。Andrew Ng 说“挖掘特征是困难、费时且需要专业知识的事,应用机器学习其实基本上是在做特征工程。”

模型选择技术

模型选择是从给定数据的一组候选模型中选择统计模型的任务。对于具有类似预测或解释力的候选模型,最简单的模型最有可能是最佳选择(奥卡姆剃刀)。

推荐文章
暂无评论
暂无评论~