GPU解决现代IT问题



图形处理单元(GPU)是为图形处理任务设计的技术如何扩展到无关的高性能计算领域的主要示例。 现代GPU是机器学习和数据分析领域许多复杂项目的核心。 在我们的评论文章中,我们将描述Selectel客户如何与GPU一起使用设备,并与Yandex数据分析学院的老师一起思考数据科学和计算设备的未来。

在过去十年中,GPU发生了很大变化。 除了生产率的极大提高外,还按用途将设备分开。 因此,用于家庭游戏系统和虚拟现实安装的视频卡在一个单独的方向上脱颖而出。 功能强大且高度专业化的设备出现了:对于服务器系统,领先的加速器之一是NVIDIA Tesla P100 ,它专为数据中心的工业用途而设计。 除了GPU,还在研究创建一种模仿大脑的新型处理器的领域。 一个例子是麒麟970单芯片平台,它具有自己的神经形态处理器,用于执行与神经网络和模式识别有关的任务。

这种情况使您考虑以下问题:

  • 为什么数据分析和机器学习领域如此受欢迎?
  • GPU如何主导数据密集型设备市场?
  • 在不久的将来,数据分析领域的哪些研究将是最有前途的?

让我们尝试按顺序处理这些问题,从第一个简单的视频处理器开始,到现代高性能设备结束。

GPU时代


首先,让我们回顾一下GPU是什么。 图形处理单元是广泛用于台式机和服务器系统的图形处理器。 该设备的一个显着特征是它专注于大规模并行计算。 与GPU不同,另一个CPU(中央处理器)的体系结构设计用于顺序数据处理。 如果常规CPU中的内核数以数十计,则在GPU中它们以数千计,这对执行的命令类型施加了限制,但在涉及并行性的任务中提供了很高的计算性能。

第一步


早期视频处理器的发展与对用于处理二维和三维图形的单独计算设备的日益增长的需求密切相关。 在70年代出现各个视频控制器电路之前,图像输出是通过使用离散逻辑进行的,这影响了功耗的增加和印刷电路板的大尺寸。 专用的微电路使开发用于图形处理的设备的开发成为可能。

下一个革命性事件是出现了新型的更加复杂和多功能的设备-视频处理器。 1996年,3dfx Interactive推出了Voodoo Graphics芯片组,该芯片组迅速占领了专用视频设备市场的85%,并成为当时3D图形领域的领导者。 在公司管理层做出一系列不成功的决定后,其中包括收购STB视频卡制造商,3dfx失去了NVIDIA和ATI(后来的AMD)的冠军,并于2002年宣布破产。

通用GPU计算


NVIDIA在2006年宣布发布GeForce 8系列产品线,这标志着专为GPU通用计算(GPGPU)设计的新型设备的开始。 在开发过程中,NVIDIA得出的结论是,以较低的频率运行的大量内核比少量生产力更高的内核对并行负载更有效。 新一代视频处理器不仅为处理视频流提供了并行计算支持,而且还为与机器学习,线性代数,统计以及其他科学或商业任务有关的问题提供了支持。



公认的领导者


CPU和GPU的任务初始设置的差异导致设备架构的重大差异-高频与多核。 对于GPU,这奠定了计算潜力,目前已充分实现。 具有大量弱计算核心的视频处理器在并行计算方面做得很好。 中央处理器历来被设计为可处理顺序任务,但仍是该领域中最好的。

例如,我们比较了在神经网络中执行常见任务的中央处理器和图形处理器的性能值-高阶矩阵的乘法。 我们选择以下设备进行测试:

  • 中央处理器 Intel Xeon E5-2680 v4-带有HyperThreading,2.4 GHZ的28个线程;
  • 显卡 NVIDIA GTX 1080-2560 CUDA核心,1607 Mhz,8GB GDDR5X。

我们在Jupyter Notebook中使用通过CPU和GPU计算矩阵乘法的示例:



在上面的代码中,我们测量了在中央或GPU(“运行时”)上计算相同阶矩阵所需的时间。 数据可以以图形的形式表示,在水平轴上显示矩阵相乘的顺序,在垂直轴上显示执行时间,以秒为单位:



