Skip to content

Commit

Permalink
format for 20240609
Browse files Browse the repository at this point in the history
  • Loading branch information
chenzomi12 committed Jun 9, 2024
1 parent 722694d commit 3cc21f6
Show file tree
Hide file tree
Showing 114 changed files with 651 additions and 635 deletions.
4 changes: 2 additions & 2 deletions 00Others/Install.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Sphinx 环境安装

AI 系统项目部署在 Github 是依赖于 sphinx 工具实现的。因此我们首先要安装 sphinx。在MacOS中,可以使用 Homebrew 、 MacPorts 或者 Anaconda 之类的Python发行版安装Sphinx
AI 系统项目部署在 Github 是依赖于 sphinx 工具实现的。因此我们首先要安装 sphinx。在 MacOS 中,可以使用 Homebrew 、 MacPorts 或者 Anaconda 之类的 Python 发行版安装 Sphinx

```bash
brew install sphinx-doc
Expand Down Expand Up @@ -76,7 +76,7 @@ import os
from urllib.request import urlopen
from pathlib import Path

project = "AISystem & AIInfra (AI系统原理)"
project = "AISystem & AIInfra (AI 系统原理)"
language = "cn" # For testing language translations
master_doc = "index"

Expand Down
2 changes: 1 addition & 1 deletion 00Others/inference.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@

15. [Martín Abadi, Paul Barham, Jianmin Chen, Zhifeng Chen, Andy Davis, Jeffrey Dean, Matthieu Devin, Sanjay Ghemawat, Geoffrey Irving, Michael Isard, Manjunath Kudlur, Josh Levenberg, Rajat Monga, Sherry Moore, Derek G. Murray, Benoit Steiner, Paul Tucker, Vijay Vasudevan, Pete Warden, Martin Wicke, Yuan Yu, and Xiaoqiang Zheng. 2016. TensorFlow: a system for large-scale machine learning. In Proceedings of the 12th USENIX conference on Operating Systems Design and Implementation (OSDI'16). USENIX Association, USA, 265–283.](https://dl.acm.org/doi/10.5555/3026877.3026899)

## 二. AI 硬件体系结构
## 二. AI 硬件体系结构

1. https://www.knime.com/blog/a-friendly-introduction-to-deep-neural-networks
2. https://machine-learning.paperspace.com/wiki/activation-function
Expand Down
2 changes: 1 addition & 1 deletion 01Introduction/02Develop.md
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ AI 起源于上世纪五十年代,经历了几次繁荣与低谷,直到 2016

![](images/02Develop10.png)

为了更高的性能,近年来 AI 芯片也大放光彩。其中一个代表就是谷歌 TPU(Tensor Processing Unit),通过对神经网络模型中的算子进行抽象,转换为矩阵乘法或非线性变换,根据专用负载特点进一步定制流水线化执行的脉动阵列(Systolic Array),进一步减少访存提升计算密度,提高了 AI 模型的执行性能。华为昇腾 NPU(神经网络处理器)针对矩阵运算专门优化设计,可解决传统芯片在神经网络运算时效率低下的问题。此外,华为达芬奇架构面向 AI 计算设计,通过独创 3D Cube 设计,每时钟周期可进行 4096 次 MAC 运算,为 AI 提供强大算力支持。
为了更高的性能,近年来 AI 芯片也大放光彩。其中一个代表就是谷歌 TPU(Tensor Processing Unit),通过对神经网络模型中的算子进行抽象,转换为矩阵乘法或非线性变换,根据专用负载特点进一步定制流水线化执行的脉动阵列(Systolic Array),进一步减少访存提升计算密度,提高了 AI 模型的执行性能。华为昇腾 NPU(神经网络处理器)针对矩阵运算专门优化设计,可解决传统芯片在神经网络运算时效率低下的问题。此外,华为达芬奇架构面向 AI 计算设计,通过独创 3D Cube 设计,每时钟周期可进行 4096 次 MAC 运算,为 AI 提供强大算力支持。

除了算子层面驱动的定制,AI 层面的计算负载本身在算法层常常应用的稀疏性和量化等加速手段也逐渐被硬件厂商,根据通用算子定制到专用加速器中(例如,英伟达推出的 Transformer Engine),在专用计算领域进一步协同优化加速。通过定制化硬件,厂商又将处理器性能提升了大约 $10^5$ 量级。

Expand Down
2 changes: 1 addition & 1 deletion 01Introduction/03architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ AI 框架不仅仅是指如 PyTorch 等训练框架,还包括推理框架。

- **优化器**:运行时即时(Just-in-Time)优化,内省(Introspective)优化等。运行时根据硬件,隐藏的软件栈信息,数据分布等只能运行时所获取的信息,进一步对模型进行优化。

- **调度与执行**:调度优算子并行与调度,执行有单线程和多线程执行等。调度方面根据NPU提供的软件栈和硬件调度策略,以及模型的算子间并行机会,进行类装箱的并行调度。另外再算子执行过程中,如果特定NPU没有做过多的运行时调度与干预,框架可以设计高效的运行时算子内的线程调度策略。
- **调度与执行**:调度优算子并行与调度,执行有单线程和多线程执行等。调度方面根据 NPU 提供的软件栈和硬件调度策略,以及模型的算子间并行机会,进行类装箱的并行调度。另外再算子执行过程中,如果特定 NPU 没有做过多的运行时调度与干预,框架可以设计高效的运行时算子内的线程调度策略。

- **硬件接口抽象**:GPU、NPU、TPU、CPU、FPGA 和 ASIC 等硬件的接口抽象。统一的硬件接口抽象可以复用编译优化策略,让优化方案与具体底层的 AI 硬件设备和 AI 体系结构适当解耦。

Expand Down
6 changes: 3 additions & 3 deletions 01Introduction/04sample.md
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ for n in range(batch_size):
在实际 Kernel 的计算过程中有很多有趣的问题:
- **硬件加速**: 通用矩阵乘是计算机视觉和自然语言处理模型中的主要的计算方式,同时 NPU/GPU,如 TPU 脉动阵列的矩阵乘单元等其他专用人工智能芯片 ASIC 是否会针对矩阵乘作为底层支持?(第二章 AI 芯片体系结构相关内容)
- **硬件加速**:通用矩阵乘是计算机视觉和自然语言处理模型中的主要的计算方式,同时 NPU/GPU,如 TPU 脉动阵列的矩阵乘单元等其他专用人工智能芯片 ASIC 是否会针对矩阵乘作为底层支持?(第二章 AI 芯片体系结构相关内容)
- **片上内存**:其中参与计算的输入、权重和输出张量能否完全放入 NPU/GPU 缓存(L1、L2、Cache)?如果不能放入则需要通过循环块(Loop Tile)编译优化进行切片。(第二章 AI 芯片体系结构相关内容)
Expand Down Expand Up @@ -313,8 +313,8 @@ class LeNet(nn.Module):
2. 提供调用基本算子实现,大幅降低开发代码量;
2. 自动化内存管理、不暴露指针和内存管理给用户;
3. 实现自动微分功能,自动构建反向传播计算图;
4. 调用或生成运行时优化代码,调度算子在指定NPU的执行
6. 并在运行期应用并行算子,提升NPU利用率等优化(动态优化)。
4. 调用或生成运行时优化代码,调度算子在指定 NPU 的执行
6. 并在运行期应用并行算子,提升 NPU 利用率等优化(动态优化)。

AI 框架帮助开发者解决了很多 AI System 底层问题,隐藏了很多工程的实现细节,但是这些细节和底层实现又是 AI System 工程师比较关注的点。

Expand Down
2 changes: 1 addition & 1 deletion 01Introduction/05Foundation.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ AI 大模型发展历经三个阶段,分别是萌芽期、探索期和爆发

以 CNN 为代表的传统神经网络模型阶段。1956 年,从计算机专家约翰·麦卡锡提出“人工智能”概念开始,AI 发展由最开始基于小规模专家知识逐步发展为基于机器学习。1980 年,卷积神经网络的雏形 CNN 诞生。1998 年,现代卷积神经网络 CNN 的基本结构 LeNet-5 诞生,机器学习方法由早期基于浅层机器学习的模型,变为了基于深度学习的模型。

在萌芽期阶段,小模型的研究为自然语言生成、计算机视觉等领域的深入研究奠定了基础,对后续深度学习框架的迭代及大模型发展具有开创性的意义。此时在自然语言处理 NLP 的模型研究都是在研究基于给定的数据集,在特定的下游任务,如何设计网络模型结构、调整超参、提升训练技巧可以达到更高的任务分数,因此出现了 Word2vec、RNN、LSTM、GRU 等各种 NLP 模型结构。
在萌芽期阶段,小模型的研究为自然语言生成、计算机视觉等领域的深入研究奠定了基础,对后续深度学习框架的迭代及大模型发展具有开创性的意义。此时在自然语言处理 NLP 的模型研究都是在研究基于给定的数据集,在特定的下游任务,如何设计网络模型结构、调整超参、提升训练技巧可以达到更高的任务分数,因此出现了 Word2vec、RNN、LSTM、GRU 等各种 NLP 模型结构。

- **探索期(2006-2019)**

Expand Down
Loading

0 comments on commit 3cc21f6

Please sign in to comment.