浅谈人工智能芯片(一)-- 深度神经网络和NVidia GPU的崛起

简介: 随着人工智能浪潮的兴起,人工智能基础芯片作为主要的计算力推动引擎也越来越受到追捧和热议,这个系列连载会介绍人工智能芯片兴起的背景和现有主要玩家以及研究现状,主要包括NVidia GPU、Google的TPU、Intel的Nervana、IBM的TreueNorth、微软的DPU和BrainWave、百度的XPU、Xilinx的xDNN、寒武纪芯片、地平线以及深鉴科技的AI芯片等。

随着人工智能浪潮的兴起,人工智能基础芯片作为主要的计算力推动引擎也越来越受到追捧和热议,这个系列连载会介绍人工智能芯片兴起的背景和现有主要玩家以及研究现状,主要包括NVidia GPU、Google的TPU、Intel的Nervana、IBM的TreueNorth、微软的DPU和BrainWave、百度的XPU、Xilinx的xDNN、寒武纪芯片、地平线以及深鉴科技的AI芯片等,基本上是GPU、FPGA、神经网络芯片三分天下的趋势,三种芯片各有各自的优劣,都在面向自己独特的细分市场。
本章先聊一聊深度神经网络和NVidia GPU的崛起。

人工神经元和深度神经网络

人工智能的终极目标是模拟人脑,人脑大概有1000亿个神经元,1000万亿个突触,能够处理复杂的视觉、听觉、嗅觉、味觉、语言能力、理解能力、认知能力、情感控制、人体复杂机构控制、复杂心理和生理控制,而功耗只有10~20瓦。
这是人脑基本神经元和突触:
image.png
这是人工神经元模拟神经元:
image.png
输入模拟神经元输入电信号,权值模拟神经元之间的突触连接,激活函数模拟突触之间的电信号传导。
早在1981年David Hubel和Torsten Wiesel就发现了人的视觉系统的信息处理是分级的,因此获得了诺贝尔医学奖。如图所示,从视网膜出发,经过低级的V1区边缘特征提取,到V2区识别基本形状或目标的局部,再到高层的目标识别(例如识别人脸),以及到更高层的前额叶皮层进行分类判断等,人们意识到高层特征是低层特征的组合,从低层到高层越来越抽象,越来越能表达语义或者意图。
image.png
深度神经网络模型模拟人脑识别的分层识别过程:
屏幕快照 2018-04-02 下午4.06.35.png
深度神经网络的输入层模拟视觉信号的输入,不同的隐藏层模拟不同级别的抽象,输出层模拟输出的对象分类或者语义等。
从上图的典型的人脸识别的训练任务来看,按照10层深度神经网络、训练上百万张图片,大概需要30 Exaflops的计算能力,如果还是用CPU来做训练,大概需要训练一年的时间,这显然是无法忍受的速度,亟待需要计算能力更强的人工神经网络芯片出现。

NVidia GPU的崛起

NVidia GPU的CUDA战略和野心

可能有很多人会问,目前在人工智能领域,NVidia GPU为什么具有无可撼动的霸主地位,为什么AMD的GPU和NVidia GPU性能相差不多,但是在人工智能领域的受欢迎的程度却有天壤之别。
我们知道GPU原本就是显卡,它是为游戏和渲染而生的,它里面核心运行单元是shader,专门用作像素、顶点、图形等渲染用的。
NVidia在2006年的时候跨时代的推出了统一计算设备架构CUDA(Compute Unified Device Architecture)以及对应的G80平台,第一次让GPU具有可编程性,让GPU的核心流式处理器Streaming Processors(SPs)既具有处理像素、顶点、图形等渲染能力,又同时具备通用的单精度浮点处理能力,NVidia称之为GPGPU(General Purpose GPU),黄教主的野心是让GPU既能做游戏和渲染也做并行度很高的通用计算。

2006年,第一代GPGPU架构G80

屏幕快照 2018-04-02 下午4.36.53.png
G80有16组流式处理器Streaming Processors(SPs),每组SP里有16个计算核心,一共128个独立的计算核心,单精度峰值计算能力可达330 Gflops,而同期主流的Core2 Duo CPU只有50 Gflops的处理能力,更为重要的是从G80架构开始,GPU开始支持可编程,所有的计算密集型的并行任务都有可能通过程序移植在GPU上运行起来。

CUDA的编程模型

CUDA将GPU的并行计算能力做了一个非常好的抽象,并且让用户在接触CUDA编程的初期就彻底摆脱CPU的编程模式和思维模式,而是一种全新的、完全并行的编程模式和思维方式,这虽然在初期会有很大的推广障碍,但是一旦推广成功,对于发挥GPU并行性能和效率是非常合适的一种语言,这也是老黄下的一个很大的赌注。
CUDA将GPU的计算单元抽象成3个编程层次:Grids、Blocks和Threads,一个CUDA kernel在执行的前会先把数据和指令传到GPU上,在执行的时候会使用若干个Grids,一个Grid里含有多个Blocks,一个Block里含有多个Threads,调度上一个Block的Threads会调度到一个独立的Streaming Processors上执行,而16/32个Threads称为一个Warp,Warp是GPU上指令调度的最小单元,一个Warp会同时运行在16/32个计算核心上。
屏幕快照 2018-04-02 下午8.52.01.png

