2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

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

关注

评论

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

六个步骤,从零开始教你搭建基于WordPress的个人博客

华为云开发者联盟

网站 WordPress 搭建

3. 搞定收工,PropertyEditor就到这

YourBatman

Spring Framework 类型转换 PropertyEditor

让你的产品更懂世界:如何提升场景文本识别中的语言模型

华为云开发者联盟

神经网络 文字 语义

智慧社区服务平台开发,平安小区建设

t13823115967

智慧城市 平安小区

线程池的7种创建方式,强烈推荐你用它...

王磊

Java

IT民工闲话·点一盏灯

IT民工大叔

成长 IT 传承

我是如何拿到蚂蚁金服offer?看完2020年Java研发岗复盘经验总结,是时候让面试官懵逼了

比伯

Java 编程 架构 面试 程序人生

原来只想简单看一下String源码,没想到整理了这么多知识点

小Q

Java 学习 编程 面试 string

《Tensorflow:实战Google深度学习框架》.pdf

田维常

年终盘点 | 七年零故障支撑 双11 的消息中间件 RocketMQ,怎么做到的?

阿里巴巴云原生

阿里云 开源 云原生 中间件 消息队列

Android uni-app 封装原生插件

anyRTC开发者

uni-app android 音视频 跨平台 聊天室

刚刚,阿里云知行动手实验室正式开放公测了

阿里巴巴云原生

阿里云 开发者 云原生 k8s dubbo

记一次网络请求连接超时的事故

AI乔治

Java 架构 HTTP

“懂行”为舟,助互联网驶向“新蓝海”

mybatis分页插件如何实现?

田维常

mybatis

英特尔正式发布全新一代内存和存储产品

E科讯

实战排查|为什么遮挡推流摄像头,会导致播放绿屏?

阿里云CloudImagine

音视频 WebRTC RTC bug RTMP

“懂行人”携手互联网,创造未来无限可能

实践大于一切!Alibaba最新MySQL性能优化+高可用架构全彩版PDF

Java架构追梦

Java MySQL 学习 架构 面试

未雨绸缪,数据保护之NBU介质备份

华为云开发者联盟

安全 数据 保护

智能警务平台搭建,公安一体化警务实战解决方案

t13823115967

智慧公安 智慧警务系统开发

iOS面试基础知识 (二)

iOSer

ios 面试

JVM的艺术—JAVA内存模型

Java jdk JVM

智能合约DAPP软件系统开发

系统开发

警惕”被讲故事“ | 读《叙事改变人生》

邓瑞恒Ryan

读书笔记 哲学 创业心态 社会学 世界观

十一周作业

走走,停停……

tron波场智能合约系统软件开发|tron波场智能合约APP开发

系统开发

为了SpringBoot提交Tomcat执行,我总结了这么多

996小迁

Java tomcat 架构 springboot

微信昵称可以加雪花了,个性又好看

程序员生活志

工具 微信名 雪花

深入浅出 Go - sync/atomic 源码分析

helbing

Go 语言

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