DMLC:最大开源分布式机器学习项目

为了实现分布式机器学习领域中代码的共享与共同开发,分布式机器学习社区(DMLC)近日正式发布。作为一个开源项目,DMLC的相关代码直接托管在GitHub中,并采用Apache2.0协议进行维护。DMLC项目的发起者陈天奇怪(网名)表示,项目最初的想法是减少分布式机器学习开发的成本以及新算法被大家接受测试的时间。目前,该项目已经集成了XGBoost、CXXNET及Minerva等机器学习库与rabit和参数服务器等系统组件。接下来,本文就对这些基础库及组件进行简单介绍。

XGBoost是一个大规模、分布式的通用Gradient
Boosting(GBDT、TBRT或者GBM)库。它在Gradient
Boosting的框架下实现了GBDT和广义线性模型等机器学习算法。通过采用分布式计算方法,XGBoost能够明显加快算法中迭代运算的速度。而作为一个快速、精确的分布式深度学习框架,CXXNET主要具有轻量、支持多GPU和分布式并行系统、非常好的可扩展性以及与其他语言之间的接口清晰等特性。它使用mshadow库为用户提供了良好的编程体验和高效的工作能力。与CXXNET不同的是,Minerva提供了一个高效灵活的并行深度学习引擎。它提供了一个类似Numpy的NDarray编程接口,并支持Python和C++语言。其天然的并行性保证了其能够高效地利用多GPU进行相关计算。

rabit是一个提供Allreduce和Broadcast容错接口的轻量通信框架。它简化了MPI的设计,在Allreduce和Boradcast操作的基础上加入了容灾的支持。其最大的特点在于可移植、可扩展以及非常可靠。另外一个通信框架——参数服务器(Parameter
Server),主要负责对XGBoost等应用提供分布式的系统支持。它支持工作机与服务器之间的异步、零拷贝键值对的通信。异步的参数服务器接口加上同步的Rabit接口基本能够满足各种分布式机器学习算法中的通信需求。

https://github.com/dmlc

时间: 2024-10-13 23:27:34

DMLC:最大开源分布式机器学习项目的相关文章

28款GitHub最流行的开源机器学习项目

http://ml.ailab.cn/article-76485.html 现在机器学习逐渐成为行业热门,经过二十几年的发展,机器学习目前也有了十分广泛的应用,如:数据挖掘.计算机视觉.自然语言处理.生物特征识别.搜索引擎.医学诊断.DNA序列测序.语音和手写识别.战略游戏和机器人等方面. 云栖社区特意翻译整理了目前GitHub上最受欢迎的28款开源的机器学习项目,以供开发者参考使用. 1. TensorFlow TensorFlow 是谷歌发布的第二代机器学习系统.据谷歌宣称,在部分基准测试中

个人第一个开源分布式项目distributeTemplate的实现三 网络通讯netty传输大文件

今天 我将讲讲网络通讯,这里我初始版本 由于采用的事Netty框架  所以 这里讲网络Netty在我们这里是怎么使用的,下周开始添加rpc lucene内容了 实现之后的0.2 0.3版本,后面将会去掉netty依赖 采用原生的NIO2 (aio) 异步非阻塞方式 实现自己网络通讯,也就是说 这部分可能会实现一个简单的但是比netty精简高效的网络框架,后期做出来 可能会单独开一个分支开源出来,netty说白了 就是 事件驱动 以及 NIO 加一些协议 以及 异常 处理,废话不多说了. 我最近

个人第一个开源分布式项目distributeTemplate的实现二 分布式配置以及上下文的维护同步

我们实现分布式 也是按照 这样一步一步来的,首先是公用的资源对象,第一个必须的公用资源 对象是配置,这配置交给用户外部填写 手动配置 并能维持同步 更新 所以需要一个配置对象 维护在内存里面,需要事件驱动监听配置文件的变化情况 ok下面来 看看代码是怎么做的 ,首先 配置 有多重配置方式 ini conf prop xml 各种方式本质上 我们分布式就是要各台主机 自己所在的节点 都能知道我在网络上情况,或者所可以找到像zookeeper 只要知道或者找到了 才能进行以后的通讯同步 我们为了能够

