AI计算,为什么要用GPU?

数字芯片,还可以进一步细分,分为:逻辑芯片、存储芯片以及微控制单元(MCU)。

存储芯片和MCU以后再介绍,今天小枣君重点讲讲逻辑芯片。

逻辑芯片,其实说白了就是计算芯片。它包含了各种逻辑门电路,可以实现运算与逻辑判断功能,是最常见的芯片之一。

大家经常听说的CPU、GPU、FPGA、ASIC,全部都属于逻辑芯片。而现在特别火爆的AI,用到的所谓“AI芯片”,也主要是指它们。

CPU(中央处理器)

先说说大家最熟悉的CPU,英文全称CentralProcessingUnit,中央处理器。

但凡是个人都知道,CPU是计算机的心脏。

现代计算机,都是基于1940年代诞生的冯·诺依曼架构。在这个架构中,包括了运算器(也叫逻辑运算单元,ALU)、控制器(CU)、存储器、输入设备、输出设备等组成部分。

冯·诺依曼架构

数据来了,会先放到存储器。然后,控制器会从存储器拿到相应数据,再交给运算器进行运算。运算完成后,再把结果返回到存储器。

这个流程,还有一种更有格调的叫法:“Fetch(取指)-Decode(译码)-Execute(执行)-MemoryAccess(访存)-WriteBack(写回)”。

大家看到了,运算器和控制器这两个核心功能,都是由CPU负责承担的。

具体来说,运算器(包括加法器、减法器、乘法器、除法器),负责执行算术和逻辑运算,是真正干活的。控制器,负责从内存中读取指令、解码指令、执行指令,是指手画脚的。

除了运算器和控制器之外,CPU还包括时钟模块和寄存器(高速缓存)等组件。

寄存器是CPU中的高速存储器,用于暂时保存指令和数据。它的CPU与内存(RAM)之间的“缓冲”,速度比一般的内存更快,避免内存“拖累”CPU的工作。

寄存器的容量和存取性能,可以影响CPU对内存的访问次数,进而影响整个系统的效率。后面我们讲存储芯片的时候,还会提到它。

CPU一般会基于指令集架构进行分类,包括x86架构和非x86架构。x86基本上都是复杂指令集(CISC),而非x86基本为精简指令集(RISC)。

PC和大部分服务器用的是x86架构,英特尔和AMD公司占据主导地位。非x86架构的类型比较多,这些年崛起速度很快,主要有ARM、MIPS、Power、RISC-V、Alpha等。以后会专门介绍。

GPU(图形处理器)

再来看看GPU。

GPU是显卡的核心部件,英文全名叫GraphicsProcessingUnit,图形处理单元(图形处理器)。

GPU并不能和显卡划等号。显卡除了GPU之外,还包括显存、VRM稳压模块、MRAM芯片、总线、风扇、外围设备接口等。

1999年,英伟达(NVIDIA)公司率先提出了GPU的概念。

之所以要提出GPU,是因为90年代游戏和多媒体业务高速发展。这些业务给计算机的3D图形处理和渲染能力提出了更高的要求。传统CPU搞不定,所以引入了GPU,分担这方面的工作。

根据形态,GPU可分为独立GPU(dGPU,discrete/dedicatedGPU)和集成GPU(iGPU,integratedGPU),也就是常说的独显、集显。

GPU也是计算芯片。所以,它和CPU一样,包括了运算器、控制器和寄存器等组件。

但是,因为GPU主要负责图形处理任务,所以,它的内部架构和CPU存在很大的不同。

如上图所示,CPU的内核(包括了ALU)数量比较少,最多只有几十个。但是,CPU有大量的缓存(Cache)和复杂的控制器(CU)。

这样设计,是因为CPU是一个通用处理器。作为计算机的主核心,它的任务非常复杂,既要应对不同类型的数据计算,还要响应人机交互。

复杂的条件和分支,还有任务之间的同步协调,会带来大量的分支跳转和中断处理工作。它需要更大的缓存,保存各种任务状态,以降低任务切换时的时延。它也需要更复杂的控制器,进行逻辑控制和调度。

CPU的强项是管理和调度。真正干活的功能,反而不强(ALU占比大约5%~20%)。

而GPU则完全不同。

GPU为图形处理而生,任务非常明确且单一。它要做的,就是图形渲染。图形是由海量像素点组成的,属于类型高度统一、相互无依赖的大规模数据。

并行计算,当然需要更多的核啊。

如前图所示,GPU的内核数,远远超过CPU,可以达到几千个甚至上万个(也因此被称为“众核”)。

GPU的核,称为流式多处理器(StreamMulti-processor,SM),是一个独立的任务处理单元。

在整个GPU中,会划分为多个流式处理区。每个处理区,包含数百个内核。每个内核,相当于一颗简化版的CPU,具备整数运算和浮点运算的功能,以及排队和结果收集功能。

GPU的控制器功能简单,缓存也比较少。它的ALU占比,可以达到80%以上。

虽然GPU单核的处理能力弱于CPU,但是数量庞大,非常适合高强度并行计算。同等晶体管规模条件下,它的算力反而比CPU更强。

还是以餐厅为例。GPU就像一个拥有成千上万名初级厨师的单一型餐厅。它只适合做某种指定菜系。但是,因为厨师多,配菜简单,所以大家一起炒,上菜速度反而快。

CPUvsGPU

GPU与AI计算

大家都知道,现在的AI计算,都在抢购GPU。英伟达也因此赚得盆满钵满。为什么会这样呢?

原因很简单,因为AI计算和图形计算一样,也包含了大量的高强度并行计算任务。

深度学习是目前最主流的人工智能算法。从过程来看,包括训练(training)和推理(inference)两个环节。

在训练环节,通过投喂大量的数据,训练出一个复杂的神经网络模型。在推理环节,利用训练好的模型,使用大量数据推理出各种结论。

训练环节由于涉及海量的训练数据,以及复杂的深度神经网络结构,所以需要的计算规模非常庞大,对芯片的算力性能要求比较高。而推理环节,对简单指定的重复计算和低延迟的要求很高。

GPU凭借自身强悍的并行计算能力以及内存带宽,可以很好地应对训练和推理任务,已经成为业界在深度学习领域的首选解决方案。

目前,大部分企业的AI训练,采用的是英伟达的GPU集群。如果进行合理优化,一块GPU卡,可以提供相当于数十台甚至上百台CPU服务器的算力。

不过,在推理环节,GPU的市场份额占比并没有那么高。具体原因我们后面会讲。

将GPU应用于图形之外的计算,最早源于2003年。

那一年,GPGPU(GeneralPurposecomputingonGPU,基于GPU的通用计算)的概念首次被提出。意指利用GPU的计算能力,在非图形处理领域进行更通用、更广泛的科学计算。

GPGPU在传统GPU的基础上,进行了进一步的优化设计,使之更适合高性能并行计算。

2009年,斯坦福的几位学者,首次展示了利用GPU训练深度神经网络的成果,引起了轰动。

几年后,2012年,神经网络之父杰弗里·辛顿(GeoffreyHinton)的两个学生——亚历克斯·克里切夫斯基(AlexKrizhevsky)、伊利亚·苏茨克沃(IlyaSutskever),利用“深度学习+GPU”的方案,提出了深度神经网络AlexNet,将识别成功率从74%提升到85%,一举赢得ImageNet挑战赛的冠军。

除了硬刚算力之外,他们还积极构建围绕GPU的开发生态。他们建立了基于自家GPU的CUDA(ComputeUnifiedDeviceArchitecture)生态系统,提供完善的开发环境和方案,帮助开发人员更容易地使用GPU进行深度学习开发或高性能运算。

这些早期的精心布局,最终帮助英伟达在AIGC爆发时收获了巨大的红利。目前,他们市值高达1.22万亿美元(英特尔的近6倍)。

那么,AI时代的计算,是不是GPU一家通吃呢?我们经常听说的FPGA和ASIC,好像也是不错的计算芯片。它们的区别和优势在哪里呢?敬请期待下集:《到底什么是ASIC和FPGA?》。

参考文献:

1.《一文搞懂GPU的概念、工作原理》,开源LINUX;

2.《AI芯片架构体系综述》,知乎,GarvinLi;

3.《GPU、FPGA、ASIC加速器有什么区别?》,知乎,胡说漫谈;

THE END
1.计算机10大经典算法计算机经典算法在介绍了快速排序和归并排序这两种高效的排序算法后,我们现在来看看另一种重要的排序方法——堆排序。堆排序是一种基于完全二叉树结构的比较排序算法,它利用了堆的特性来进行高效排序20。其核心思想是将待排序的数据构造成一个大顶堆或小顶堆,然后逐步交换堆顶元素和堆尾元素,同时调整堆结构,最终得到有序序列21。https://blog.csdn.net/2401_86544677/article/details/143141716
2.共识算法介绍2、主流的共识算法有哪些? 3、目前主流区块链(比特币、以太坊等)分别采用哪种共识算法? 4、哪种共识算法最好? 1、什么是共识机制? 我们都知道,区块链可以看作一本记录所有交易的分布式公开帐簿,区块链网络中的每个参与者都把它看作一本所有权的权威记录。 https://www.jianshu.com/p/8b50304db034
3.Contents/premium.mdatmaster·Newslab2020/Contents·GitHub封城之后会留下什么? 582 知网、Sci-Hub与学术出版业的暴利 2022/4/21 “学者都是出版商的奴隶”; 学术出版行业背后的英国大亨; Sci-Hub能否挑战出版商霸权? 581 三个与对话、求真有关的项目 2022/4/16 Letter:公开、真诚的通信对话; Pairagraph:公共议题的回合辩论; https://github.com/Newslab2020/Contents/blob/master/premium.md
4.智能机器人系列报告三:技术的盛宴,服务机器人核心技术与模块解析激光雷达是“机器之眼”,能够获得周边环境的点云数据模型,现在多用于在测量中有一定精度要求的领域,或需要测量自身与人体距离的智能装备,在测量与人的距离这一功能上尚无完美替代方案。在目前主流的前沿机器人身上已经装备了激光雷达模块,如Atlas和pepper等。https://blog.sina.com.cn/s/blog_a816de580102wu8z.html?bsh_bid=1917182908
5.现在主流的软件开发技术有哪些?TensorFlow和PyTorch是两个流行的机器学习框架,它们提供了强大的工具和算法,用于开发各种智能应用和模型。 Scikit-learn: Scikit-learn是一个用于机器学习的Python库,包含了许多常用的算法和工具,使得机器学习的应用更加方便。 7. 云计算 AWS、Azure、Google Cloud: http://www.apppark.cn/t-49941.html
6.主流的哈希算法有哪几种?SHA-3(Secure Hash Algorithm 3):是美国国家标准与技术研究院(NIST)于2015年发布的新一代安全哈希算法,其基于 Keccak 算法,提供了多个摘要长度选项,如 SHA-3-224、SHA-3-256、SHA-3-384 和 SHA-3-512。 CRC32(Cyclic Redundancy Check):产生32位的哈希值,主要用于数据校验和错误检测,如文件校验、网络通信等https://www.nowcoder.com/discuss/621489203938930688
7.把这些计算机基础知识学完后,我飘了!RLE 算法的机制 接下来就让我们正式看一下文件的压缩机制。首先让我们来尝试对AAAAAABBCDDEEEEEF这 17 个半角字符的文件(文本文件)进行压缩。虽然这些文字没有什么实际意义,但是很适合用来描述RLE的压缩机制。 由于半角字符(其实就是英文字符)是作为 1 个字节保存在文件中的,所以上述的文件的大小就是 17 字节。如图https://maimai.cn/article/detail?fid=1400649709&efid=VmhIiOBVBH0ua86U1tJoEA
8.《SEO实战密码(第3版)》精华整理整个第3版600多页,就中国大陆人来看很臃肿,毕竟中国大陆以百度为主,书中包括外链、作弊方式等等很多都过时了,但这本书只有新增补充,并没有做太多相应的删减。 尽信书不如无书,学会带着自己思维去看去做会更好,SEO算法本就不是公开的,一旦公开可能又会有很多作弊手段出现,但现在百度官方给出了很多良好的建议https://lusongsong.com/yulu/wap.asp?id=7015
9.20年前100块≈现在310?通胀之下,准备多少钱才够养老?另外提醒大家:目前并没有官方统计的通货膨胀率,以下仅为两种网络主流算法,计算思路及结果仅供参考。 思路一:消费者物价指数(CPI算法) CPI(消费者物价指数),能很好地反映生活中那些消费品,如肉蛋奶、烟酒茶的价格变化,一定程度上,能反映通货膨胀率。 我们统计了从 2002 年开始,到 2021 年的 CPI 数据,各年度波动https://www.shenlanbao.com/caifu/1635471539614597120
10.web3:同态加密(一)SWHE方案稍弱,但也意味着开销会变得较小,容易实现,现在已经可以在实际中使用。 主流同态加密算法原理 满足有限运算同态性而不满足任意运算同态性的加密算法称为半同态加密。典型的半同态加密特性包括乘法同态、加法同态、有限次数全同态等。 乘法同态加密算法https://developer.aliyun.com/article/1154858
11.路飞学城1、对各种高精尖算法有较深研究; 2、精读Python源码,熟知Python解释器底层技术实现; 3、擅长领域:汇编、C/C++、Python、Java、逆向工程、机器学习与人工智能等; 教学大纲 包含Python工程师需要的全部技术要求 第一阶段:Python开发基础(3周) 可掌握的核心能力: 1、掌握文件操作、字符编码及转换、函数编程等开发人https://m.luffycity.com/light-course/python
12.电商主流推荐算法概要51CTO博客现在在京东、易迅、亚马逊等看到的主流推荐算法,一般都是基于物品自身相似性(不依赖于用户数据,没有冷启动问题)、基于用户浏览、喜欢、购买等数据的协同过滤推荐(用户纬度和商品纬度)。 其实这些推荐算法的核心思路,是很朴素的。 一、基于物品自身相似度:例如衣服A和衣服B,对于它们在分类、价格段、属性、风格、品牌定https://blog.51cto.com/u_16081606/6210192
13.主流大数据平台算法有哪些帆软数字化转型知识库以上这些大数据平台算法各有特长和应用场景,在选择时需要根据具体的业务需求、数据量级和实时性等因素进行权衡,以达到最佳效果。 相关问答FAQs: 主流大数据平台算法有哪些? Hadoop大数据平台算法:Hadoop是最常用的大数据平台之一,其算法包括MapReduce算法、Hive查询语言、HBase分布式数据库、Pig数据分析平台等。MapReduce是Hahttps://www.fanruan.com/blog/article/495/
14.EdgeDetection:C++实现的主流边缘检测算法(CannySobel3.5 双边滤波算法 三、图像增强 四、边缘检测 1. Canny算子 2. Sobel算子 3. Laplace算子 4. Roberts算子 五、MFC实现 1. 框架搭建 2. 功能实现 六、小结 摘要:本文主要介绍了几种主流的图像边缘检测算法,包括Canny算子、Sobel算子、Laplace算子、Roberts算子、Krisch算子、Prewitt算子、Susan角点检测算法等。另外https://gitee.com/yczha/EdgeDetection
15.中国“缺芯少魂”之痛难破解,打破AI核心技术瓶颈才有未来现在,全球AI领域,深度学习已经超越传统机器学习,成为主流算法。但是,机器学习仍未被取代,两者呈现互补的态势。随着深度学习与神经网络算法的结合,不仅降低了算法训练的门槛,更衍生出大量热门算法以及相应的底层构架。 与依赖于芯片的算力不同,算法由于开源代码、自动化工具等助力,门槛相对降低不少,因而成为初创公司不错的https://www.iyiou.com/news/20191129119131
16.几种主流贴图压缩算法的实现原理详解几种主流贴图压缩算法的实现原理详解 对于不同的项目其中关于贴图压缩这块需要针对不同的平台做不同的设置,下面就和大家介绍下在各种平台中常使用的几种贴图压缩格式及其细节,以便更加适宜地选择在特定设备下的压缩格式以便节省资源。关于移动平台和硬件设备与压缩格式的对应关系可以参考下这里,基本上比较清楚了。https://gwb.tencent.com/community/detail/123075