GPU的前世今生:从图形处理到人工智能的崛起

2023-05-29 0 678

GPU的前世今生:从图形处理到人工智能的崛起

什么是GPU

GPU是Graphics Processing Unit(图形处置器)的简称,它是一类专门针对在个人笔记本电脑、服务站、格斗街机和一些移动电子设备(如智能手机笔记本电脑、智能机等)上运行图形演算组织工作的微处置器。GPU 技术的发展是一个进化过程。20世纪末70二十世纪末和80二十世纪末的早期GPU被用来读取和渲CPU中的2D 图形排序, 到 20世纪末90二十世纪末末, 对3D 图形的支持就已经很普遍,除个别例外, 这些GPU是 “驻点函数”, 这意味着呈现出操作方式是由GPU硬体本体论表述的。

20 世纪末80 二十世纪末末到90 二十世纪末如前所述位数信号处置晶片(digital signal processor chip)的GPU被研发出,与上代相比速度更快、机能大列佩季哈区,但是价格极其高昂。

CPU和GPU都是为了顺利完成排序各项任务而设计的,但两者的区别在于存在于片内的内存体系和位数形式系统模块的结构差异。CPU是笔记本电脑的中央处置器,是一块Sierentz的器件,其中包含ALU微积分形式系统模块、Cache高速缓冲存储器和Bus汇流排,主要机能是解释排序机发出的命令和处置笔记本电脑系统中的大统计数据。GPU是影像处置器的简写,是一类专门针对为PC或者PDP电子设备展开影像演算组织工作的微处置器,它是专门针对执行繁杂的数学和几何排序而生的,而这格斗游戏对这方面的要求很高,因此不少格斗游戏玩者也对GPU有着基盘的感情。CPU擅长处置具有繁杂排序关键步骤和繁杂统计数据依赖的排序各项任务,而GPU适合对大量统计数据展开博戈达的简单排序。

1999年,英伟达发布了GeForce 256,这是一款如前所述三星电子220奈米工艺、软件系统了2300亿个电晶体的图形处置晶片。英伟达把Graphics Processing Unit的第一个字母「GPU」提炼出出,把GeForce 256冠上“世界上第二块GPU”称号,巧妙地表述了GPU这个新产品种类,并占据这个词的用户人格直到今天。

GPU如何在人工智慧中有所作为

GPU最初是为影像表明而生,为CPU从影像表明的伐木工人活中恢复过来而生。影像表明的基本概念是将每一格的影像分割成一块块画素,再对其展开三角形处置、光栅处置、单点化、短片处置、画素操作方式等多个图形处置,最终得以表明在萤幕上。CPU每秒钟要顺利完成9000余条命令才能实现一秒钟的画面呈现出,而GPU则相反,80%以上空间是排序模块,带来了超强博戈达排序能力,更适合图片表明这种关键步骤固定、重复枯燥的组织工作。

直到几年后,一些人工智慧学者才意识到,具备这样特性的GPU也适用于深度学习的训练。很多经典的深度神经网络架构早在20世纪末下半叶就已经被提出,但因为缺乏训练它们的排序硬体,很多研究只能“纸上谈兵”,发展长期停滞。1999年10月的一声炮响,给人工智慧送来了GPU。深度学习的训练过程是对每个输入值根据神经网络每层的函数和参数展开分层演算,最终得到一个输出值,跟图形图形一样都需要大量的矩阵演算——这恰巧就是GPU最擅长的东西。

Kumar Chellapilla是最早吃到GPU螃蟹的学者。2006年他使用英伟达的GeForce 7800显卡第一次实现了卷积神经网络(CNN),发现比使用CPU要快4倍。这是已知最早将GPU用于深度学习的尝试。

接下来2012年,当时Hinton和Alex Krizhevsky、Ilya Sutskeverz这两位学生一起设计了一个深度卷积神经网络AlexNet,计划参加这一年的ImageNet大赛。但问题是如果用CPU来训练AlexNet可能需要几个月的时间,于是他们把目光转向了GPU。这颗在深度学习的发展历史中至关重要的GPU,便是著名的“核弹显卡”GTX 580。作为英伟达最新Fermi架构的旗舰产品,GTX 580被塞入512颗CUDA核心(上一代为108颗),算力飞跃的同时,夸张的功耗和发热问题也让英伟达被赐名“核弹工厂”。Hinton团队用英伟达的CUDA平台顺利地顺利完成了编程,在两张GTX 580显卡的支持下,1400万张图片的训练只花了一个周,AlexNet顺利夺冠。

