AI芯片概览

目录

AI芯片概览

1. AI芯片的定义

2. AI芯片分类

3. AI芯片现状

4. CPU、GPU设计对比

5. 昇腾Ascend AI处理器


学习目标:

①AI芯片的定义

②AI芯片分类

③AI芯片现状

④CPU、GPU设计对比

⑤昇腾Ascend AI处理器

昇腾Ascend是芯片,Atlas是搭载了这些芯片的计算平台

1. AI芯片的定义

人工智能的四大要素:数据,算法,场景,算力

训练一个优秀的模型需要海量算力,AI芯片应运而生

AI芯片:也称AI加速器,用于专门处理人工智能应用中大量计算任务的功能模块,其中主要是矩阵运算。分为训练芯片(性能更强)和推理芯片

2. AI芯片分类

(1)CPU:可以处理各种任务,主要是一些逻辑运算。对于AI需要大量矩阵运算的任务来说,CPU的速度和能耗比都不理想(中央处理器

(2)GPU:专门处理图像相关任务,因为计算机中图像是用矩阵来存储,所以GPU在处理AI任务比CPU好(图像处理器

(3)ASIC:单一用途的芯片,通用性低,但在特定任务上表现极大优势(专用集成电路

(4)FPGA:可以对硬件进行编程,可以根据需求更改芯片的功能,如需要逻辑运算高或矩阵运算效率高都可以更改(现场可编程门阵列

从业务应用出发,芯片分为训练芯片推理芯片

Training环节:用于训练、构建模型。速度要快,算力要高。选择昇腾910

Inference环节:使用模型。因为部署地方多,要求功耗要低。选择昇腾310

3. AI芯片现状

(1)CPU为满足AI任务

①提高CPU的峰值性能,但随着摩尔定律逐年逐步提升,如今已经快失效了

②现在CPU厂商的新产品单核性能比上一代强不了多少,所以使用多核方式提高处理速度,但会有问题。因为从一个核变多个核成本变高芯片面积变大功耗变大

增加指令集,完全修改导致以前软件不兼容,所以智能在现有基础上增加

超频,提升频率来提高性能,但会导致芯片出现功耗过大和发热

CPU处理AI任务不理想

(2)GPU

设计之初就是为了解决矩阵运算,因此处理AI任务具有优良性能

英伟达在06年推出CUDA可以帮助开发者更好发挥GPU性能,现在的计算框架TensorflowPytorch都可以通过该工具利用英伟达显卡进行AI运算

Nvidia沿用CPU架构,对深度学习两个方向发力:

①丰富生态,针对AI推出cuDNN库,可以更快卷积运算

②增加多数据类型支持(不再坚持float32,增加int8等),AI芯片不需要高精度,牺牲精度来提高速度很划算

③添加专用模块,进一步提高AI算力(如引入并配备张量核的改进型架构)

成本高,能耗比低,延迟高

(3)TPU

谷歌2006年将专用集成电路ASIC设计理念应用到神经网络领域,发布了支撑深度学习开源框架Tensorflow人工智能定制芯片TPU

采用了脉动阵列来优化卷积运算核矩阵乘法,提高算力还降低能耗

只能做AI芯片,没其他用途

(4)FPGA

硬件可编程灵活性非常高,在一定程度上可以当做专用芯片,性能优于GPU

编程需要自己实现,不是买现成芯片,门槛非常高,不断修改性能也达不到最优,毕竟不是一开始写死进去

4. CPU、GPU设计对比

(1)GPU

本来是用来处理图像的,而图像就是用矩阵存储

主要面对类型高度统一(0~255不会出现字符串)、相互没有依赖的大规模数据(没有说右下角图像计算需要先拿到左上角数据)、不需打断的纯净计算环境(发现一个像素点符合要求就break)

- ↓ 基于上面理念

GPU具有很多ALU并行计算很少cache缓存,所以缓存合并访问DRAM内存,会带来时延问题

(擅于计算密度核易于并行的程序)

(2)CPU

需要很强通用性来处理不同数据类型,同时需要逻辑判断(所以有一个控制单元)

由专为串行处理(数据有依赖关系)而优化的几个核心组成

- ↓

CPU的ALU较少但有大量缓存,单个计算能力强

(擅于逻辑控制、串行运算)

5. 昇腾Ascend AI处理器

NPU神经网络处理器:在电路层模拟人类神经元和突触,并且用深度学习指令集直接处理大规模的神经元和突触,一条指令完成一组神经元的处理

NPU典型代表:华为昇腾AI芯片(Ascend)、寒武纪芯片IBM的TrueNorth

Ascend310 推理 低功耗

Ascend910 训练 高性能训练

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