社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

分布式深度学习重大突破!MACH算法仅需25%的内存,速度快10倍

AI前线 • 6 年前 • 623 次点击  
作者 | 李冬梅
AI 前线导读: 在刚闭幕不久的 2019 年 NeurIPS 大会上,美国莱斯大学(Rice University)研究员 Anshumali Shrivastava 宣布他们在分布式深度学习方面取得了新的突破——MACH 算法。曾有文章讨论过为什么推理工作负载能在相当廉价的硬件上运行,训练神经网络的工作负载本身所需的成本却要高出几个数量级。为解决这一问题,他们与亚马逊合作,最终训练计算机处理产品搜索和其他“极端分类问题”所用的时间比原来缩短了 7 到 10 倍,所占用的内存减少了 2 到 4 倍。

更多优质内容请关注微信公众号“AI 前线”(ID:ai-front)
为什么要研究 MACH 项目?

曾有文章讨论过为什么 推理 工作负载(这里所说的“推理工作负载”指的是用已经训练好的神经网络分析数据)能在相当廉价的硬件上运行,但训练 神经网络 的工作负载本身所需的成本要高出几个数量级。尤其是算法中加入的潜在输入越多,分析其问题空间时可伸缩性问题就会变得越失控。这就是为什么莱斯大学 Tharun Medini 和 Anshumali Shrivastava 会进行 MACH 项目的研究。MACH 是 Merged Average Classifiers via Hashing(通过哈希法合并平均分类器)的首字母缩写,据项目负责人 Shrivastava 称,MACH 的训练时间比以前那些大型深度学习技术快 7~10 倍,占用内存小 2~4 倍。

在描述极端分类问题的体量时,Medini 称,“网上购物搜索查询时需要对海量的信息进行筛选,网上可能有上亿件商品,这还只是个保守数字。据一家数据公司统计,亚马逊美国这一个大区就销售了 6.06 亿种不同的商品,而亚马逊整个公司在全球所有地区销售的商品种类达到 30 多亿种。”Medini 继续说,“一个接收搜索输入并对一亿个输出(或商品)进行预估的神经网络,最终得出的结果是每件商品约有 2000 个参数,如果把它们相乘(一亿件商品 * 每件商品 2000 个参数),神经网络的最后一层将得到 2000 亿个参数,这还只是一个非常简单的 神经网络模型。”

在这种庞大的体量下,哪怕一台超级计算机也需要 TB 级的内存来存储模型。如果搭载 GPU,内存问题就会变得更糟糕。GPU 处理神经网络工作负载的速度比常规 CPU 快很多,但 GPU 的内存相对较小——就算最昂贵的英伟达 Tesla GPU 也仅有 32GB 内存。Medini 称,“大规模 GPU 间通信导致无法训练这样的模型。”

MACH 算法好在哪儿?

据 Medini 称,产品搜索具有挑战性是因为产品种类体量过大。“例如,英语中大约有 100 万个单词,但是网上很容易就能搜索出来 1 亿个产品。”

MACH 在训练时采用了一种非常不同的方法。Shrivastava 通过一个思维实验来描述它,这个实验随机地将 1 亿件产品分成 3 个“桶”,做两次,第一次分类后的 3 个“桶”放在“世界 A”里,第二次分类后放在“世界 B”里。在每个“桶”中你可以找到手机、T 恤或鱼竿。

Shrivastava 称:“现在我把结果输入到‘世界 A’的分类器里,结果是‘桶 3’,我把搜索结果输入到‘世界 B’的分类器中,结果是‘桶 1’。那我们就不禁会问,这个买家在想什么。”

其实,这个买家最有可能想买的类是这两个“桶”的交集部分。这个交集就是“世界 A”中的 3 种可能乘以“世界 B”中的 3 种可能,或者说是 9 种可能。Shrivastava 称,“我把搜索空间缩小到 1/9,而我只支付了创建 6 个类(2 个‘世界’共 6 个‘桶’)的费用。”

在 Amazon 这个实验中,模型的训练花费的时间和 内存 比一些带有可比参数的模型最佳训练时间要少,包括谷歌的“低密度专家”mix(MOU)模型。但是,最值得注意的事实是,MACH 算法不需要并行处理器之间的任何通信,这使得算法具有极强的可扩展性,因为处理器之间的通信可能成为算法的瓶颈。所有这些特点使得 MACH 算法在语音翻译和回答一般问题方面非常高效。

结语

数以百万人都会按照自己的方式购物,也有一些人会搜索关键词来查找商品。很多人开始时并不确定他们想要买什么。但是由于线上每天都会执行数百万个搜索,像亚马逊、微软谷歌 这样的科技公司拥有大量搜索成功和失败的数据。用这些数据训练深度学习,是为用户提供更好搜索结果的最有效途径之一。

莱斯大学背景介绍:

莱斯大学是座落于美国德克萨斯州休斯顿市的一所私立的研究型综合性大学。莱斯大学以其精英的本科学部著称,小而精致,同时有着优秀的应用科学和工程学研究生项目,是美国最著名的大学之一,素有南方哈佛之称。莱斯大学在材料科学、纳米科学、人工心脏研究、以及太空科学、能源经济等领域占有世界领先的地位。

参考链接:

https://dzone.com/articles/mach-algorithm-a-breakthrough-in-distributed-deep

https://www.sciencedaily.com/releases/2019/12/191209161341.htm

活动推荐

2020新年来临之际,作为团队Leader的你,想好怎么犒劳忙碌一整年的团队了吗?推荐一款充满惊喜的礼物,从面子上来看,打败一切传统礼品,新鲜活泼;从里子上来看,一张极客时间VIP年卡,承包团队一整年的学习成长计划,更有4种超值好礼,扫码立即探秘:

今日荐文

点击下方图片即可阅读

一通AI骚扰电话罚款7万;阿里架构再调整:鲁肃接棒行癫任 CTO;2030年金融领域将因AI减少130万个岗位 | AI一周资讯


你也「在看」吗?👇

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/51690