当前位置: 首页 > 科技观察

微软开源核心技术,布局下一代产业格局

时间:2023-03-15 13:34:34 科技观察

还记得谷歌研究院在11月9日推出第二代开源机器学习软件库TensorFlow吗!谷歌声称,TensorFlow在构建和训练神经网络方面比第一代系统快五倍,并且可以支持CPU、GPU、台式机、服务器和移动计算等平台。TensorFlow吸引了开发人员的大量关注。  同一天,微软亚洲研究院还开源了分布式机器学习工具包DMTK。DMTK的开源版本包含了世界上最大的主题模型和分布式词向量模型,据说比同类模型高出几个数量级。以至于有开发者惊呼,微软怎么会开源这样的核心技术呢?  那么,什么是DMTK分布式机器学习包呢?这还要从DMTK的发展史说起。DMTK主要研发总监、微软亚洲研究院人工智能研究组首席研究员、卡耐基梅隆大学(CMU)博士生导师刘铁岩告诉记者,近年来,出现了三世界机器学习领域的主要趋势:更大规模的机器学习、更深层次的机器学习、更具交互性的机器学习,都是基于大数据和云计算的兴起。  微软亚洲研究院两年前开始开发DMTK分布式机器学习系统。首先,DMTK通过分布式计算部署满足大规模机器学习的需求。由于云计算和高性能处理器的普及,机器学习已经从单机环境扩展到多机环境甚至集群系统。分布式机器学习是通过在更便宜的集群系统上部署机器学习算法,将原来单机的计算能力扩展到数千台服务器。  DMTK开源版提供了一个简单高效的分布式机器学习框架,它由两部分组成:参数服务器和客户端软件开发包(SDK)。开发人员只需要几行代码就可以轻松地将他们开发的机器学习算法从单机环境扩展到多机或集群环境。这大大降低了机器学习的门槛。无论是高校研究人员还是商业机器学习开发者,都可以基于微软DMTK开源版轻松扩展机器学习算法的计算环境和计算资源,实现基于大数据的大规模机器学习。学习。  其次,DMTK还提供了丰富的机器学习算法,以满足更深更快的机器学习。目前开源的DMTK版本包含了两种独特的机器学习算法:LightLDA主题模型和分布式词向量模型。  什么是主题模型?互联网和社交平台催生了海量的文字内容。通过机器学习对这些内容进行数据挖掘,可以得到相关的主题(Topic),这是机器学习和文本理解的基础。据刘铁炎介绍,DMTK提供的LightLDA算法是目前世界上唯一可以训练超过100万个主题的机器学习算法。它只用了20台服务器(300多个CPU内核)来训练如此庞大的主题模型,这让其他类似系统望尘莫及。  去年获得国际数据挖掘大会(KDD)最佳论文奖的AliasLDA算法,需要多达10000个CPU核才能完成2000个题目的训练。LightLDA算法之所以能用比AliasLDA少得多的计算资源训练出高出几个数量级的模型,是因为它独创了高效的采样方法,使得计算复杂度与主题数量无关。这样无论训练多少主题,都不需要大规模的计算资源。据了解,LightLDA已经帮助微软多款重点产品实现了性能飞跃。  另一种更神奇的分布式词向量训练模型算法,可以更好的计算出两个词之间的“距离”。简单来说,以往通过搜索引擎搜索内容主要依赖于搜索关键词的精准匹配。如果搜索到的网页上出现与搜索关键词相同的词汇,则搜索到的网页链接将出现在搜索结果页面上。然而,在广告展示、话题探索、垂直搜索等应用领域,更需要语义层面的匹配,即语义相关性匹配。词向量模型通过挖掘文本数据,为每个词训练出数千个相关指标(维度),一个词有数千个维度就是一个向量,通过数学计算两个词向量之间的距离,可以有效表示词之间的语义相关性两个字。  DMTK中包含的分布式词嵌入模型是目前市场上唯一的多机版本的词嵌入模型,可以将单机的计算资源扩展到多机或集群,从而更快、更高效地学习更有效的词向量。分布式词向量模型将“搜索”推进到“探索”阶段,有望给整个搜索及相关行业带来颠覆性的变革。  据了解,DMTK已经应用于微软的Bing搜索引擎、广告、小冰等在线产品,实现更具交互性的机器学习。以微软小冰为例。作为一款聊天机器人,人类用户与小冰的平均对话轮数达到了18轮,而同类机器人中最领先的平均轮数只有1.5到2轮。这表明微软小冰在与人类对话中对相关词汇的“命中率”远高于同类技术,创造了更好的交互式机器学习体验。  DMTK开源版在Github开源社区发布一周以来一直处于Top10的位置。目前DMTK官网访问量已突破百万,DMTK可执行文件下载量已达10万次以上。GitHub的开发者也在一周之内给DMTK上千星,这是很多类似的开源项目好几年都达不到的人气。  同日开源的TensorFlow和DMTK有什么区别?记者了解到,目前谷歌开源的TensorFlow作为独立的深度学习工具并不支持分布式计算,而微软的DMTK开源版本则支持分布式计算。、异构、异步计算集群环境部署。另外,谷歌的TensorFlow主要是系统实现,不包括算法创新;而DMTK将两者都考虑在内,因此它可以使用更少的资源来训练N数量级较大的模型。  那么,为什么科技巨头纷纷开源机器学习技术呢?这是为了推动整个机器学习应用的普及,通过开源高端算法和软件,为人工智能和机器人产业开辟新的机遇。另一方面是更深层次地拉动各自的软件和算法生态,从战略技术制高点布局下一代产业格局。