近日,业内某AI平台研发负责人江州司马在信服云《云集技术学社》系列直播课上进行了《GPU在AI业务中的核心技术与应用》的分享,详细介绍了GPU的发展、GPU的架构以及如何利用GPU优化AI系统。以下是他分享内容摘要,想要了解更多可以关注云集技术学社。

看点一:GPU介绍

GPU指的是图形处理器,又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备上做图像和图形相关运算工作的微处理器。显卡用于协助CPU进行图像处理,作用是将CPU送来的图像信号经过处理再输送到显示器上,由主板连接设备、监视器连接设备、处理器和内存组成,GPU是显卡的处理器。

GPU分为独立GPU和集成GPU。独立GPU一般封装在独立的显卡电路板上,使用专用的显示存储器,独立显卡性能由GPU性能与显存带宽共同决定。独立GPU性能更高但因此系统功耗、发热量较大。集成GPU常和CPU共用一个Die共享系统内存。集成GPU的制作由CPU厂家完成,因此兼容性较强,并且功耗低、发热量小。但如果显卡运行需要占用大量的内存,整个系统运行会受限,此外系统内存的频率通常比独立显卡的显存低很多,因此一般集成GPU性能比独立GPU更低。

GPU的使用场景非常多,大的方面分为三个使用场景。第一个是HPC高性能计算,主要用于CAE仿真、物理化学、石油勘探等高性能计算场景。第二个是图形可视化/渲染,主要用于3D图形的加速渲染等相关细分场景。第三个是AI智能计算,主要用于图像识别、语音识别、情感分析、无人驾驶等相关细分场景。此外,像现在非常火热的数字孪生和元宇宙,它的背后也是由强大的GPU算力支撑。

谈及GPU的发展史,不得不提到英伟达、英特尔和AMD三大巨头。这三家公司在上世纪90 年代就进入了GPU市场。在2000年到2007年前后,由于个人PC的发展,GPU在游戏和个人桌面显示领域上有着非常大的市场需求,三大巨头的GPU主要围绕图形图像显示加速开发。2007年到2017年,三大巨头开始切入通用计算领域,GPU产品不仅应用于图形图像的加速显示,更应用于一般计算的加速场景。2018年后,各家公司GPU产品开始围绕人工智能算法的加速进行开发。回望国外GPU巨头的一个发展,会发现这样的一个有趣的现象,GPU巨头的股价尤其是英伟达、AMD在最近的三五年得到了飞速的发展,和他们对应的GPU产品的算力提升几乎是一致的。

看点二:GPU架构

由于现在市面上GPU的主流产品主要还是英伟达的软硬件产品占主流,因此以英伟达为例,在英伟达的GPU架构当中有几个核心的概念,比如SP、SM、cuda core、tensor core等。SP是cuda core,意思是一个线程在每个时钟周期里执行一条浮点或整数指令。SM又包含一组cuda core,多个cuda core可以并行执行。而tensor core是在最新的几代GPU架构中出现的硬件执行单元,专门用于做矩阵乘法加速。

英伟达 Tesla GPU的算力发展经历了十多年的变迁,早期的Fermi架构只有512个cuda core ,而2020年发布的A100已经有6912个cuda core,在这十几年的演变从物理算力来看已经发展了十倍,同时还增加了像tensor core这样具有创新性的硬件加速单位,促进了AI的运行计算。

目前,行业为实现AI计算,主要采用的芯片有通用型的GPU、可定制的FPGA、以及专用的ASIC。而GPU,尤其是英伟达的GPU,由于cuda统一的开发模型以及成熟的软件站,它的开发周期相对较短,因此现在AI领域所有的应用开发和AI框架都是基于GPU开发的。

AI三要素分别是数据、算力和算法。数据被视为AI的燃料,只有具备足够多的数据,AI的应用才有可能发展。缺少了数据,AI是不可能发展的。但是有了数据之后,就要考虑如何去挖掘数据的价值,如何利用算力更快地挖掘数据的价值。因此算力在AI领域又被称为发动机。有了数据有了算力,挖掘什么样的价值以及如何挖掘价值,那就要考虑算法。

