-
内容大纲
近年来人工智能特别是深度学习技术得到了飞速发展,这背后离不开计算机硬件和软件系统的不断进步。在可见的未来,人工智能技术的发展仍将依赖于计算机系统和人工智能相结合的共同创新模式。本书介绍了前沿的系统和人工智能相结合的研究工作,包括AI for Systems和Systems for AI,以帮助读者更好地寻找和定义有意义的研究问题。同时,本书从系统研究的角度出发设计实验课程,通过操作和应用主流及最新的框架、平台和工具来鼓励读者动手实现和优化系统模块,以提高解决实际问题的能力,而不仅仅是了解工具使用。
本书主要面向相关领域的本科生、研究生、教师、工程师和研究员,帮助他们完整地了解支持深度学习的计算机系统架构,并通过解决实际问题来学习深度学习完整生命周期下的系统设计。 -
作者介绍
-
目录
推荐序一
推荐序二
推荐序三
前言
致谢
第1章 人工智能系统概述
本章简介
内容概览
1.1 深度学习的历史、现状与发展
1.1.1 深度学习的广泛应用
1.1.2 深度学习方法
1.1.3 神经网络基本理论的奠定
1.1.4 深度学习算法、模型的现状和趋势
1.1.5 小结与讨论
1.1.6 参考文献
1.2 算法、框架、体系结构与算力的进步
1.2.1 大数据和分布式系统
1.2.2 深度学习算法的进步
1.2.3 计算机体系结构和计算能力的进步
1.2.4 计算框架的进步
1.2.5 小结与讨论
1.2.6 参考文献
1.3 深度学习系统的组成与生态
1.3.1 深度学习系统的设计目标
1.3.2 深度学习系统的大致组成
1.3.3 深度学习系统的生态
1.3.4 小结与讨论
1.3.5 参考文献
1.4 深度学习样例背后的系统问题
1.4.1 一个深度学习样例与其中的系统问题
1.4.2 模型算子实现中的系统问题
1.4.3 框架执行深度学习模型的生命周期
1.4.4 更广泛的人工智能系统生态
1.4.5 深度学习框架及工具入门实验
1.4.6 小结与讨论
1.4.7 参考文献
1.5 影响深度学习系统设计的理论、原则与假设
1.5.1 抽象层次化表示与解释
1.5.2 摩尔定律与算力发展趋势
1.5.3 局部性原则与内存层次结构
1.5.4 线性代数计算与模型缺陷容忍特性
1.5.5 并行加速与阿姆达尔定律优化上限
1.5.6 冗余与可靠性
1.5.7 小结与讨论
1.5.8 参考文献
第2章 神经网络基础
本章简介
内容概览
2.1 神经网络的基本概念
2.1.1 神经元的数学模型
2.1.2 神经网络的主要功能
2.1.3 激活函数
2.1.4 小结与讨论
2.2 神经网络训练
2.2.1 基本训练流程
2.2.2 损失函数
2.2.3 梯度下降
2.2.4 反向传播
2.2.5 小结与讨论
2.3 解决回归问题
2.3.1 提出问题
2.3.2 万能近似定理
2.3.3 定义神经网络结构
2.3.4 前向计算
2.3.5 反向传播
2.3.6 运行结果
2.3.7 小结与讨论
2.4 解决分类问题
2.4.1 提出问题
2.4.2 定义神经网络结构
2.4.3 前向计算
2.4.4 反向传播
2.4.5 运行结果
2.4.6 小结与讨论
2.5 深度神经网络
2.5.1 抽象与设计
2.5.2 权重矩阵初始化
2.5.3 批量归一化
2.5.4 过拟合
2.5.5 小结与讨论
2.6 梯度下降优化算法
2.6.1 随机梯度下降算法
2.6.2 动量算法
2.6.3 Adam算法
2.6.4 小结与讨论
2.7 卷积神经网络
2.7.1 卷积神经网络的能力
2.7.2 卷积神经网络的典型结构
2.7.3 卷积核的作用
2.7.4 卷积后续的运算
2.7.5 卷积神经网络的特性
2.7.6 卷积类型
2.7.7 小结与讨论
2.8 循环神经网络
2.8.1 循环神经网络的发展简史
2.8.2 循环神经网络的结构和典型用途
2.8.3 小结与讨论
2.9 Transformer模型
2.9.1 序列到序列模型
2.9.2 注意力机制
2.9.3 Transformer
2.9.4 小结与讨论
第3章 深度学习框架基础
本章简介
内容概览
3.1 基于数据流图的深度学习框架
3.1.1 深度学习框架发展概述
3.1.2 编程范式:声明式和命令式
3.1.3 数据流图
3.1.4 张量和张量操作
3.1.5 自动微分基础
3.1.6 数据流图上的自动微分
3.1.7 数据流图的调度与执行
3.1.8 单设备算子间调度
3.1.9 图切分与多设备执行
3.1.10 小结与讨论
3.1.11 参考文献
3.2 神经网络计算中的控制流
3.2.1 背景
3.2.2 静态图:向数据流图中添加控制流原语
3.2.3 动态图:复用宿主语言控制流语句
3.2.4 动态图转换为静态图
3.2.5 小结与讨论
3.2.6 参考文献
第4章 矩阵运算与计算机体系结构
本章简介
内容概览
4.1 深度学习的历史、现状与发展
4.1.1 全连接层
4.1.2 卷积层
4.1.3 循环网络层
4.1.4 注意力机制层
4.1.5 小结与讨论
4.1.6 参考文献
4.2 计算机体系结构与矩阵运算
4.2.1 CPU体系结构
4.2.2 CPU实现高效计算矩阵乘
4.2.3 在CPU上实现一个矩阵乘法算子实验
4.2.4 小结与讨论
4.3 GPU体系结构与矩阵运算
4.3.1 GPU体系结构
4.3.2 GPU编程模型
4.3.3 GPU实现一个简单的计算
4.3.4 在GPU上实现一个矩阵乘法算子实验
4.3.5 小结与讨论
4.4 面向深度学习的专有硬件加速器与矩阵运算
4.4.1 深度学习计算的特点与硬件优化方向
4.4.2 脉动阵列与矩阵计算
4.4.3 小结与讨论
第5章 深度学习的编译与优化
本章简介
内容概览
5.1 深度神经网络编译器
5.1.1 前端
5.1.2 后端
5.1.3 中间表达
5.1.4 优化过程
5.1.5 小结与讨论
5.2 计算图优化
5.2.1 算术表达式化简
5.2.2 公共子表达式消除
5.2.3 常数传播
5.2.4 矩阵乘自动融合
5.2.5 算子融合
5.2.6 子图替换和随机子图替换
5.2.7 小结与讨论
5.3 内存优化
5.3.1 基于拓扑序的最小内存分配
5.3.2 张量换入换出
5.3.3 张量重计算
5.3.4 小结与讨论
5.3.5 参考文献
5.4 内核优化与生成
5.4.1 算子表达式
5.4.2 算子表示与调度逻辑的分离
5.4.3 自动调度搜索与代码生成
5.4.4 白盒代码生成
5.4.5 小结与讨论
5.4.6 参考文献
5.5 跨算子的全局调度优化
5.5.1 任意算子的融合
5.5.2 编译时全局算子调度
5.5.3 小结与讨论
5.5.4 参考文献
第6章 分布式训练算法与系统
本章简介
内容概览
6.1 分布式深度学习计算简介
6.1.1 串行计算到并行计算的演进
6.1.2 并行计算加速定律
6.1.3 深度学习的并行化训练
6.1.4 小结与讨论
6.1.5 参考文献
6.2 分布式训练算法分类
6.2.1 数据并行
6.2.2 模型并行
6.2.3 流水并行
6.2.4 并行方式的对比分析
6.2.5 小结与讨论
6.2.6 参考文献
6.3 深度学习并行训练同步方式
6.3.1 同步并行
6.3.2 异步并行
6.3.3 半同步并行
6.3.4 小结与讨论
6.3.5 参考文献
6.4 分布式深度学习训练系统简介
6.4.1 基于数据流图的深度学习框架中的分布式支持
6.4.2 PyTorch中的分布式支持
6.4.3 通用的数据并行系统Horovod
6.4.4 分布式训练任务实验
6.4.5 小结与讨论
6.4.6 参考文献
6.5 分布式训练的通信协调
6.5.1 通信协调的硬件
6.5.2 通信协调的软件
6.5.3 AllReduce的实现和优化实验
6.5.4 小结与讨论
6.5.5 参考文献
第7章 异构计算集群调度与资源管理系统
本章简介
内容概览
7.1 异构计算集群管理系统简介
7.1.1 多租环境运行的训练作业
7.1.2 作业生命周期
7.1.3 集群管理系统架构
7.1.4 小结与讨论
7.1.5 参考文献
7.2 训练作业、镜像与容器
7.2.1 深度学习作业
7.2.2 环境依赖:镜像
7.2.3 运行时资源隔离:容器
7.2.4 从操作系统视角看GPU技术栈
7.2.5 人工智能作业开发体验
7.2.6 小结与讨论
7.2.7 参考文献
7.3 调度
7.3.1 调度问题优化目标
7.3.2 单作业调度——群调度
7.3.3 作业间调度——主导资源公平DRF调度
7.3.4 组间作业调度——容量调度
7.3.5 虚拟集群机制
7.3.6 抢占式调度
7.3.7 深度学习调度算法实验与模拟研究
7.3.8 小结与讨论
7.3.9 参考文献
7.4 面向深度学习的集群管理系统
7.4.1 深度学习工作负载的需求
7.4.2 异构硬件的多样性
7.4.3 深度学习平台的管理与运维需求
7.4.4 深度学习负载与异构硬件下的调度设计
7.4.5 开源和云异构集群管理系统简介
7.4.6 部署异构资源集群管理系统实验
7.4.7 小结与讨论
7.4.8 参考文献
7.5 存储
7.5.1 沿用大数据平台存储路线
7.5.2 沿用高性能计算平台存储路线
7.5.3 面向深度学习的存储
7.5.4 小结与讨论
7.5.5 参考文献
7.6 开发与运维
7.6.1 平台功能模块与敏捷开发
7.6.2 监控体系构建
7.6.3 测试
7.6.4 平台DevOps
7.6.5 平台运维
7.6.6 小结与讨论
7.6.7 参考文献
第8章 深度学习推理系统
本章简介
内容概览
8.1 推理系统简介
8.1.1 对比推理与训练过程
8.1.2 推理系统的优化目标与约束
8.1.3 小结与讨论
8.1.4 参考文献
8.2 模型推理的离线优化
8.2.1 通过程序理解推理优化动机
8.2.2 推理延迟
8.2.3 层间与张量融合
8.2.4 目标后端自动调优
8.2.5 模型压缩
8.2.6 低精度推理
8.2.7 小结与讨论
8.2.8 参考文献
8.3 部署
8.3.1 可靠性和可扩展性
8.3.2 部署灵活性
8.3.3 模型转换与开放协议
8.3.4 移动端部署
8.3.5 推理系统简介
8.3.6 配置镜像与容器进行云上训练、推理与压测实验
8.3.7 小结与讨论
8.3.8 参考文献
8.4 推理系统的运行期优化
8.4.1 推理系统的吞吐量
8.4.2 加速器模型并发执行
8.4.3 动态批尺寸
8.4.4 多模型装箱
8.4.5 内存分配策略调优
8.4.6 深度学习模型内存分配算法实验与模拟研究
8.4.7 小结与讨论
8.4.8 参考文献
8.5 开发、训练与部署的全生命周期管理——MLOps
8.5.1 MLOps的生命周期
8.5.2 MLOps工具链
8.5.3 线上发布与回滚策略
8.5.4 MLOps的持续集成与持续交付
8.5.5 MLOps工具与服务
8.5.6 小结与讨论
8.5.7 参考文献
8.6 推理专有芯片
8.6.1 推理芯片架构对比
8.6.2 神经网络推理芯片的动机和由来
8.6.3 数据中心推理芯片
8.6.4 边缘推理芯片
8.6.5 芯片模拟器
8.6.6 小结与讨论
8.6.7 参考文献
第9章 自动机器学习系统
本章简介
内容概览
9.1 自动机器学习
9.1.1 超参数优化
9.1.2 神经网络结构搜索
9.1.3 小结与讨论
9.1.4 参考文献
9.2 自动机器学习系统与工具
9.2.1 自动机器学习系统与工具概述
9.2.2 探索式训练过程
9.2.3 自动机器学习编程范式
9.2.4 自动机器学习系统优化前沿
9.2.5 自动机器学习工具概述与实例分析
9.2.6 自动机器学习系统实验
9.2.7 小结与讨论
9.2.8 参考文献
第10章 强化学习系统
本章简介
内容概览
10.1 强化学习概述
10.1.1 强化学习的定义
10.1.2 强化学习的基本概念
10.1.3 强化学习的作用
10.1.4 强化学习与传统机器学习的区别
10.1.5 强化学习与自动机器学习的区别
10.1.6 小结与讨论
10.1.7 参考文献
10.2 分布式强化学习算法
10.2.1 分布式强化学习算法的基本概念
10.2.2 分布式强化学习算法的发展
10.2.3 小结与讨论
10.2.4 参考文献
10.3 分布式强化学习对系统提出的需求和挑战
10.3.1 强化学习系统面临的挑战和机器学习系统的区别
10.3.2 强化学习对框架的需求
10.3.3 小结与讨论
10.3.4 参考文献
10.4 分布式强化学习框架
10.4.1 代表性分布式强化学习框架
10.4.2 小结与讨论
10.4.3 参考文献
第11章 模型压缩与加速
本章简介
内容概览
11.1 模型压缩简介
11.1.1 模型压缩的背景
11.1.2 模型压缩方法
11.1.3 小结与讨论
11.1.4 参考文献
11.2 基于稀疏化的模型压缩
11.2.1 人类大脑的稀疏性
11.2.2 深度神经网络的稀疏性
11.2.3 小结与讨论
11.2.4 参考文献
11.3 模型压缩与硬件加速
11.3.1 深度学习专用硬件
11.3.2 稀疏模型硬件加速
11.3.3 量化模型硬件加速
11.3.4 小结与讨论
第12章 人工智能安全与隐私
本章简介
内容概览
12.1 人工智能内在安全与隐私
12.1.1 内在安全问题
12.1.2 内在隐私问题
12.1.3 小结与讨论
12.1.4 参考文献
12.2 人工智能训练安全与隐私
12.2.1 训练安全问题
12.2.2 训练隐私问题
12.2.3 联邦学习
12.2.4 小结与讨论
12.2.5 参考文献
12.3 人工智能服务安全与隐私
12.3.1 服务时安全
12.3.2 服务时的用户隐私
12.3.3 服务时的模型隐私
12.3.4 小结与讨论
12.3.5 参考文献
第13章 人工智能优化计算机系统
本章简介
内容概览
13.1 系统设计的范式转移
13.1.1 学习增强系统
13.1.2 小结与讨论
13.2 学习增强系统的应用
13.2.1 流媒体系统
13.2.2 数据库索引
13.2.3 系统性能和参数调优
13.2.4 芯片设计
13.2.5 预测性资源调度
13.2.6 小结与讨论
13.2.7 参考文献
13.3 学习增强系统的落地挑战
13.3.1 系统数据
13.3.2 系统模型
13.3.3 系统动态性
13.3.4 系统正确性
13.3.5 小结与讨论
13.3.6 参考文献
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...