AI System & Deep Learning System
search
Quick search
code
Show Source
GitHub
Table Of Contents
Contents:
=== 一、AI系统概述 ===
AI 的历史,现状与发展
AI发展驱动力(待更)
AI系统全栈架构(待更)
AI系统样例(待更)
AI系统原则(待更)
大模型的到来(待更)
=== 二、AI芯片体系结构 ===
Contents:
1. AI 计算体系概述
1.1. 课程内容
1.2. AI计算模式(上)
1.3. AI计算模式(下)
1.4. 关键设计指标
1.5. 核心计算之矩阵乘
1.6. 计算之比特位宽
1.7. AI计算体系总结
2. AI 芯片基础
2.1. CPU 基础
2.2. CPU 指令集架构
2.3. CPU 计算本质
2.4. CPU 计算时延
2.5. GPU 基础
2.6. NPU 基础
2.7. 超异构计算
3. GPU 原理详解
3.1. GPU工作原理
3.2. 为什么 GPU 适用于 AI
3.3. GPU架构与CUDA关系
3.4. GPU架构回顾第一篇
3.5. GPU架构回顾第二篇
4. NVIDIA GPU详解
4.1. TensorCore原理
4.2. TensorCore架构
4.3. TensorCore剖析
4.4. 分布式通信与NVLink
4.5. NVLink原理剖析
4.6. NVSwitch原理剖析
5. 国外 AI 芯片架构
5.1. 特斯拉DOJO架构
5.2. 特斯拉DOJO Core原理
5.3. 特斯拉DOJO存算系统
5.4. 谷歌TPU历史发展
5.5. 谷歌TPUv1脉动阵列
5.6. 谷歌TPUv2训练芯片
5.7. 谷歌TPUv3 POD形态
5.8. 谷歌TPUv4三维互联
6. 国内 AI 芯片架构
6.1. 壁仞产品解读
6.2. 壁仞BR100架构
6.3. 燧原产品与DTU架构
6.4. 寒武纪产品解读
6.5. 寒武纪MLU芯片架构
6.6. 寒武纪MLU架构细节
==== 三、AI编译原理(更新中)
Contents:
1. 传统编译器(DOING)
1.1. 编译器基础介绍 OK
1.2. 传统编译器发展 OK
1.3. GCC编译过程和原理
1.4. LLVM架构设计和原理
1.5. LLVM IR详解
1.6. LLVM前端和优化层
1.7. LLVM后端代码生成
2. AI 编译器
2.1. 为什么需要AI编译器
2.2. AI编译器的发展阶段
2.3. AI编译器的通用架构
2.4. AI编译器挑战与思考
3. 前端优化
3.1. 内容介绍
3.2. 图算 IR
3.3. 算子融合
4. 后端优化
4.1. 内容介绍
4.2. 算子的计算与调度
4.3. 算子手工优化方式
4.4. 算子循环优化
4.5. 指令和内存优化
4.6. Auto-Tuning原理
5. PyTorch2.0 图模式
5.1. PyTorch2.0 特性
5.2. TorchScript 静态图尝试
5.3. FX 与 LazyTensor
5.4. TorchDynamo 获取图
5.5. AOTAutograd 原理
5.6. Dispatch 机制
=== 四、推理系统&引擎 ===
Contents:
1. 推理系统
1.1. 内容介绍
1.2. 推理系统介绍
1.3. 推理流程全景
1.4. 推理系统架构
1.5. 推理引擎架构(上)
1.6. 推理引擎架构(下)
2. 模型轻量化
2.1. 推理参数了解
2.2. CNN模型小型化(上)
2.3. CNN模型小型化(下)
2.4. Transformer小型化
3. 模型压缩
3.1. 基本介绍
3.2. 低比特量化原理
3.3. 感知量化训练QAT
3.4. 训练后量化PTQ与部署
3.5. 模型剪枝原理
3.6. 知识蒸馏原理
3.7. 知识蒸馏算法
4. 模型转换&优化
4.1. 基本介绍
4.2. 架构与文件格式
4.3. 自定义计算图IR
4.4. 模型转换流程
4.5. 计算图优化策略
4.6. 常量折叠&冗余节点消除
4.7. 算子融合/替换/前移
5. Kernel优化
5.1. Kernel优化架构
5.2. 卷积操作原理
5.3. Im2Col算法
5.4. Winograd算法
5.5. QNNPack算法
5.6. 推理内存布局
5.7. nc4hw4内存排布
5.8. 汇编与循环优化
=== 五、AI框架核心模块 ===
Contents:
1. AI框架基础(DONE)
1.1. 本章内容
1.2. AI框架作用
1.3. AI框架之争
1.4. 框架编程范式
2. 自动微分(DONE)
2.1. 自动微分
2.2. 什么是微分
2.3. 微分计算模式
2.4. 微分实现方式
2.5. 动手实现自动微分
2.6. 动手实现PyTorch微分
2.7. 自动微分的挑战&未来
3. 计算图(DONE)
3.1. 基本介绍
3.2. 计算图原理
3.3. 计算图与自动微分
3.4. 计算图的调度与执行
3.5. 计算图的控制流实现
3.6. 动态图与静态图转换
3.7. 计算图的挑战&未来
==== 六、大模型训练
Contents:
1. 分布式集群
1.1. 基本介绍
1.2. AI集群服务器架构
1.3. AI集群软硬件通信
1.4. 集合通信原语
1.5. 分布式功能
2. 分布式算法
2.1. 大模型训练挑战
2.2. 大模型算法结构
2.3. 亿级规模大模型
3. 分布式并行
3.1. 基本介绍
3.2. 数据并行
3.3. 张量并行
3.4. MindSpore张量并行
3.5. 流水并行
3.6. 混合并行
3.7. 分布式训练总结
Contents:
=== 附录(DONE) ===
书写工具(DONE)
书写规范(DONE)
术语表(DONE)
参考链接(DONE)
Table Of Contents
Contents:
=== 一、AI系统概述 ===
AI 的历史,现状与发展
AI发展驱动力(待更)
AI系统全栈架构(待更)
AI系统样例(待更)
AI系统原则(待更)
大模型的到来(待更)
=== 二、AI芯片体系结构 ===
Contents:
1. AI 计算体系概述
1.1. 课程内容
1.2. AI计算模式(上)
1.3. AI计算模式(下)
1.4. 关键设计指标
1.5. 核心计算之矩阵乘
1.6. 计算之比特位宽
1.7. AI计算体系总结
2. AI 芯片基础
2.1. CPU 基础
2.2. CPU 指令集架构
2.3. CPU 计算本质
2.4. CPU 计算时延
2.5. GPU 基础
2.6. NPU 基础
2.7. 超异构计算
3. GPU 原理详解
3.1. GPU工作原理
3.2. 为什么 GPU 适用于 AI
3.3. GPU架构与CUDA关系
3.4. GPU架构回顾第一篇
3.5. GPU架构回顾第二篇
4. NVIDIA GPU详解
4.1. TensorCore原理
4.2. TensorCore架构
4.3. TensorCore剖析
4.4. 分布式通信与NVLink
4.5. NVLink原理剖析
4.6. NVSwitch原理剖析
5. 国外 AI 芯片架构
5.1. 特斯拉DOJO架构
5.2. 特斯拉DOJO Core原理
5.3. 特斯拉DOJO存算系统
5.4. 谷歌TPU历史发展
5.5. 谷歌TPUv1脉动阵列
5.6. 谷歌TPUv2训练芯片
5.7. 谷歌TPUv3 POD形态
5.8. 谷歌TPUv4三维互联
6. 国内 AI 芯片架构
6.1. 壁仞产品解读
6.2. 壁仞BR100架构
6.3. 燧原产品与DTU架构
6.4. 寒武纪产品解读
6.5. 寒武纪MLU芯片架构
6.6. 寒武纪MLU架构细节
==== 三、AI编译原理(更新中)
Contents:
1. 传统编译器(DOING)
1.1. 编译器基础介绍 OK
1.2. 传统编译器发展 OK
1.3. GCC编译过程和原理
1.4. LLVM架构设计和原理
1.5. LLVM IR详解
1.6. LLVM前端和优化层
1.7. LLVM后端代码生成
2. AI 编译器
2.1. 为什么需要AI编译器
2.2. AI编译器的发展阶段
2.3. AI编译器的通用架构
2.4. AI编译器挑战与思考
3. 前端优化
3.1. 内容介绍
3.2. 图算 IR
3.3. 算子融合
4. 后端优化
4.1. 内容介绍
4.2. 算子的计算与调度
4.3. 算子手工优化方式
4.4. 算子循环优化
4.5. 指令和内存优化
4.6. Auto-Tuning原理
5. PyTorch2.0 图模式
5.1. PyTorch2.0 特性
5.2. TorchScript 静态图尝试
5.3. FX 与 LazyTensor
5.4. TorchDynamo 获取图
5.5. AOTAutograd 原理
5.6. Dispatch 机制
=== 四、推理系统&引擎 ===
Contents:
1. 推理系统
1.1. 内容介绍
1.2. 推理系统介绍
1.3. 推理流程全景
1.4. 推理系统架构
1.5. 推理引擎架构(上)
1.6. 推理引擎架构(下)
2. 模型轻量化
2.1. 推理参数了解
2.2. CNN模型小型化(上)
2.3. CNN模型小型化(下)
2.4. Transformer小型化
3. 模型压缩
3.1. 基本介绍
3.2. 低比特量化原理
3.3. 感知量化训练QAT
3.4. 训练后量化PTQ与部署
3.5. 模型剪枝原理
3.6. 知识蒸馏原理
3.7. 知识蒸馏算法
4. 模型转换&优化
4.1. 基本介绍
4.2. 架构与文件格式
4.3. 自定义计算图IR
4.4. 模型转换流程
4.5. 计算图优化策略
4.6. 常量折叠&冗余节点消除
4.7. 算子融合/替换/前移
5. Kernel优化
5.1. Kernel优化架构
5.2. 卷积操作原理
5.3. Im2Col算法
5.4. Winograd算法
5.5. QNNPack算法
5.6. 推理内存布局
5.7. nc4hw4内存排布
5.8. 汇编与循环优化
=== 五、AI框架核心模块 ===
Contents:
1. AI框架基础(DONE)
1.1. 本章内容
1.2. AI框架作用
1.3. AI框架之争
1.4. 框架编程范式
2. 自动微分(DONE)
2.1. 自动微分
2.2. 什么是微分
2.3. 微分计算模式
2.4. 微分实现方式
2.5. 动手实现自动微分
2.6. 动手实现PyTorch微分
2.7. 自动微分的挑战&未来
3. 计算图(DONE)
3.1. 基本介绍
3.2. 计算图原理
3.3. 计算图与自动微分
3.4. 计算图的调度与执行
3.5. 计算图的控制流实现
3.6. 动态图与静态图转换
3.7. 计算图的挑战&未来
==== 六、大模型训练
Contents:
1. 分布式集群
1.1. 基本介绍
1.2. AI集群服务器架构
1.3. AI集群软硬件通信
1.4. 集合通信原语
1.5. 分布式功能
2. 分布式算法
2.1. 大模型训练挑战
2.2. 大模型算法结构
2.3. 亿级规模大模型
3. 分布式并行
3.1. 基本介绍
3.2. 数据并行
3.3. 张量并行
3.4. MindSpore张量并行
3.5. 流水并行
3.6. 混合并行
3.7. 分布式训练总结
Contents:
=== 附录(DONE) ===
书写工具(DONE)
书写规范(DONE)
术语表(DONE)
参考链接(DONE)
AI System & Deep Learning System
¶
AI系统 & 深度学习系统
逐节更新中,希望您也参与到这个项目中,
[Issues]
区留言哦!
文字
chenzomi12.github.io
,系列视频发布在
B站
和
油管
,PPT开源在
github
!
Star
AI系统全栈架构图
目录
Contents:
=== 一、AI系统概述 ===
=== 二、AI芯片体系结构 ===
Contents:
1. AI 计算体系概述
1.1. 课程内容
1.2. AI计算模式(上)
1.3. AI计算模式(下)
1.4. 关键设计指标
1.5. 核心计算之矩阵乘
1.6. 计算之比特位宽
1.7. AI计算体系总结
2. AI 芯片基础
2.1. CPU 基础
2.2. CPU 指令集架构
2.3. CPU 计算本质
2.4. CPU 计算时延
2.5. GPU 基础
2.6. NPU 基础
2.7. 超异构计算
3. GPU 原理详解
3.1. GPU工作原理
3.2. 为什么 GPU 适用于 AI
3.3. GPU架构与CUDA关系
3.4. GPU架构回顾第一篇
3.5. GPU架构回顾第二篇
4. NVIDIA GPU详解
4.1. TensorCore原理
4.2. TensorCore架构
4.3. TensorCore剖析
4.4. 分布式通信与NVLink
4.5. NVLink原理剖析
4.6. NVSwitch原理剖析
5. 国外 AI 芯片架构
5.1. 特斯拉DOJO架构
5.2. 特斯拉DOJO Core原理
5.3. 特斯拉DOJO存算系统
5.4. 谷歌TPU历史发展
5.5. 谷歌TPUv1脉动阵列
5.6. 谷歌TPUv2训练芯片
5.7. 谷歌TPUv3 POD形态
5.8. 谷歌TPUv4三维互联
6. 国内 AI 芯片架构
6.1. 壁仞产品解读
6.2. 壁仞BR100架构
6.3. 燧原产品与DTU架构
6.4. 寒武纪产品解读
6.5. 寒武纪MLU芯片架构
6.6. 寒武纪MLU架构细节
==== 三、AI编译原理(更新中)
Contents:
1. 传统编译器(DOING)
1.1. 编译器基础介绍 OK
1.2. 传统编译器发展 OK
1.3. GCC编译过程和原理
1.4. LLVM架构设计和原理
1.5. LLVM IR详解
1.6. LLVM前端和优化层
1.7. LLVM后端代码生成
2. AI 编译器
2.1. 为什么需要AI编译器
2.2. AI编译器的发展阶段
2.3. AI编译器的通用架构
2.4. AI编译器挑战与思考
3. 前端优化
3.1. 内容介绍
3.2. 图算 IR
3.3. 算子融合
4. 后端优化
4.1. 内容介绍
4.2. 算子的计算与调度
4.3. 算子手工优化方式
4.4. 算子循环优化
4.5. 指令和内存优化
4.6. Auto-Tuning原理
5. PyTorch2.0 图模式
5.1. PyTorch2.0 特性
5.2. TorchScript 静态图尝试
5.3. FX 与 LazyTensor
5.4. TorchDynamo 获取图
5.5. AOTAutograd 原理
5.6. Dispatch 机制
=== 四、推理系统&引擎 ===
Contents:
1. 推理系统
1.1. 内容介绍
1.2. 推理系统介绍
1.3. 推理流程全景
1.4. 推理系统架构
1.5. 推理引擎架构(上)
1.6. 推理引擎架构(下)
2. 模型轻量化
2.1. 推理参数了解
2.2. CNN模型小型化(上)
2.3. CNN模型小型化(下)
2.4. Transformer小型化
3. 模型压缩
3.1. 基本介绍
3.2. 低比特量化原理
3.3. 感知量化训练QAT
3.4. 训练后量化PTQ与部署
3.5. 模型剪枝原理
3.6. 知识蒸馏原理
3.7. 知识蒸馏算法
4. 模型转换&优化
4.1. 基本介绍
4.2. 架构与文件格式
4.3. 自定义计算图IR
4.4. 模型转换流程
4.5. 计算图优化策略
4.6. 常量折叠&冗余节点消除
4.7. 算子融合/替换/前移
5. Kernel优化
5.1. Kernel优化架构
5.2. 卷积操作原理
5.3. Im2Col算法
5.4. Winograd算法
5.5. QNNPack算法
5.6. 推理内存布局
5.7. nc4hw4内存排布
5.8. 汇编与循环优化
=== 五、AI框架核心模块 ===
Contents:
1. AI框架基础(DONE)
1.1. 本章内容
1.2. AI框架作用
1.3. AI框架之争
1.4. 框架编程范式
2. 自动微分(DONE)
2.1. 自动微分
2.2. 什么是微分
2.3. 微分计算模式
2.4. 微分实现方式
2.5. 动手实现自动微分
2.6. 动手实现PyTorch微分
2.7. 自动微分的挑战&未来
3. 计算图(DONE)
3.1. 基本介绍
3.2. 计算图原理
3.3. 计算图与自动微分
3.4. 计算图的调度与执行
3.5. 计算图的控制流实现
3.6. 动态图与静态图转换
3.7. 计算图的挑战&未来
==== 六、大模型训练
Contents:
1. 分布式集群
1.1. 基本介绍
1.2. AI集群服务器架构
1.3. AI集群软硬件通信
1.4. 集合通信原语
1.5. 分布式功能
2. 分布式算法
2.1. 大模型训练挑战
2.2. 大模型算法结构
2.3. 亿级规模大模型
3. 分布式并行
3.1. 基本介绍
3.2. 数据并行
3.3. 张量并行
3.4. MindSpore张量并行
3.5. 流水并行
3.6. 混合并行
3.7. 分布式训练总结
Contents:
=== 附录(DONE) ===
Next
=== 一、AI系统概述 ===