为了满足研究人员和开发者日益增长的各种需求,微软亚洲研究院于日前 将分布式机器学习工具包( DMTK )通过 GitHub ( https://github.com/Microsoft/DMTK ) 开源。 DMTK 由一个服务于分布式机器学习的框架和一组分布式机器学习算法构成,是一个将机器学习算法应用在大数据上的强大工具包。
无论是学术界的研究人员还是工业界的开发者, DMTK 可以帮助他们在超大规模数据上灵活稳定地训练大规模机器学习模型。当前版本的工具包包含以下几个部分:
1. DMTK 分布式机器学习框架:它由参数服务器和客户端软件开发包( SDK )两部分构成。参数服务器 在原有基础上从性能和功能上都得到了进一步提升——支持存储混合数据结构模型、接受并聚合工作节点服务器的数据模型更新、控制模型同步逻辑 等。客户端软件开发包(SDK )支持维护节点模型缓存(与全局模型服务器同步)、节点模型训练和模型通讯的流水线控制、以及片状调度大模型训练等。
2. LightLDA : LightLDA 是一种全新的用于训练主题模型,计算复杂度与主题数目无关的高效算法。在其分布式实现中,我们做了大量的系统优化使得 LightLDA 能够在一个普通计算机集群上处理 超大规模的 数据和模型。例如,在一个由8 台计算机组成的集群上,我们可以在具有 2 千亿训练样本( token )的数据集上训练具有 1 百万词汇表和 1 百万个话题( topic )的 LDA 模型(约 1 万亿个参数),这种规模的实验以往要在数千台计算机的集群上才能运行。
3. 分布式词向量:词向量技术近来被普遍地应用于计算词汇的语义表示,它可以用作很多自然语言处理任务的词特征。我们为两种计算词向量的算法提供了高效的分步式实现:一种是标准的 word2vec 算法,另一种是可以对多义词计算多个词向量的新算法。
此外, DMTK 提供了丰富且易用的 API 接口,能够有效降低分布式机器学习的门槛。机器学习的研发人员只需要专注于数据、模型和模型训练等机器学习的核心逻辑部分。
DMTK 还将在未来的版本中提供更多的功能和算法。我们希望开源分布式机器学习工具包可以促进学术界和工业界在大规模机器学习方面的创新。更多信息,请访问 http://www.dmtk.io/ 。
微软Project Oxford帮助开发人员创建更智能的应用
微软研究院软件无线电项目Sora正式开源
微软开源rDSN分布式系统开发框架
微软亚洲研究院官方网站:http://www.msra.cn
微软亚洲研究院人人网主页:http://page.renren.com/600674137
微软亚洲研究院微博:http://t.sina.com.cn/msra
微软亚洲研究院微信:搜索“微软研究院“或扫描下方二维码: