7

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

 3 years ago
source link: https://www.jiqizhixin.com/articles/2021-01-26-3
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Jrm2Ub.png!mobile

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

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

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

v2aEfiR.png!mobile

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

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

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

学习这门课程的学生应该满足以下条件:

  • 具备基本的计算机科学原理和技能知识,能够编写一般的计算机程序(比如完成了 CS106B / X 等课程);

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

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

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

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

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

讲师介绍

iymyaqJ.jpg!mobile

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

FZB3yiy.png!mobile

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 资料,需要的自取:

2qAzMjy.png!mobile

6zuIriU.png!mobile

6Nrm6vN.png!mobile

EF7vEfM.png!mobile

传送门:https://stanford-cs329s.github.io/syllabus.html


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK