GPU是一种专门在个人电脑、工作站、游戏机和一些移动设备上图像运算工作的微处理器。在安防大数据及深度学习的大背景下,具有研发实力的厂商纷纷基于GPU进行视频相关产品(前端智能及后端服务器等)研发,之前被称为视频核弹的Jetson TX1 GPU模块,已经广泛应用于人工智能市场(包括无人机、机器人等设备)及安防监控市场(智能摄像机、人脸识别摄像机等),安防厂商海康、宇视、文安及格灵等公司,均已展示了相关的产品。
大数据时代GPU是视频结构化核心处理模块
GPU是为了能够更快处理图像而诞生
在九十年代,一批工程师意识到:在屏幕上进行多边形图像渲染,本质上是个能并行处理的任务--每个像素点的色彩可以独立计算,不需要考虑其它像素点。于是GPU诞生,成为比CPU更高效的渲染工具。简而言之,由于CPU在图像渲染方面的能力不足,GPU被发明出来分担这部分工作,此后就成了专门搞这方面的硬件。有了上千个更加简单的核心,GPU能高效地处理让CPU十分吃力的任务。只要有合适的代码配合,这些核心就能处理超大规模的数学运算,实现逼真的游戏体验。
GPU作为显示卡的“大脑”决定了该显卡的档次和大部分性能,同时GPU也是2D显示卡和3D显示卡的区别依据。2D显示芯片在处理3D图像与特效时主要依赖CPU的处理能力,称为软加速。3D显示芯片是把三维图像和特效处理功能集中在显示芯片内,也就是所谓的“硬件加速”功能。显示芯片一般是显示卡上最大的芯片。时下市场上的显卡大多采用NVIDIA和AMD-ATI两家公司的图形处理芯片。NVIDIA公司在1999年发布GeForce256图形处理芯片时首先提出GPU的概念。从此NV显卡的芯就用这个新名字GPU来称呼。GPU使显卡削减了对CPU的依赖,并实行部分原本CPU的工作,更加是在3D图形处理时。
GPU能将3D模型的信息转换为2D表示,同时添加不同的纹理和阴影效果,所以GPU在硬件里也是比较特殊的存在。从3D建模到最终显示在屏幕上,GPU渲染场景使用的是流水线操作。早些时候流水线操作是固定不能作任何改动的,整个操作由读取三角形的顶点数据开始,接着GPU处理完后进入帧缓冲区(framebuffer),准备发送给显示器。GPU也能对场景进行某些特定效果的处理,不过这些都是由工程师设计固定好的,能提供的选项很少。
GPU设计之初非针对深度学习而是并行计算
GPU关键性能是并行计算。这意味着可以同时处理运算,而不是一步步进行。复杂问题可被分解为更简单的问题,然后同时进行处理。并行计算适用于HPC和超算领域所涉及的许多问题类型,比如气象、宇宙模型和DNA序列。并不是只有天体物理学家和气象学家才能充分利用并行计算的优点。事实证明,许多企业应用能从并行计算获得超出寻常比例的好处。这包括:数据库查询、密码学领域的暴力搜索、对比不同独立场景的计算机模拟、机器学习/深度学习、地理可视化
在GPU设计之初,并非针对深度学习,而是图形加速,在NVIDIA推出CUDA架构之前,GPU并无太强对深度学习运算能力的支持。而如今,NVIDIA可以提供基于其GPU的从后端模型训练到前端推理应用的全套深度学习解决方案,一般的开发人员都可以非常容易地上手使用GPU进行深度学习开发,或者高性能运算。而CUDA架构的开发,耗费了NVIDIA巨大的人力物力。可以说,是CUDA这个中间层(computingframework)的优化,才使得开发者真正爱上了GPU,NVIDIA胜在软件。而CUDA还不能称之为算法,它只是计算硬件与算法之间的桥梁。
目前来看,NVIDIA作为人工智能计算平台的领导者,但事实是,一开始并非NVIDIA选择了人工智能,而是人工智能的研究者选择了GPU,进而成就了NVIDIA。在2012年,Alex利用深度学习+GPU的方案,一举赢得ImageNetLSVRC-2010图像识别大赛,并奇迹般地将识别成功率从74%提升到85%。NVIDIA敏锐地觉察到了这一趋势,并大力优化基于GPU的深度学习生态系统,并加速迭代开发,三年时间将GPU性能提升了65倍,从而奠定了目前的王者之位。
AI时代 GPU将是数据爆炸时代的核心处理模块
对于人工智能计算架构来说,一般可以归结为三类模式:CPU + GPU,CPU + FPGA,CPU + ASIC(专用集成电路)。其中,应用于图形、图像处理领域的GPU 可以并行处理大量数据,非常适合深度学习的高并行、高本地化数据场景,是目前主流的人工智能计算架构。
如果把科技产业划分为三个时代:PC 时代、移动互联网时代和AI 时代。目前,我们处于移动互联网时代的末期和下一个时代的早期,即以深度学习、无人驾驶为主的AI 时代。
本文转自d1net(转载)