本课程的中文名称设定为 人工智能系统,主要讲解支持人工智能的计算机系统设计,对应的英文课程名称为 System for AI。本课程中将交替使用一下词汇:人工智能系统,AI-System 和 System for AI。
本课程包括以下课程和实验,希望通过本课程的学习,帮助学习者了解并掌握支持人工智能的系统设计和实现,在实践中培养解决系统问题的能力。
课程编号 | 讲义名称 | 备注 |
1 | 课程介绍 | 课程概述和系统/AI基础 |
2 | 人工智能系统概述 | 人工智能系统发展历史,神经网络基础,人工智能系统基础 |
3 | 深度神经网络计算框架基础 | 反向传播和自动求导,张量,有向无环图,执行图 论文和系统:PyTorch, TensorFlow |
4 | 矩阵运算与计算机体系结构 | 矩阵运算,CPU/SIMD, GPGPU, ASIC/TPU 论文和系统:Blas, TPU |
5 | 分布式训练算法 | 数据并行,模型并行,分布式SGD 论文和系统:PipeDream |
6 | 分布式训练系统 | MPI, parameter servers, all-reduce, RDMA 论文和系统: Horovod |
7 | 异构计算集群调度与资源管理系统 | 集群上运行DNN任务:容器,资源分配,调度 论文和系统:Kubeflow, OpenPAI, Gandiva, HiveD |
8 | 深度学习推导系统 | 效率,延迟,吞吐量,部署 论文和系统:TensorRT, TensorflowLite, ONNX |
课程编号 | 讲义名称 | 备注 |
9 | 计算图的编译与优化 | IR,子图模式匹配,矩阵乘和内存优化 论文和系统:XLA, MLIR, TVM, NNFusion |
10 | 神经网络的压缩与稀疏化优化 | 模型压缩,稀疏化,剪枝 |
11 | 自动机器学习系统 | 超参调优,神经网络结构搜索(NAS) 论文和系统:Hyperband, SMAC, ENAX, AutoKeras, NNI |
12 | 强化学习系统 | RL理论,RL系统 论文和系统:AC3, RLlib, AlphaZero |
13 | 安全与隐私 | 联邦学习,安全,隐私 论文和系统:DeepFake |
14 | 利用人工智能来优化计算机系统问题 | AI用于传统系统问题,AI用于系统算法 论文和系统:Learned Indexes, Learned query path |
实验编号 | 实验名称 | 备注 |
实验 1 | 框架及工具入门示例 | 预备实验 |
实验 2 | 定制一个新的张量运算 | |
实验 3 | CUDA实现和优化 | |
实验 4 | AllReduce的实现或优化 | |
实验 5 | 配置Container来进行云上训练或推理准备 | |
实验编号 | 实验名称 | 备注 |
实验 6 | 学习使用调度管理系统 | 多机实验 |
实验 7 | 分布式训练任务练习 | |
实验 8 | 自动机器学习系统练习 | |
实验 9 | 强化学习系统练习 | |