图中的线条以橙色突出显示,显示了在传统RAM中创建数据,将数据传输到GPU内存以及后续计算所需的时间。 绿线表示计算视频卡内存中已经生成的数据所需的时间(不从RAM传输数据)。 蓝色显示中央处理器上的计数时间。 少于1000个元素的矩阵几乎同时被GPU和CPU乘以。 当CPU上的计算时间跳至1秒且GPU保持接近于零时,在2000年之前大于2000的矩阵可以很好地体现性能上的差异。

具有图形处理器的设备比没有图形处理器的设备更有效地解决了更复杂和实际的任务。 由于我们的客户在GPU设备上解决的问题非常多样,因此我们决定找出最流行的用例。

Selectel中谁能与GPU相处得很好?


马上想到的第一个选项就是采矿,这是正确的猜测,但奇怪的是,有人选择使用它作为将设备装载到“最大”位置的辅助方法。 在租用带有视频卡的专用服务器的情况下,工作负载中的空闲时间用于挖掘不需要专门安装(农场)即可接收的加密货币。

已经变得有些经典,与图形处理和渲染有关的任务总是会在具有图形加速器的Selectel服务器上找到自己的位置。 与组织带有视频卡的专用工作站相比,使用高性能设备执行此类任务可以使您获得更有效的解决方案。

在与客户的对话中,我们还会见了Yandex数据分析学院的代表,该学院使用Selectel的设施来组织测试教育环境。 我们决定了解更多有关学生和老师的活动,机器学习的热门领域以及年轻专家加入领先组织或创办自己的初创公司之后行业的前景的更多信息。

数据科学


也许,在我们的读者当中,不会有谁不会听到“神经网络”或“机器学习”这个词。 抛弃了这些词的行销变化之后,就以新兴且有希望的数据科学的形式获得了干燥残留物。

使用数据的现代方法包括几个主要领域:

  • 大数据 该领域的主要问题是无法在一台服务器上处理的信息量巨大。 从基础架构支持的角度来看,需要解决创建集群系统,可伸缩性,容错和分布式数据存储的问题。
  • 资源密集型任务(机器学习,深度学习等)。 在这种情况下,就会出现使用高性能计算的问题,这需要大量的RAM和处理器资源。 在此类任务中,积极使用带有图形加速器的系统。


方向数据之间的边界正在逐渐消除:用于处理大数据的主要工具(Hadoop,Spark)实现了对GPU计算的支持,并且机器学习任务涵盖了新领域并需要更多数据。 数据分析学院的师生将帮助我们更详细地了解。



很难高估数据工作和适当实施高级分析工具的重要性。 它甚至不关乎大数据,它们的“湖”或“河”,而是关乎信息的智能交互。 现在发生的事情是一种独特的情况:我们可以收集各种信息,并使用高级工具和服务进行深入分析。 业务部门引入了此类技术,不仅可以获取高级分析,还可以在任何行业中创建独特的产品。 最后一点在很大程度上影响并刺激了数据分析行业的发展。

新方向


我们到处都是信息:从互联网公司和银行业务的日志到大型强子对撞机实验的证词。 处理这些数据的能力可以带来数百万美元的利润,并为有关宇宙结构的基本问题提供答案。 因此,数据分析已成为商业界和科学界的一个独立研究领域。

数据分析学院培养了最好的专业专家和科学家,他们将来将成为该领域科学和工业发展的主要来源。 行业的发展也影响了我们作为基础架构提供商的地位-越来越多的客户要求服务器配置以执行数据分析任务。

客户面临的具体任务取决于我们应为客户提供的设备以及应朝着哪个方向开发产品线。 我们与斯坦尼斯拉夫·费多托夫(Stanislav Fedotov)和奥列格·伊夫琴科(Oleg Ivchenko)一起,采访了数据分析学院的学生和老师,并找出了他们使用什么技术解决实际问题。



数据分析技术


