gpu架构已经成功颠覆了cpu架构(一天一个AI知识点)
gpu架构已经成功颠覆了cpu架构(一天一个AI知识点)GPU最初是用于在个人计算机,工作站,游戏机和某些移动设备(工业平板电脑,智能手机等)上运行GraphicsProcessingUnit(GraphicsProcessingUnit)的微处理器。工控机CPU是机器的“大脑”,是执行布局规划,发出命令并控制动作的“总指挥”。CPU的结构主要包括ALU,算术和逻辑单元,ControlUnit(CU,ControlUnit),寄存器,缓存以及它们之间通信的数据总线,控制和状态。价值网络(VALUe Network),以当前局面为输入,估算胜率;蒙特卡洛树搜索(Monte Carlo Tree Search),把上述三个部分整合起来,形成完整的系统。最初的阿尔法狗有176个GPU和1202个CPU。GPU能够通过内部极多进程的并行运算,取得比CPU高一个数量级的运算速度。但是GPU为了管理多进程,它需要在微架构上进行精心设计以满足深度学习计算对于
2016年,发生了一件震动IT界的大事。谷歌的人工智能软件阿尔法狗(AlphaGo)击败了韩国的世界围棋冠军九段选手李世石。2017年,阿尔法狗又击败了当年世界围棋排名第一的中国围棋九段选手柯洁。至此,人类在所有的棋类比赛中全部输给了计算机。
阿尔法狗是一个中央处理器(Central Process Unit,CPU)和图形处理器(Graphic Process Unit,GPU)一起工作的围棋智能机器人。阿尔法狗以神经网络、深度学习、蒙特卡洛树搜索法为核心算法。其系统由四部分组成:
策略网络(Policy Network),以当前局面为输入,预测下一步的走法;
快速走子(Fast Rollout),目标和策略网络相似,在适当牺牲质量的条件下的加速走法;
价值网络(VALUe Network),以当前局面为输入,估算胜率;
蒙特卡洛树搜索(Monte Carlo Tree Search),把上述三个部分整合起来,形成完整的系统。
最初的阿尔法狗有176个GPU和1202个CPU。GPU能够通过内部极多进程的并行运算,取得比CPU高一个数量级的运算速度。但是GPU为了管理多进程,它需要在微架构上进行精心设计以满足深度学习计算对于带宽和缓存的需求。那么GPU和CPU有什么不同呢?
工控机CPU是机器的“大脑”,是执行布局规划,发出命令并控制动作的“总指挥”。CPU的结构主要包括ALU,算术和逻辑单元,ControlUnit(CU,ControlUnit),寄存器,缓存以及它们之间通信的数据总线,控制和状态。
GPU最初是用于在个人计算机,工作站,游戏机和某些移动设备(工业平板电脑,智能手机等)上运行GraphicsProcessingUnit(GraphicsProcessingUnit)的微处理器。
CPU和GPU的区别在于设计目标不同,它们分别用于两种不同的应用场景。
CPU需要非常通用以处理多种数据类型,同时还需要逻辑,并引入许多分支跳转和中断处理。这使CPU的内部结构极为复杂。
另一方面,GPU面临着高度统一,独立的大规模数据以及无需中断的纯计算环境。因此,CPU和GPU呈现非常不同的体系结构(示意图):
GPU的结构相对简单,具有大量的计算单元和超长的流水线,特别适合处理大而统一的数据(例如图像数据)。
GPU的主要工作是3D图像处理和特殊效果处理,这是一种图像渲染工作。对于2D图形,CPU可以轻松处理,但是对于复杂的3D图像,CPU将花费大量资源进行处理,这显然会降低其他方面的工作效率,因此此类工作留给GPU处理。
一些具有高帧频和高质量特殊效果的游戏也被转移到GPU进行处理,从而共享CPU的工作。此外,GPU具有并行处理能力,因此广泛用于加密,大数据处理,财务分析等领域。
为什么GPU如此擅长处理图像数据?这是因为图像中的每个像素都需要处理,并且处理每个像素的过程和方式都非常相似,因此此类场景成为GPU的天然温床。
但是GPU不能单独工作,必须由CPU控制才能工作。CPU可以独立处理复杂的逻辑运算和不同的数据类型,但是当需要大量具有统一处理类型的数据时,可以调用GPU进行并行计算。
GPU使用大量的计算单元和非常长的流水线,但是仅使用非常简单的控制逻辑就没有缓存。CPU不仅具有Cache占用的大量空间,而且具有复杂的控制逻辑和许多优化的电路。相反,GPU计算能力仅占CPU的一小部分。
基于低延迟设计的CPU,CPU具有强大的ALU(算术单元),可以在极少的时钟周期内完成算术计算。相比之下,GPU是基于高吞吐量设计的,具有较小的缓存和简单的控制单元。但是,GPU有许多内核,适用于并行高吞吐量计算。
GPU中有很多功能,很少有缓存。缓存的目的不是保存稍后需要访问的数据(与CPU不同),而是为线程提供服务。如果有许多线程需要访问相同的数据,则缓存将在访问内存DRAM之前合并这些访问。
简而言之,CPU和GPU在设计上有很大不同,因为它们最初用于不同的任务。有些任务类似于GPU最初用于解决问题的方式,因此GPU用于计算。
例如,GPU的速度取决于雇用了多少个学童,而CPU的速度取决于雇用了多少才华横溢的教授。教授以处理复杂任务的能力使学生不知所措,但对于不太复杂的任务,他们仍然不知所措。当然,今天的GPU也可以做一些稍微复杂一些的工作,相当于升级到初中学生的水平。
GPU是使用大量简单的计算单元来完成大量计算任务的绝妙战术。该策略的前提是小学生的工作不相互依赖,而是相互独立。
GPU的工作特点是计算量大,技术含量低,需要重复很多次,并且要求CPU在开始工作之前将数据输入口中,最终由CPU管理。
为什么GPU在AI中如此受欢迎?深度学习是一种数学网络模型,旨在模拟人的大脑和神经系统。该模型的最大特点是需要进行大数据培训。
因此,人工智能领域对计算能力的需求要求大量的并行和重复计算,而GPU恰好具有这种专业知识。因此,时间决定了英雄,因此GPU承担了任务。在人工智能(深度学习)领域,GPU具有以下主要功能:
(GPU人工智能领域计算)
1.它提供了多核并行计算基础架构,并且核的数量非常大,可以支持大量数据的并行计算。并行计算是一种可以一次执行多个指令的算法。目的是通过扩大问题解决的规模来提高计算速度并解决大型和复杂的计算问题。
2.更高的访问带宽和速度。
3.更高的浮点计算能力。浮点计算能力是多媒体和3D图形处理的重要指标。在当今的计算机技术中,由于大量多媒体技术的应用,浮点数的计算已大大增加,例如3D图形渲染,因此浮点计算能力是处理器性能的重要指标。计算能力。
需要强调的是,尽管GPU是图像处理所固有的,但是我们通过前面的介绍可以发现,GPU不是特定于图像的结构服务部分,仅对CPU结构进行了优化和调整,因此现在,GPU不仅可以在图像处理领域中发挥重要作用,还可以用作科学计算,密码破解,海量数据处理的数值分析,排序,Map-Reduce等),财务分析等需要大规模并行计算。因此,GPU也可以看作是更多用途的芯片。
CPU和GPU是两个不同的处理器。CPU是用于程序控制,顺序执行和其他操作的最高通用处理器,而GPU是用于图像处理和特定领域分析的特殊处理器。GPU由CPU控制。在许多终端设备中,CPU和GPU通常集成在单个芯片中,并具有CPU或GPU的处理能力。
适用场景CPU:适合需要前后计算步骤严密关联的计算场景。这些任务涉及到“流”的问题,必须先计算完第一步,再去计算第二步;比如你去相亲,双方看着顺眼才能继续发展。总不能你这边还没见面呢,那边找人把证都给领了。这种比较复杂的问题都是CPU来做的,生活中大部分用的都是CPU,例如武器装备运动控制、个人电脑使用等
GPU:适合前后计算步骤无依赖性,相互独立的计算场景。很多涉及到大量计算的问题基本都有这种特性,比如你说的破解密码,挖矿和很多图形学的计算。这些计算可以分解为多个相同的简单小任务,每个任务就可以分给一个小学生去做。
关于GPU,这篇文章讲清楚了吗?