本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

报码:【j2开奖】深度 | 机器学习中的并行计算:GPU、CUDA和实际应用

时间:2016-11-11 19:17来源:118图库 作者:本港台直播 点击:
参与:吴攀、李亚洲 如果机器学习任务无法使用并行处理,那么经济价值就无法得到体现,但是并行可能是一件比较麻烦的事。这篇文章对基于 GPU 的并行和 CUDA 框架进行了介绍性的

参与:吴攀、李亚洲

如果机器学习任务无法使用并行处理,那么经济价值就无法得到体现,但是并行可能是一件比较麻烦的事。这篇文章对基于 GPU 的并行和 CUDA 框架进行了介绍性的概述,并且还谈到了作者对实际实现并行的一些想法。

传统上(不管这里的传统到底是什么意思),机器学习是在一个单处理器环境中执行的,其中算法的瓶颈可能会导致模型处理过程中出现极大的延迟——从训练到分类、再到距离和误差计算等等。除了最近对神经网络训练的利用,许多机器学习(包括 scikit-learn 这样现成的库和开发者自己实现的算法)都没有使用到并行处理。

这种并行处理(在这里是指在共享内存架构上的并行执行)的缺乏妨碍了我们使用大量并发式执行的线程(concurrently-executing threads),这些线程可以分别执行不同的任务以实现有经济价值的性能表现。缺乏并行性的原因是多种多样的,其中至少有一点是:并行编程(parallel programming)很难。事实也确实如此。

  

报码:【j2开奖】深度 | 机器学习中的并行计算:GPU、CUDA和实际应用

图 1:并行问题的大概形式

当然,并行处理不是万能魔法,并不是对每一种情形都适用;另外在将并行处理整合进某个项目中时,还要考虑实际和理论上的算法设计问题。但是,因为大数据(Big Data)包含了非常大量的数据,其相关的问题也正越来越依赖于常规的机器学习,所以考虑到并行可能在算法执行的时间节省等问题上所带来的价值,其所可能具有的麻烦就是值得我们去面对的了。

在图形处理器(GPU)上的通用计算

在适当情况中最常用的并行以及这篇文章的重点是使用图形处理单元上的通用计算(GPGPU),这种方法是利用现代高端图形处理器(GPU)的大量处理内核来同时执行计算成本高的任务。尽管并非所有的机器学习任务(或其它软件任务的集合)都受益于 GPGPU,但毫无疑问目前已有大量的高计算成本和高时间成本的任务可以享受到 GPGPU 的优势。修改算法以使其中一些特定的任务可使用 GPU 并行能够为任务的性能表现和完成速度带来显著的提升。

  

报码:【j2开奖】深度 | 机器学习中的并行计算:GPU、CUDA和实际应用

图 2: Flynn 分类法。左上:单指令流单数据流(SISD);左下:多指令流多数据流(MISD);右上:单指令流多数据流(SIMD);右下:多指令流多数据流(MIMD)

GPGPU 范式符合 Flynn 分类法中的「单程序多数据(SPMD)」架构,这不同于传统的多核 CPU 计算范式。

报码:【j2开奖】深度 | 机器学习中的并行计算:GPU、CUDA和实际应用

图 3:MIMD 的单程序多数据(SPMD)分支

该指出的是,尽管这些修改无疑能有利于处理非常大的数据集(这就是大数据(Big Data)的意思),但它们的实现对小得多的数据也能有很好的效果。一些特定的任务可能不管数据大小如何,其计算成本和时间成本都很高。将这些并不必需串行处理的任务并行化也能在小数据上带来好处。

机器学习算法还可以通过并行处理具有许多相同算法的常见任务来实现性能提升,比如执行矩阵乘法(许多分类任务会用到)、回归、聚类技术、以及特别有价值的线性回归。对于这种在任务执行延迟上的理论加速,还需要说明的一点是:Amdahl 定律说明在整个任务的执行上的理论加速会随着每个系统的资源的增量提升而增加。但是,不管整体的提升幅度如何,理论上的加速都会受到不能受益于并行改进的任务组分的限制。所以它存在一个极限,就像木桶只能装符合最短木板的那么多水一样。

要更深入地了解通用并行计算,请参考来自劳伦斯利物摩尔国家实验室 Blaise Barney 的详细介绍《Introduction to Parallel Computing》:https://computing.llnl.gov/tutorials/parallel_comp/

CUDA 并行编程框架

来自英伟达的 CUDA 并行编程框架是 GPGPU 范式的一种特定的实现。CUDA 曾经是 Compute Unified Device Architecture(计算统一设备架构)的缩写,但英伟达放弃了这种解释,现在就仅使用 CUDA。这种架构可以使用通过 GPU 加速(GPGPU 的另一种说法)的机器学习并行化,它需要特别的条件才能有效地管理可用资源和提供最大化的执行速度增益。

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容