【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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:4511001
用户头像

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

关注

评论

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

Mongodb异常关闭,再次启动报错

MySQL从删库到跑路

mongodb

分布式系统的核心:共识问题

多颗糖

分布式计算 计算机基础 分布式系统 架构师

区块链3.0时代:大规模商业应用开发即将实现

CECBC

区块链 数字金融

spring-boot-route(二)读取配置文件的几种方式

Java旅途

Java Spring Boot

Springboot 邮件任务

hepingfly

springboot 发送邮件

架构师训练营第 1 期 week3

张建亮

极客大学架构师训练营

架构师训练营第 1 期 week2

张建亮

极客大学架构师训练营

设计模式第三周总结「架构师训练营第 1 期」

天天向善

集中日志系统ELK

Java个体户

ELK

Golang单例模式手写稿

Jacky.Chen

区块链可以为物联网做些什么?

CECBC

区块链 物联网

第三周-代码重构-学习总结

刘希文

Linux忘记root密码怎么办

MySQL从删库到跑路

Linux 服务器 root密码 root

vagrant 开发环境配置

孙志平

LeetCode题解:242. 有效的字母异位词,数组计数,JavaScript,详细注释

Lee Chen

大前端 LeetCode

架构师训练营第 1 期 week2 总结

张建亮

极客大学架构师训练营

最完整的PyTorch数据科学家指南(2)

计算机与AI

学习 PyTorch

架构师训练营第二周作业

xs-geek

架构师训练营 - 作业 - 第三周

Max2012

week03

……

为什么Rust的println!不会发生所有权转移?

袁承兴

rust 元编程

第三周作业

极客大学架构师训练营

架构师训练营 Week3 代码重构 - 学习总结 设计模式

spring 设计模式 JUnit

[Python3]三子棋游戏!祝大家中国71周年国庆节快乐!

MengZian

Python

架构一期第三周作业

Airs

第三周作业

icydolphin

极客大学架构师训练营

设计模式第三周作业「架构师训练营第 1 期」

天天向善

单例模式 组合模式

Week 3 Assignment

Yinan

JD-GUI反编译jar包为Java源代码

MySQL从删库到跑路

Java jar 程序员 Spring Boot jar包的小秘密

架构师训练营第二周总结

xs-geek

当区块链遇见共享经济,会碰撞出怎样的火花?

CECBC

区块链

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