写点什么

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

  • 2015-06-04
  • 本文字数:852 字

    阅读完需:约 3 分钟

为了实现分布式机器学习领域中代码的共享与共同开发,分布式机器学习社区(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 接口基本能够满足各种分布式机器学习算法中的通信需求。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015-06-04 09:4511497
用户头像

发布了 268 篇内容, 共 133.5 次阅读, 收获喜欢 24 次。

关注

评论

发布
暂无评论
发现更多内容

React源码分析5-commit

goClient1992

React

倒计时第1天!2022 XDR网络安全运营新理念峰会即将开幕

未来智安XDR SEC

网络安全

最短的桥

掘金安东尼

算法 10月月更

SpringCloud-04 Feign学习笔记

游坦之

10月月更

SpringCloud-05 Hystrix学习笔记

游坦之

10月月更

使用注解 @requires 给 SAP CAP CDS 模型添加权限控制

汪子熙

云原生 CAP Cloud SAP 10月月更

盘它!基于CANN的辅助驾驶AI实战案例,轻松搞定车辆检测和车距计算!

华为云开发者联盟

人工智能 华为云 辅助驾驶 企业号十月 PK 榜

一天梳理完React所有面试考察知识点

beifeng1996

React

java培训哪家比较靠谱

小谷哥

React源码分析6-hooks源码

goClient1992

React

从输入URL到渲染的过程中到底发生了什么?

loveX001

JavaScript

长安链源码分析之交易过程分析(5)

杨帆:拆解研发流程,做好探索型项目的过程管理丨声网开发者创业讲堂 • 第 5 期

声网

技术管理 人工智能’

vue面试之Composition-API响应式包装对象原理

bb_xiaxia1998

Vue

大数据培训学习就业难吗

小谷哥

web前端开发培训女生学习怎么样

小谷哥

社招前端必会面试题(附答案)

loveX001

JavaScript

1024,我们干了点儿大事 | StarRocks 2.4 新版本特性介绍

StarRocks

数据库

长安链源码分析之交易过程分析(6)

关于JavaScript的本地存储方案

CoderBin

JavaScript 前端 LocalStorage 本地存储 10月月更

腾讯前端常考vue面试题整理

bb_xiaxia1998

Vue

前端培训机构包就业靠谱吗?

小谷哥

快递单信息抽取【二】基于ERNIE1.0至ErnieGram + CRF预训练模型

汀丶人工智能

nlp 算法、

从输入URL到渲染的过程中到底发生了什么?

loveX001

JavaScript

一道React面试题把我整懵了

beifeng1996

React

web技术分享| 虚拟 tree

anyRTC开发者

Vue 前端 Web tree antDesign vue

微信小程序wx.getLocation审核不通过的解决方法

源字节1号

前端开发 小程序开发

Java中的final关键字详解😁

共饮一杯无

Java final 10月月更

百度前端高频react面试题总结

beifeng1996

React

长安链源码分析之交易过程分析(7)

一次 Redis 事务使用不当引发的生产事故

悟空聊架构

redis 事务 悟空聊架构 10月月更 @Transactional

DMLC:最大开源分布式机器学习项目_GitHub_张天雷_InfoQ精选文章