技术新进展!谷歌 AI 部门宣布发现新技术以加速 AI 神经网络训练

谷歌的张量处理器 ( TPU ) 和英特尔的 Nervana 神经网络处理器等人工智能加速器硬件有望加速人工智能模型训练,但由于芯片的架构方式,训练管道的早期阶段 ( 如数据预处理 ) 并没有从提升中受益。

这就是为什么近日 Google Brain ( 谷歌的人工智能研究部门 ) 的科学家在一篇论文中提出了一种名为 " 数据响应 " ( data echoing ) 的技术。

TPU、Nervana 与神经网络

TPU 是一种高速定制机器学习芯片,最初是在 2016 年 5 月由该公司进行的 I/O 开发者大会上推出的。搜索、街景、照片、翻译,这些 Google 提供的服务,都使用了 Google 的 TPU ( 张量处理器 ) 来加速背后的神经网络计算。

据称,TPU 与同期的 CPU 和 GPU 相比,可以提供 15-30 倍的性能提升,以及 30-80 倍的效率 ( 性能 / 瓦特 ) 提升。

TPU 设计封装了神经网络计算的本质,可以针对各种神经网络模型进行编程。

英特尔则于今年 1 月的 CES 2019 展会上发布了 Nervana 系列神经网络处理器的最新型号 NNP-I,这种芯片适用于企业级高负载推理任务的加速,计划于今年投入生产。

英特尔推出的 Nervana 神经网络处理器据称可以在训练任务上达到其竞争对手 GPU 的十倍速度。

Facebook 是英特尔的合作伙伴之一,而 7 月 3 日,英特尔还宣布将与百度合作开发英特尔 Nervana 神经网络训练处理器 ( NNP-T ) 。这一合作将全新定制化加速器,以实现极速训练深度学习模型的目的。

数据响应技术

研究人员表示,这种目前性能最好的数据响应算法可以使用较少的上游处理来匹配基线的预测性能,在某些情况下,可以抵消 4 倍慢的输入管道。

" 训练一个神经网络需要的不仅仅是在加速器上运行良好的操作,所以我们不能仅仅依靠加速器的改进来在所有情况下保持加速。" 合著者表示。

一个神经网络训练计划可能需要读取和解压培训数据,对其进行清洗、批处理,甚至对其进行转换或扩充。

这些步骤可以使用到多个系统组件,包括 cpu、磁盘、网络带宽和内存带宽。

在典型的训练环节中,人工智能系统首先读取和解码输入数据,然后对数据进行重组,应用一组转换对其进行扩充,然后将示例收集到批次中,并迭代更新参数以减少错误。

研究人员的数据响应技术是在管道中插入一个阶段,该阶段在参数更新之前重复前一个阶段的输出数据,理论上可以回收空闲的计算能力。

在实验中,团队使用在开源数据集上训练的 AI 模型,评估了两个语言建模任务、两个图像分类任务和一个目标检测任务上的数据响应。

他们将训练时间作为达到目标指标所需的 " 新鲜 " 训练示例的数量来衡量,并研究了数据响应是否能够减少所需的示例数量。

合著者报告说,除了一种情况外,所有情况下,与基线相比,数据响应所需的新例子都更少,而且训练也更少。

此外,他们注意到前面的响应被插入到训练环节中——即,在数据增强之前,与成批处理后相比,需要的新示例更少,并且在较大的批处理大小下,响应的性能偶尔更好。

该团队写道 :" 当训练管道在上游某个阶段遇到瓶颈时,所有的数据响应变量都至少达到了与基线相同的性能…… ( 这 ) 是一种提高硬件利用率的简单策略。"

" 数据响应是优化训练管道或增加额外工人来执行上游数据处理的有效替代方案,而这可能并不总是可行或可取的。"

此前,谷歌的神经网络还有过很多别的应用。麻省理工学院和谷歌人工智能实验室的研究人员提出了一种自动破译失传文字的神经网络算法。这一算法首次实现了古希腊迈锡尼文明时期 " 线形文字 B" 的自动翻译,准确地把 67.3% 的线形文字 B 同源词翻译成了希腊语。

谷歌还训练过两个神经网络,意图在嘈杂的环境里分离出目标人声。