CUDA Everywhere战略

自从推出了CUDA以及对应的可编程平台G80开始,黄教主就开始和教育科研界的老师合作,主要是高性能计算领域的应用,让他们研究把计算密集型的任务搬到GPU上来,当然这些老师看到有这么新颖的架构出来,也是着实非常激动的,能多发论文了,一时间GPU上运行高性能计算任务的论文铺天盖地。
同时,老黄推行CUDA Everywhere战略,不管是PC机上的GeForce、Titan系列,还是数据中心的Tesla系列,还是移动设备上的Tegra系列芯片,全部采用统一的GPU架构,并且全部支持CUDA,现在甚至把所有的处理核心称之为CUDA Cores,这样众多开发者只需要在PC机上插上一块廉价的显卡,就可以做GPU和CUDA的并行程序的开发,并且只需要开发一遍,在所有CUDA设备上都可以执行。
除此之外,老黄还给开发者提供了各种开发者平台、基础软件库、高性能计算库、性能调优工具、集群管理运维工具、NGC(Nvidia GPU Cloud)等易于开发者开发和使用的平台和工具,进一步优化开发者生态系统。
到2017年,CUDA开发者数量已经达到了80万之多,CDUA下载数量超过800万,支持的GPU应用超过了500种,用于深度学习训练加速的cuDNN下载超过84万次。

性能增长超越CPU战略

NVidia从2006年推出Tesla架构以来,不断的更新架构和性能,陆续推出了Femi、Maxwell、Pascal还有最新的Volta架构,基本上保持着2年性能翻1倍的增长态势。
屏幕快照 2018-04-11 上午11.20.45.png
而对CPU的性能加速比,在单精度计算能力上保持着遥遥领先的态势,并且拉开的差距越来越大。
speedup.png

NVidia GPU在超算领域的发展

2009年,美国能源部橡树岭国家实验室的最新超级计算机“泰坦”,装备了18688颗NVIDIA Tesla K20/K20x,登上了全球超级计算机Top500的第一名,开始登上超级计算的历史舞台。
2017年,在全球超算大会SC17上发布的Top500中,由NVidia GPU加速的超级计算机达到了87个,在Green500的前20个能效比最高的超级计算机中,NVidia GPU占据了14个。

深度神经网络+NVidia GPU掀起人工智能浪潮

深度神经网络+NVidia GPU掀起了业界的人工智能浪潮,不得不说这只是老黄整体战略的一个副产品,谁也没有想到,高性能计算领域的一个分支--人工智能会如此火爆。
2011年,负责谷歌大脑的吴恩达通过让深度神经网络训练图片,一周之内学会了识别猫,他用了12片GPU代替了2000片CPU,这是世界上第一次让机器认识猫。
image.png
2012年,多伦多大学的Alex和Hinton用GPU加速的深度神经网络AlexNet在ImageNet图像识别比赛上获得冠军,这是第一次只通过深度学习打败了传统的图像识别算法。
2015年,微软研究院用GPU加速的深度神经网络,在ImageNet比赛中获得了多项击败人的辨识准确度,这是第一次机器视觉的识别率打败了人眼的识别率(错误率5%),可以认为是人工智能史上的一个重要里程碑事件。
1.png
2016年,谷歌旗下Deepmind团队研发的机器人AlphaGo以4比1战胜世界围棋冠军职业九段棋手李世石(AlphaGo的神经网络训练用了50片GPU,走棋网络用了174片GPU),引发了围棋界的轩然大波,因为围棋一直被认为是人类智力较量的巅峰,这可以看做是人工智能史上的又一个重大里程碑事件。
image.png

小结

NVidia GPU经过了12年在GPGPU领域的深度耕耘,建立了庞大的开发者生态系统,这个庞大的生态系统会自我驱动和自我发展,加上NVidia GPU正确的策略方向,NVidia GPU随着人工智能的浪潮到来而开始火爆,变得如此炙手可热。
深耕生态系统正是老黄的高明之处,也是需要耐得住寂寞和长期的前期投入的,没有相当的远见和定力的人是做不到的,通过长时间的投入建立起来的生态系统是竞争对手短时间内无法突破的门槛,不管是做云计算还是做人工智能芯片都是值得深度借鉴的。
但是NVidia GPU还是更擅长处理单指令多数据的任务和单精度的浮点计算,适合做简单的逻辑控制和大规模并行任务,但是对于一些整型计算、稀疏矩阵计算、非规整位宽计算、batch size=1的推理等方面计算能力还是不如FPGA和专用神经网络芯片,下一章继续聊聊别的人工智能芯片。

