我并不是做机器学习领域的,只能从 GPU 的角度来简单解释一下:

1 -

首先经过 Nvidia 十多年的辛勤耕耘,General-Purposed GPU 的市场领域已经大致成型了。GPU 计算密度高,片上带宽大,延迟高,异构节点(或者可以做到高成本的同构节点),控制能力薄弱,基本上就是 70 年代并行向量处理器的小型化。

CUDA 到今天比较成功的局面,是很多因素共同作用的结果:

  • 图形领域的计算通用化趋势:没有这个先决条件,GPU 就不会往通用方向迈出第一步,不会走到今天,很可能我们今天使用的是类似于 CELL 这样的 PPU / SPU 结构;

  • CPU 发展速度的放慢:CPU 是 GPU 在运算密集类应用领域的最大对手。如果 CPU 在任何有利于并行处理的方案上有所突破,例如超长向量、多路 SIMD 机、甚至 VLIW,那可能也没 GPU 什么机会了;

  • 大面积芯片成本下降和良率稳定:今日 GPU 的芯片面积已经赶超 CPU 了,面积越大良品率也比较难以维持;

  • 可并行数值运算规模的指数增长:比如视频分析,金融分析,图像处理和识别,这些都是天然并行、并且运算量爆棚的内容。没有这些内容,GPU 运算能力再高也无用武之地,这可能也是多年前向量机暴死的因素之一;

  • 新算法的发展:新算法将一些传统上可能不利于并行化的算法,强行的弄成了可以并行的,比如 Deep Learning。

这些都是 GPU 能够在密集计算领域逐渐重要起来、并且达到现在这个地位的关键因素。

但是,如果脱离了这些因素之后,比如传统的业务逻辑处理、数据库查询,以及大量无法并行化、数值化的领域,GPU 与生俱来的劣势就决定了它不能在这些地方更进一步。

因此,从这个角度来说,GP-GPU 已经到达了他们在 CS 领域的顶峰 —— 所有可并行数值计算领域,它已经是第一方案了,而不再是替代性或实验性方案。

2 -

对于 AI 领域,我从 @grapeot 那得到一句口传:The only way to make a true AI is ML.

不过传统的机器学习或者统计方案,比如分类树啦,线性回归啦,还有一些文本挖掘算法,其实都不太适合 GPU 去做,要么逻辑过多,要么前后依赖性强无法并行,要么数据 - 计算比太高 IO 背了锅。

但是 DL,一些语音识别算法,一些图像处理算法,这些可并行,且要反复迭代收敛的东西,通常都是 GPU 相对擅长的领域。

题 主还提到了无人驾驶汽车的视觉识别。无人驾驶汽车的视觉识别是个安全关键的、硬实时的任务,现有的专门为大数据量处理而做的 GPU 还做不到这一点。也正因为这个原因,再加上车载芯片成本不是关键因素,因此以后这个领域是 ASIC,还是 FPGA,还是改进后 GPU,或者是它们某种程度的混合,目前还不好说,取决于各家厂商的角力。

3 -

考虑到网络延迟、带宽和不稳定性问题,目前云渲染还是一个异端。这点 @叛逆者 也说了。当然现在很多云都可以有 GPU,但是他们往往不是为了图形,而是为了运行在云上的通用计算程序服务的。

博客投稿信箱:1(at)liliuping.com
Created by liliuping   www.liliuping.com

微信公众号:liliupingblog   每天一篇有趣的文章 

WXGZH.jpg