这是一门新的课程——在学习了算法、框架等内容后,是时候深入了解一下「机器学习系统设计」了!
近日,斯坦福大学宣布开设一门全新课程:CS329S《机器学习系统设计》。
机器学习系统设计的概念是指,为了满足特定要求,针对机器学习系统对软件体系架构、基础架构、算法和数据进行定义的过程。虽然现有的系统也可以满足大部分模型搭建的需求,但我们必须承认:首先,工具空间是不断革新的;其次,业务需求是不断变化的;最后,数据分布也是持续更替的。因此,「系统」是很容易过时的。如果不能及时更新,那么出错、崩溃都是可以预料的。这也是本门课程开设的初衷。
课程涵盖了从项目界定、数据管理、模型开发、部署、基础架构、团队架构到业务分析的所有步骤,在每个步骤中,都会探讨不同解决方案的动机、挑战和局限性。在课程的最后一部分,将会探讨机器学习生产生态系统的未来。学生们还将学习关于隐私、公平、安全方面的知识。
学习这门课程的学生应该满足以下条件:
具备基本的计算机科学原理和技能知识,能够编写一般的计算机程序(比如完成了CS106B/X等课程);
对机器学习算法有着良好的掌握(比如完成了CS229、CS230、CS231N、CS224N等课程);
熟悉至少一个框架,比如TensorFlow,PyTorch,JAX;
熟悉基本的概率论(比如完成CS109或Stat116等课程)
鉴于大多数课程都会使用Python,因此也建议选择这门课程的学生了解一点Python知识。
这门课程没有教科书,主要依赖于课堂讲义和一些阅读材料。课程视频都会被录制保存,目前仅开放给校内学生,暂未决定是否公开发布。
讲师介绍
课程大纲
最后我们来了解一下课程进度。根据现有计划,课程大纲如下(具体以实际授课情况为准)
第1周:机器学习系统设计概述
何时使用机器学习
研究中的机器学习与生产中的机器学习
机器学习系统与传统软件
机器学习生产中「虚构」的那些事儿
机器学习应用
CaseStudy
第2周:迭代过程
好的机器学习系统的原理
迭代过程
计划范围
第3周:数据管理
现实世界的数据挑战
如何收集、存储和处理海量数据
数据pipeline的不同层
数据处理器&显示器
数据控制器
数据存储
数据提取:数据库引擎
第4周:创建训练数据集
特征工程
数据标签
数据泄露
数据分区、切片和采样
第5周:构建和训练机器学习模型
Baseline
模型选择
训练、调试和实验跟踪
分布式训练
评估和基准
AutoML
第6周:部署
推理约束
模型压缩与优化
训练服务偏差
概念漂移
服务器端ML&客户端ML
缓释策略
部署评估
第7周:项目节点讨论
道德问题
第8周:监控及维护
监控内容
指标、日志记录、标签、警报
更新和回滚
迭代改进
第9周:硬件和基础架构
架构选择
硬件设计
边缘设备
云私人数据中心
高性能计算的未来
第10周:将ML整合到业务中
模型性能与业务目标与用户体验
团队架构
为什么机器学习项目会失败
最佳实践
机器学习生产现状
目前完成授课的部分均已上传笔记和PPT资料,需要的自取:
1月27日20:00,论文共同一作、阿里云高级算法专家邱明辉为大家详细解读此研究。
添加机器之心小助手(syncedai5),备注「AAAI」,进群一起看直播。