在AI领域,现在用的最多的是深度神经网络。深度神经网络早在上个世纪七八十年代就已经被科学家提出,但是到上个世纪末,深度网络都没有在应用中得到广泛的普及。其中主要的原因就是在上个世纪及2000年初,计算机的算力还不足以支撑当时神经网络的计算,导致算法迟迟不能在工业场景落地,而随着GPU的性能的逐步提升,让深度神经网络的算法能够以更高效的速度进行运算。因此人工智能得到发展也是大大得益于算力的发展。

随着在AI领域算法的复杂度越来越高、模型的参数量越来越多,对于算力的要求以及计算加速的需求也逐渐增大。由于AI的模型越来越复杂,对于AI计算优化的需求比较旺盛,因此需要解决AI系统的计算性能问题。

一般来说评估一个AI系统的性能,主要有两个指标,第一个是算力,算力指的是每秒峰值浮点运算次数,是一个 AI系统的性能上限。第二个指标是带宽,带宽的意思是每秒峰值内存数据的存储量。在优化AI系统的时候,都会从这两个维度去评估是否已经达到了物理的极限,如果没有就要采取相应的优化措施使其达到或者尽可能接近物理的上限,这样整个AI的系统的计算性能才有可能是最优的。

看点三:GPU在AI领域的应用

在AI领域中,GPU的应用主要有两个场景,第一个是训练场景,即利用GPU加速AI算法的训练。利用GPU加速AI算法迭代训练又分为单机单GPU、单机多GPU、多机多GPU三种情况,其中最简单的是单机单GPU。单机多GPU指的是在一台服务器上利用多个GPU进行算法训练。多机多GPU是将数据或者模型分布到不同的节点进行协同计算。多机多GPU又分为模型的并行和数据的并行两种计算方式,现在业界重点或者主流的分布式的策略都是数据并行的这种方式。

现有的AI算法,即深度学习算法,卷积层占整个卷积神经网络计算时间的90%以上,卷积计算的本质是是矩阵乘法,其优化主要有三种类型,一是算法层面基于FFT或WINOGRAD的加速。二是利用各个GPU的厂家深度优化的矩阵乘法库,像cuBlas,英特尔的MKL等等。三是在硬件层面,比如使用tensor core、cube等等去专门优化矩阵的乘法。

另外,GPU还有一种加速AI训练速度的方式就是利用低精度指令来加速AI的计算。GPU指令也分为单精度、半精度和整型三类。精度越低、指令的吞吐越强,但是数字表达能力越弱。在开发的时候默认使用的是单精度的制定,训练出来的模型直接可以使用,但是如果考虑到加速,就不得不在算法层面进行一些优化,使得在低精度的条件下,也能够让模型的训练的效果满足业务的要求。

第二个场景是推理场景,即利用GPU加速AI算法推理。AI模型优化和AI系统编译优化是实现AI推理计算优化的两个核心路径。针对AI模型,GPU可以通过低精度的加速计算、张量分解、网络剪枝等多种方式进行优化。针对AI系统编译,GPU则可以利用硬件体系中立的计算图优化和硬件体系相关的优化和代码生成。

针对AI训练和推理的计算优化,深信服也构建了云边协同AI异构计算平台。利用AI算法,深信服探索了像病毒文件高层次特征提取技术、网络安全异常检测技术、数据智能分级分类技术等在实际业务中的AI应用。

还想学习云计算的更多内容吗?敬请锁定下期直播,云集技术学社还将邀请更多的专家,分享他们对云计算技术的理解和实践经验。