相关实践学习
在云上部署ChatGLM2-6B大模型(GPU版)
ChatGLM2-6B是由智谱AI及清华KEG实验室于2023年6月发布的中英双语对话开源大模型。通过本实验,可以学习如何配置AIGC开发环境,如何部署ChatGLM2-6B大模型。
目录
相关文章
|
4月前
|
数据采集 人工智能 监控
人工智能驱动的软件工程:测试左移的崛起价值
本文探讨了人工智能驱动下测试左移理念在软件工程中的重要性,分析测试工程师在需求评估、AI代码生成及遗留系统优化中的关键作用,揭示AI带来的挑战与机遇,并指出测试工程师需提升技能、关注合规与可维护性,以在AI时代保障软件质量。
337 89
|
1月前
|
人工智能 并行计算 PyTorch
以Lama Cleaner的AI去水印工具理解人工智能中经常会用到GPU来计算的CUDA是什么? 优雅草-卓伊凡
以Lama Cleaner的AI去水印工具理解人工智能中经常会用到GPU来计算的CUDA是什么? 优雅草-卓伊凡
223 4
|
8月前
|
人工智能
中国AI崛起与生成式人工智能(GAI)认证:驱动全球科技变革的人才战略
本文探讨了中国在人工智能(AI)领域的崛起及其对全球科技和经济的影响。文章回顾了中国AI研究的发展历程,从引进吸收到自主创新,政府政策支持与企业投入推动了AI技术的突破与广泛应用。同时,生成式人工智能(GAI)认证的重要性被强调,其为AI人才培养提供了专业标准,助力行业规范化发展。未来,中国将继续深化AI研究,加强国际交流,通过技能认证项目如GAI认证,为AI领域培养更多高素质人才,推动全球AI技术的繁荣发展。
|
10月前
|
机器学习/深度学习 人工智能 弹性计算
阿里云AI服务器价格表_GPU服务器租赁费用_AI人工智能高性能计算推理
阿里云AI服务器提供多种配置,包括CPU+GPU、FPGA等,适用于人工智能、机器学习和深度学习等计算密集型任务。本文整理了阿里云GPU服务器的优惠价格,涵盖NVIDIA A10、V100、T4等型号,提供1个月、1年和1小时的收费明细。具体规格如A10卡GN7i、V100-16G卡GN6v等,适用于不同业务场景,详情见官方页面。
1060 11
|
机器学习/深度学习 人工智能 算法
探索未来网络:量子计算的崛起
本文将探讨量子计算这一前沿技术,从其基本原理、发展现状到潜在应用进行全面剖析。我们将了解什么是量子计算,它与传统计算的区别在哪里,以及它在当前科技领域的重要性。同时,我们还将讨论量子计算面临的挑战和未来可能的应用方向。通过这篇文章,读者可以对量子计算有一个清晰而全面的认识,并思考其在未来发展中的潜力和影响。
238 27
|
存储 安全 网络安全
探索未来网络:量子互联网的崛起
【10月更文挑战第1天】本文旨在探讨量子互联网的基本概念、技术原理以及其对未来通信和网络安全的影响。通过对量子纠缠、量子密钥分发等核心技术的分析,揭示量子互联网如何实现超高安全性的通信,并讨论其在实际应用中的潜在挑战和发展前景。
201 3
|
安全 量子技术
探索未来网络:量子互联网的崛起
本文深入探讨了量子互联网的基本概念、技术原理及其对未来通信和信息安全的潜在影响。通过对量子纠缠、量子叠加以及量子不确定性等核心原理的解释,本文展示了量子互联网相较于传统互联网所具备的根本性优势,特别是在高安全性和高速度方面。
252 1
|
机器学习/深度学习 人工智能 算法
【眼疾病识别】图像识别+深度学习技术+人工智能+卷积神经网络算法+计算机课设+Python+TensorFlow
眼疾识别系统,使用Python作为主要编程语言进行开发,基于深度学习等技术使用TensorFlow搭建ResNet50卷积神经网络算法,通过对眼疾图片4种数据集进行训练('白内障', '糖尿病性视网膜病变', '青光眼', '正常'),最终得到一个识别精确度较高的模型。然后使用Django框架开发Web网页端可视化操作界面,实现用户上传一张眼疾图片识别其名称。
323 9
【眼疾病识别】图像识别+深度学习技术+人工智能+卷积神经网络算法+计算机课设+Python+TensorFlow
|
存储 安全 网络安全
探索未来网络:量子互联网的崛起
本文旨在探讨量子互联网这一新兴技术的概念、原理以及其对未来通信和网络安全的影响。通过介绍量子纠缠、量子叠加等核心概念,分析量子互联网相较于传统互联网的优势,如更高的安全性和传输效率。同时,讨论当前量子互联网的技术挑战及潜在解决方案,以期为相关领域的研究和实践提供参考。
180 1
|
机器学习/深度学习 人工智能 监控
人工智能与未来医疗:革命性技术的崛起##
本文探讨了人工智能在医疗领域的应用及其带来的变革。通过分析AI在疾病诊断、个性化治疗、药物研发和患者管理等方面的作用,揭示了这一技术如何提高医疗效率、降低成本并改善患者体验。文章还讨论了当前面临的挑战及未来发展的前景。 ##