由于ImageNet比赛和Hinton本人的影响力,所有人工智慧学者都在一瞬间意识到了GPU的重要性。

谷歌携GoogLeNet模型参加ImageNet,以93%的准确率夺冠,采用的正是英伟达GPU,这一年所有参赛团队GPU的使用数量飙升到了110块。在比赛之外,GPU已经成为深度学习的“必选消费”。

GPU的局限

然而,GPU从一开始并非专门针对为训练神经网络而设计,随着人工智慧的快速发展,这些问题日益凸显。

举例来说,尽管GPU和CPU之间存在显著差异,但它们根本上都遵循冯·诺伊曼结构,即存储和演算是分离的。这种分离导致效率瓶颈。在影像处置等具有相对固定关键步骤的各项任务中,可以通过增加博戈达排序来解决问题,但在具有大量分支结构的神经网络中,情况就变得棘手了。

每增加一层或一个分支,神经网络就需要一次内存访问,以存储统计数据供后续回溯使用,这 unavoidably 花费时间。特别是在大型模型时代,模型越大,需要执行的内存访问操作方式就越多,因此最终消耗在内存访问上的能耗要比演算高出许多倍。

简单地说,GPU就像一个肌肉发达的强壮男子(具有许多排序模块),但对于接收到的每个命令,它都需要回头查看指南手册(内存),随着模型的规模和繁杂性增加,这位强壮男子真正展开排序的时间非常有限,反而频繁地翻看手册,使其疲惫不堪。

内存问题只是GPU

Google于2016年推出自研AI晶片TPU(Tensor Processing Unit),提供了GPU之外的另一个选择。TPU通过量化技术和脉动阵列等手段,在保持灵活和通用性的基础上作出妥协,在神经网络排序方面表现优异。英伟达也在不断改良自己的GPU架构以适应人工智慧场景,并推出了专门针对深度学习设计的架构Volta和Hopper架构等。

在最新的GPU竞争中,鹿死谁手成为人从设计、验证、量产到最终部署进入自家统计数据中心,仅用了15个月的时间。经过测试,TPU在CNN、LSTM、MLP等AI场景下的性能和功耗明显超过了同期的英伟达GPU,给英伟达带来了巨大压力。

然而,英伟达并不会坐以待毙,一场拉锯战随之展开。在Google推出TPU的五个月后,英伟达推出了如前所述16奈米工艺的Pascal架构。这一新架构一方面引入了著名的NVLink高速双向互联技术,大幅提升了连接带宽;另一方面,借鉴了TPU的量化技术,通过降低统计数据精度来提高神经网络的排序效率。

随后在2017年,英伟达又推出了专门针对深度学习设计的首个架构——Volta。其中,首次引入了TensorCore,专门针对用于矩阵演算。虽然与TPU 256×256的脉动阵列相比,Volta中的4×4乘法阵列显得有些逊色,但在保持灵活性和通用性的基础上做出了妥协。

英伟达的高管向客户宣称:“Volta并不是Pascal的升级,而是一个全新的架构。”这表明出英伟达在竞争中的自信。

然而,Google也不甘示弱,从2016年开始,TPU在五年内推出了三代产品。2017年推出了TPUv2,2018年推出了TPUv3,2021年又推出了TPUv4,并且将这些性能统计数据对比直接呈现出给了英伟达。根据统计数据表明,TPU v4的排序速度比英伟达的A100快1.2到1.7倍,同时功耗降低了1.3到1.9倍。

尽管Google不对外销售TPU晶片,仍然继续大量采购英伟达的GPU。这使得两者之间的AI晶片竞争仍然停留在“暗斗”而非“明争”的阶段。然而,Google将TPU部署到自家的云服务系统中,并向外提供AI算力服务,这无疑对英伟达的潜在市场造成了压缩。

参考:硅基研习社

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务