GPU在AI业务中的核心技术与应用相关推荐

  1. Industry AI Live | BERT在美团搜索业务中的应用

    「Industry AI Live」是 biendata 的学术直播间,旨在帮助更多的青年学者宣传其最新科研成果.我们一直认为,单向地输出知识并不是一个最好的方式,而有效地反馈和交流可能会让知识的传播 ...

  2. 深度学习核心技术精讲100篇(三十)-ClickHouse在字节跳动广告业务中的应用

    前言 广告是支撑互联网高速发展的经济基石,也是很多互联网公司的重要收入来源.字节跳动的广告平台管理着 EB 量级的数据和服务着数以千万的商业用户,其中 ClickHouse 作为核心引擎支撑了海量数据 ...

  3. GPU、AI芯片技术市场分析

    GPU.AI芯片技术市场分析 市场将高速增长,GPU曙光初现,预计到2024年,国内人工智能技术市场规模将达到172亿美元:全球占比将从2020年12.5%上升到15.6%,是全球市场增长的主要驱动力 ...

  4. AI业务强劲增长,百度迎来了“推卒过河”的纵横时刻

    文|螳螂观察 作者| 陈淼 科技创新面临的处境与机遇大多与中国象棋中的"卒"相似--单次只能走一步,不像其他棋子一次能走多步,然而一旦"推卒过河"," ...

  5. 论软件定义GPU对AI数据中心优化的必要性

    作者 | 陈飞 来源 | 趋动科技 摘要: 今天AI数据中心为企业提供了深度学习开发.测试和生产所需的软硬件环境.然而,GPU作为高价值硬件,却并没有做到像SDN网络.分布式存储一样的数据中心级统一运 ...

  6. python算法教程百度云_如何用免费GPU学习AI算法?这篇算法资源大集锦别错过

    飞桨开发者投稿 上一次写了篇薅GPU百度AI Studio计算资源的文章,收到很多AI算法初学者私信,问我能不能补充一些AI Studio的学习资源.有求必应向来是我的风格,于是我加入了AI Stud ...

  7. RTC业务中的视频编解码引擎构建

    正文字数:6146  阅读时长:9 分钟 视频编解码技术一直是视频内容应用中的核心业务,基于各个平台和各个渠道的视频内容采集与分发都涉及到视频编解码技术的介入.在RTC业务场景下,如何构建高效快速的视 ...

  8. 隐私数据在隐私AI框架中的安全流动

    作者 | Rosetta技术团队 责编 | 晋兆雨 出品 | AI科技大本营 本文中,我们将介绍为了保护用户的隐私数据,在隐私  AI  框架的计算任务全流程中,数据是如何以密文形式流动,同时仍正确完 ...

  9. 特征工程在实际业务中的应用!

    Datawhale干货 作者:知乎King James,伦敦国王大学 知乎|https://www.zhihu.com/people/xu-xiu-jian-33 导读:大概知道特征工程,但是不清楚特 ...

最新文章

  1. 程序连接不上mysql数据库文件_数据库问题(程序连接mysql错误)
  2. 基于深度学习的特征提取和匹配
  3. wpf计算字符大小占像素_[读书笔记]《计算机科学速成课》——23 屏幕与2D图像显示...
  4. Python3 replace()实现字符串替换
  5. scala list 接受java string_「软帝学院」Java零基础学习详解
  6. TensorFlow2-生成对抗网络
  7. 【转】C#中的命名空间namespace全解
  8. linux free 物理内存,Linux free显示系统内存使用
  9. 54版本火狐浏览器、firebug及firepath的安装
  10. VMware虚拟机安装Windows 7
  11. mac终端常见命令大全
  12. 计算机不断重启 病毒,电脑中病毒后一直自动重启怎么样解决
  13. 【React】利用Dooringx快速制作H5搭建平台
  14. Android高级UI系列教程(二)
  15. Windows“启动”文件夹
  16. 【C语言】逗号表达式
  17. 瞬态抑制二极管和esd静电管的区别
  18. 如何利用python给女友制造惊喜(微信每日weather report)
  19. Android开发学习之基于ZBar实现微信扫一扫
  20. 如何利用Matlab对Comtrade99格式的故障录波文件进行数据读取

热门文章

  1. 【CSS】如何设置文字在一排显示且有省略号
  2. carsim学习日记1
  3. :6W2H八何分析法
  4. 如果爱情可以这么美好,今生一定无悔!
  5. 用循环不停地输出2的倍数
  6. Qt自定义控件 -- 仪表盘01
  7. 《首席产品官》成海清 著 图书目录 思维导图
  8. 《Python 1》--python的简介、解释器、读取键盘输入函数、变量类型推断、5个标准数据类型、字符串的内置函数、for循环、list列表、tuple元组、字典dictionary
  9. 在知识蒸馏中不要忘记教师网络detach()
  10. Eclipse工程中Android Dependencies出错的解决方式