在培训期间,基础知识(基础高等数学,算法和编程)的学生将学习机器学习的最高级领域。 我们收集了有关使用带有GPU的服务器的信息:

  • 深度学习;
  • 强化训练;
  • 计算机视觉;
  • 自动文字处理。

学生在学习作业和学习中使用专业工具。 一些库旨在将数据带入所需格式,而其他库则旨在处理特定类型的信息,例如文本或图像。 深度学习是广泛使用神经网络的数据分析中最具挑战性的领域之一。 我们决定找出哪些老师和学生使用这些框架来与神经网络一起工作。



所提供的工具得到了创建者的不同支持,但是尽管如此,它们仍继续积极地用于培训和工作目的。 他们中的许多人需要生产设备来在适当的时间内处理任务。

进一步的发展和项目


像任何科学一样,数据分析的方向也会改变。 学生今天所获得的经验无疑将构成未来发展的基础。 因此,值得一提的是,该计划具有很高的实用性-一些学生在学习或学习后开始在Yandex实习,并将他们的知识应用于实际服务和服务(搜索,计算机视觉,语音识别等)。

我们与数据分析学院的老师讨论了数据分析的未来,他们与我们分享了他们对数据科学发展的看法。

根据“图像和视频分析”课程的老师弗拉德·沙胡罗Vlad Shahuro)的说法 ,计算机视觉中最有趣的任务是确保拥挤场所的安全,驾驶无人驾驶的车辆以及使用增强现实技术创建应用程序。 为了解决这些问题,需要能够对视频数据进行定性分析,并且主要开发用于检测和跟踪对象,通过面部识别人并对观察到的场景进行三维重建的算法。 讲师Victor Lempitsky是一门领先的深入培训课程,它向其方向选择自动编码器以及生成性和竞争性网络。

数据分析学院的一位导师分享了他对机器学习的传播和大规模使用的看法:

“从少数痴迷的研究人员中,机器学习正在变成普通开发人员的另一种工具。 以前(例如,在2012年),人们编写了用于在一对视频卡上训练卷积网络的低级代码。 现在,任何人都可以在几个小时内:

  • 下载已经训练好的神经网络的权重 (例如,在keras中);
  • 为您的任务提供解决方案( 微调,零镜头学习 );
  • 将其嵌入到您的网站或移动应用程序中(tensorflow / caffe 2)。

许多大型公司和初创公司已经在这种策略上取胜(例如Prisma),但仍有更多问题有待发现和解决。 也许整个机器/深度学习的故事将有一天像python或excel一样变得司空见惯。”

ShAD服务器基础结构的管理员Oleg Ivchenko表示 ,用于在标准数据集上进行深度学习的标准资源(例如CIFAR,MNIST)需要以下资源:

  • 6个CPU核心;
  • 16 Gb RAM;
  • 1个具有6-8 Gb显存的GPU卡。 这可以与PNY NVIDIA GeForce GTX 1060或MSI GeForce GTX 1070等图形卡匹配。

没有人可以准确地预测当今的未来技术,但是当存在一定的运动矢量时,您可以理解现在应该研究的内容。 在现代世界中,这有很多机会。

初学者的机会


数据分析的研究受到学生的高要求的限制:数学和算法领域的广泛知识,编程能力。 真正严肃的机器学习任务需要专用设备。 对于那些想更多地了解数据科学理论组成部分的人,数据分析学院与经济学院合作 ,开设了在线课程“ 机器学习导论 ”。

而不是结论


对此类设备功能的兴趣日益增长,推动了GPU市场的增长。 该GPU用于家庭游戏系统,渲染和视频处理任务以及需要常规高性能计算的位置。 数据挖掘任务的实际应用将深入我们的日常生活。 使用GPU可以最有效地精确执行这些程序。

我们感谢客户以及数据分析学院的师生共同编写该材料,并邀请读者更好地了解它们。

而且在机器学习,数据分析领域经验丰富,经验丰富的专家,不仅让我们看到Selectel 提供的带有图形加速器的服务器硬件租赁服务:从简单的GTX 1080到Tesla P100和K80,可以满足最苛刻的任务。

Source: https://habr.com/ru/post/zh-CN417721/


All Articles