研究人员报告“分布式深度学习”取得突破
2019年12月13日 由 KING 发表
782673
0
网上购物时我们通常会用几个关键词来搜索我们想要的产品,但是在拥有数以百万计的产品和购物者的世界中,将这些不明确的词与合适的产品进行匹配是信息检索中的最大挑战之一。
赖斯大学和亚马逊的计算机科学家采用了利用压缩传感功能的方法,表明他们可以节省训练计算机进行产品搜索和类似“ 极端分类问题 ” 所需的时间和计算资源。 论文作者Tharun Medini在包含约7000万个查询和超过4900万种产品的Amazon搜索数据集的测试中得出:“我们的训练时间快了大约7-10倍,我们的内存占用量比以前报道的大规模分布式深度学习系统的最佳基准性能要小½-¼。”
由于用户每天都要进行数百万次的在线搜索,因此亚马逊,谷歌和微软等科技公司拥有大量关于成功和失败搜索的数据。使用此数据进行一种称为深度学习的机器学习是向用户提供更好结果的最有效方法之一。
深度学习系统或神经网络模型是大量数学方程式的集合,这些数学方程式采用一组称为输入向量的数字,并将其转换为一组称为输出向量的数字。网络由具有多个参数的矩阵组成,而最新的分布式深度学习系统包含数十亿个参数,这些参数被分为多个层。在训练期间,数据被馈送到第一层,向量被转换,输出被馈送到下一层,依此类推。“极端分类问题”是可能产生许多结果的参数,因此有许多参数。用于极端分类的深度学习模型是如此之大,以至于通常必须在有效的超级计算机上进行训练,超级计算机是一套链接的图形处理单元(GPU),其中参数分布并并行运行,通常需要几天。
研究人员通过思想实验对其进行了描述,将一亿种产品随机分为两个不同世界中的三个存储桶,这意味着产品可以在每个世界中的不同存储桶中存放。经过训练的分类器可以将搜索分配给存储桶,而不是分配其中的产品,这意味着分类器只需要将搜索映射到三个产品类别之一即可。
他说:“现在,我向第一个世界中的分类器提供搜索,它显示为第三类,然后向第二世界中的分类器提供了搜索,它为第一类。搜索者最可能想要搜索的类别是这两个存储桶之间的共同点。如果看一下存储桶,世界有三个,一个世界有三个存储桶,一共有九种可能性。因此,我将搜索空间减少到九分之一,而我只付出了创建六个存储桶的成本。以此类推,我以线性方式支付了费用,并且得到了指数级的提高。”在对亚马逊培训数据库进行的实验中,Medini及其同事将4900万种产品随机分为10000个类或桶,并重复了32次。这将模型中的参数数量从大约1000亿减少到64亿。与具有类似参数的模型相比,分布式的方法对模型进行训练所需的时间和内存更少。
Medini说:分布式深度学习最重要的功能是它不需要并行处理器之间的通信。在思想实验中,这就是分离,独立世界的代表。他们甚至不必互相交谈。原则上,您可以在一个GPU上训练32个中的每个,这是使用非独立方法永远无法做到的。”