TensorFlow【机器学习】:如何正确的掌握Google深度学习框架TensorFlow(第二代分布式机器学习系统)?

本文标签:   机器学习 TensorFlow Google深度学习框架 分布式机器学习 唐源 VGG REST   服务器 自 2015 年底开源到如今更快.更灵活.更方便的 1.0 版本正式发布,由 Google 推出的第二代分布式机器学习系统 TensorFlow一直在为我们带来惊喜,一方面是技术层面持续的迭代演进,从分布式版本.服务框架 TensorFlow Serving.上层封装 TF.Learn 到 Windows 支持.JIT 编译器 XLA.动态计算图框架 Fold 等,以及

分布式机器学习的集群方案介绍之HPC实现

机器学习的基本概念 机器学习方法是计算机利用已有的数据(经验),得出了某种模型(迟到的规律),并利用此模型预测未来(是否迟到)的一种方法.目前机器学习广泛应用于广告投放.趋势预测.图像识别.语音识别.自动驾驶和产品推荐等众多领域. 在确定了问题模型之后,根据已知数据寻找模型参数的过程就是训练,训练过程就是不断依据训练数据来调整参数的迭代,从而使依据模型作出的预测结果更加准确. HPC的基本概念 HPC就是高性能计算或高性能计算集群的简写.为了追求高性能,HPC的工作负载一般直接运行在Linux系

了解微软开源核心机器学习技术DMTK

还记得11月9日Google Research推出第二代开源机器学习软件库TensorFlow吧,谷歌称在建立和训练神经网络方面,TensorFlow速度要比第一代系统快5倍,可支持 CPU.GPU.桌面机.服务器和移动计算等平台.TensorFlow吸引了开发者广泛的眼球. 就在同一天,微软亚洲研究院也开源了分布式机器学习工具包DMTK.开源版DMTK包含了目前世界上最大规模的主题模型和分布式词向量模型,据称比同类模型高了好几个数量级.以至于有开发者惊呼,怎么微软也能把这样的核心技术给开源了?

如何提高分布式机器学习系统的执行效率?

翻译自http://weibo.com/p/1001603913581535062112,作者是CMU邢波教授的高徒. 目前有很多开源的分布式机器学习和深度学习系统,例如DMLC,Spark,MLlib,Petuum,parameter server,Caffe,Torch,Theano和TensorFlow等等.然而,如何在集群上高效的执行分布式机器学习过程呢? 这要从机器学习算法的特点说起,机器学习算法与排序或数据库查询等算法不同,它是基于爬山(hill-climbing)的算法,通过多个计

分布式机器学习的故事

王益博士,称得上机器学习领域的资深从业者,本人之前有幸拜读过王益博士的一些paper和slides,对其从事的"分布式机器学习"方向尤感兴趣. 王益博士之前写过一篇<分布式机器学习的故事>,总结了自己从业多年的经验和感悟.可惜的是,这篇原始博文已经删除了,现在能找到的是原始的六篇讲稿素材:A New Era:Infrequent itemset mining:Application Driven:Implement Your MapReduce:Deep Learning:

GitHub 上 57 款最流行的开源深度学习项目

转载:https://www.oschina.net/news/79500/57-most-popular-deep-learning-project-at-github 本文整理了 GitHub 上最流行的 57 款深度学习项目(按 stars 排名).最后更新:2016.08.09 1.TensorFlow 使用数据流图计算可扩展机器学习问题 TensorFlow 是谷歌的第二代机器学习系统,按照谷歌所说,在某些基准测试中,TensorFlow 的表现比第一代的 DistBelief 快了2