写点什么

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

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

关注

评论

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

基于华为云弹性云服务器ECS(搭载openEuler的鲲鹏通用计算增强型)完成鲲鹏代码迁移工具实践【华为云至简致远】

科技云未来

鲲鹏服务器 弹性云服务器ESC

急了,Mysql索引中最不容易记的三个知识点通透了

知识浅谈

8月月更

一起来学华为云数据库,RDS实践【华为云至简致远】

科技云未来

云数据库

它们不一样!透析【观察者模式】和【发布订阅模式】

掘金安东尼

前端 设计模式 8月月更

永续合约交易所系统开发逻辑详情

开发微hkkf5566

10分钟快速入门RDS【华为云至简致远】

科技云未来

RDS

EMQ畅谈IoT数据基础软件开源版图,引领本土开源走向全球

EMQ映云科技

开源 物联网 IoT emq 8月月更

Qt下异步使用C++调用Python文件

Geek_163f36

基于华为云ModelArts的水表读数识别开发实践【华为云至简致远】

科技云未来

水表读数识别项目

国内部分手机游戏开始显示用户IP属地

郑州埃文科技

游戏 手游 IP归属地

调研阶段复盘

Geek_XOXO

复盘

mysql进阶(二十九)常用函数汇总

No Silver Bullet

MySQL mysql常用函数 8月月更

以数治企,韧性成长,2022 年中国 CIO 数字峰会成功举行

金蝶云·苍穹

运筹帷幄决胜千里,Python3.10原生协程asyncio工业级真实协程异步消费任务调度实践

刘悦的技术博客

Python 协程 Async Python3 协程原理

华为云分布式缓存服务Redis开通及使用规划教程【华为云至简致远】

科技云未来

redis'

科创人·优锘科技COO孙岗:错误问题找不到正确答案,求索万物可视的大美未来

科创人

写给 Java 程序员的前端 Promise 教程

CRMEB

QCon 回顾 | Data Fabric:逻辑统一、物理分散

网易数帆

大数据 数据湖 降本增效 Data Fabric

企业“数字化转型”成功的2个必备条件!

优秀

数字化转型

Java泛型的继承场景

Geek_163f36

基于ECS实现一分钟自动化部署【华为云至简致远】

科技云未来

自动化部署

APICloud AVM 封装日期和时间选择组件

YonBuilder低代码开发平台

安卓 低代码开发 多端开发

腾讯云产品可观测最佳实践 (Function)

观测云

*打卡—>什么是云数据库&&沙箱实验如何用python和数据库来爬虫?【华为云至简致远】

科技云未来

云数据库

华为云服务之弹性云服务器ECS的深度使用和云端实践【华为云至简致远】

科技云未来

弹性云服务器ECS

2022年中国全民健身发展白皮书

易观分析

行业分析 健身

Grid 布局介绍

CRMEB

用完华为云会议解决方案,我直接卸载了之前的会议软件【华为云至简致远】

科技云未来

云会议产品

Taro小程序跨端开发入门实战

京东科技开发者

小程序 taro 开发 移动端

2022纯手工打造1700道Java高级工程师面试宝典(含面试题解析)

Java工程师

Java 面试 八股文

Beetl使用记录

Geek_163f36

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