【课程笔记】华为 HCIA-AI 人工智能35:AI芯片概览
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性能,现在的计算框架Tensorflow、Pytorch都可以通过该工具利用英伟达显卡进行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 训练 高性能训练
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)