在英特尔合作者的支持下,莱斯大学的计算机科学家今天将在奥斯汀会议中心展示他们的成果,作为机器学习系统会议的一部分。
许多公司正大举投资于图形处理器和其他专业硬件,以实现深度学习,这是一种强大的人工智能形式,是数字助理(如Alexa和Siri)、面部识别、产品推荐系统和其他技术的基础。例如,该行业的黄金标准特斯拉V100张量核心处理器的制造商英伟达(Nvidia)最近报告说,其第四季度的收入与去年相比增长了41%。
赖斯的研究人员创造了一种节约成本的图形处理器替代方案,这种算法被称为“亚线性深度学习引擎”(SLIDE),它使用通用的中央处理器(CPUs),不需要专门的加速硬件。
“我们的测试表明,SLIDE是第一个在中央处理器上进行深度学习的智能算法实现,在具有大型全连通架构的工业规模推荐数据集上,它的性能优于GPU硬件加速,”赖斯布朗工程学院的助理教授安舒马利·施里瓦斯塔瓦(Anshumali Shrivastava)说,他与研究生陈北迪(Beidi Chen)和塞隆·麦迪尼(Tharun Medini)一起发明了SLIDE。
SLIDE不需要图形处理器,因为它采用了一种完全不同的深度学习方法。标准的“反向传播”训练技术深层神经网络需要矩阵乘法,这是图形处理器的理想工作负载。通过SLIDE,Shrivastava,陈和Medini把神经网络训练变成了一个搜索问题,可以用哈希表来解决。
与反向传播训练相比,这从根本上降低了SLIDE的计算开销。施里瓦斯塔瓦说,例如,像亚马逊、谷歌和其他公司为基于云的深度学习服务提供的顶级图形处理器平台有8台特斯拉V100s,价格约为10万美元。
我们在实验室里有一个,在我们的测试案例中,我们采用了一个非常适合V100的工作负载,一个在大型、完全连接的网络中有超过1亿个参数的工作负载,这些参数适合于图形处理器内存,”他说我们用最好的软件包——谷歌的张量流——对它进行了培训,培训花了3个半小时。
“然后我们展示了我们的新算法可以在一个小时内完成训练,不是在图形处理器上,而是在44核的至强处理器上,”施赖瓦斯塔瓦说。
深度学习网络受到生物学的启发,其核心特征是人工神经元,是可以学习执行特定任务的小块计算机代码。深度学习网络可以包含数百万甚至数十亿人工神经元通过合作,他们可以通过研究大量的数据来学习做出人类水平的专家决策。例如,如果一个深层神经网络被训练来识别照片中的物体,它将使用不同的神经元来识别猫的照片,而不是识别校车。
“你不需要在每种情况下都训练所有的神经元,”麦迪尼说。“我们想,‘如果我们只想挑选相关的神经元,那么这就是一个搜索问题。’所以,从算法上来说,这个想法是使用局部敏感哈希来摆脱矩阵乘法。"
哈希是20世纪90年代为互联网搜索发明的一种数据索引方法。它使用数字方法将大量信息编码成一串称为散列的数字,如整个网页或一本书的章节。哈希表是可以快速搜索的哈希表列表。
陈说:“在张量流或平移体上实现我们的算法是没有意义的,因为他们想做的第一件事就是把你正在做的事情转换成矩阵乘法问题。”。“这正是我们想要摆脱的。所以我们从头开始编写自己的C++代码。”
Shrivastava说,SLIDE相对于反向传播的最大优势在于它是数据并行的。
“通过数据并行,我的意思是,如果我有两个数据实例要训练,比如一个是猫的图像,另一个是公共汽车的图像,它们很可能会激活不同的神经元,而SLIDE可以更新,或者独立地训练这两个,”他说。“这是对处理器并行性的更好利用。
“与GPU相比,另一个缺点是我们需要很大的内存,”他说。“主内存中有一个缓存层次结构,如果你不小心使用它,你可能会遇到一个叫做缓存抖动的问题,在这个问题上你会有很多缓存未命中。”
Shrivastava说,他的小组的第一次SLIDE实验产生了显著的缓存抖动,但他们的训练时间仍然相当于或快于GPU的训练时间。于是,他、陈和麦地那在1996年发表了初步结果arXiv并把他们的代码上传到了GitHub。几周后,英特尔联系了他们。
“我们来自英特尔的合作者认识到了缓存问题,”他说。“他们告诉我们,他们可以与我们合作,让它训练得更快,他们是对的。在他们的帮助下,我们的成绩提高了约50%。”
Shrivastava说,SLIDE还没有接近它的潜力。
“我们只是触及了表面,”他说。“我们仍然可以做很多事情来优化。例如,我们没有使用矢量化,也没有在中央处理器中使用内置加速器,如英特尔深度学习增强。我们仍然可以使用许多其他技巧来加快速度。”
施赖瓦斯塔瓦说,SLIDE很重要,因为它显示了还有其他实现方式深度学习。
“整个信息是,‘让我们不要被乘法矩阵和GPU内存所束缚,’”陈说。“我们的方法可能是第一个击败GPU的算法,但我希望它不是最后一个。这一领域需要新的想法,这是MLSys的一大特色。”
(转载:www.idcew.com)