QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

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

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

关注

评论

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

移动应用架构与React Native、Flutter的关联

Onegun

flutter 移动应用 ReactNative 软件应用架构

阿里P9架构师推荐的Spring领域巅峰之作,颠覆了我对Spring的认知

程序知音

Java spring java架构 Java进阶 后端技术

我的 UI 组件库发布了!

DUFU

JavaScript Svelte 移动端 Tailwind UI组件库

SSH和SFTP是否相同

镭速

低代码开发:构建企业数字化生态系统的秘密武器!

加入高科技仿生人

低代码 数字化 企业数字化 数字转型

在 Kubernetes 上实现高速应用交付

NGINX开源社区

nginx Kubernetes

财务共享真的有价值吗?

用友BIP

财务共享

阿里大佬随手甩出一份覆盖全网的微服务架构笔记,让我涨薪60%

程序知音

Java 微服务 spring-cloud 后端技术 spring-boot

能让中国联通青睐的财务共享智能报账平台是什么样的?

用友BIP

财务共享

【活动报名】openEuler如何实现高效运维?南京用户组Meetup现场来聊聊!

openEuler

Linux 运维 操作系统 openEuler

软件测试 | 角色介绍

测吧(北京)科技有限公司

测试

快速易用pdf编辑器:PDF Expert 中文激活版

真大的脸盆

Mac Mac 软件 PDF编辑 编辑PDF文件

浅谈电解电容在电路设计中的作用

华秋PCB

电路 元器件 PCB PCB设计 电解电容

上海国家会计学院杨寅: 数据、业务、技术三大事项相互融合,促进财务发展

用友BIP

智能会计 价值财务

如何在Windows中设置应用程序开机启动?

IT蜗壳-Tango

奇妙JVM(一):Java程序员必须知道的神秘黑箱

xfgg

Java JVM

大型企业建设财务共享中心需要重视的5个核心要素

用友BIP

财务共享

软件测试/测试开发丨Web自动化测试,强制等待与隐式等待

测试人

软件测试 自动化测试 测试开发

缺乏集成和标准的协作框架,企业如何确保API质量?

龙智—DevSecOps解决方案

git API API 接口

Scrum的执行过程及产品Backlog梳理的目的、时间、内容

顿顿顿

Scrum 敏捷开发 敏捷开发管理 敏捷项目管理

MaxCompute 发布智能物化视图,CU 算力节省 14%

云布道师

基于低代码平台的多租户解决方案

力软低代码开发平台

异地组网——ZeroTier

数新网络官方账号

大数据

软件测试 | LDAP常见操作指南

测吧(北京)科技有限公司

测试

数学计算软件开发巨头MathWorks助力嵌入式开发创新,将MATLAB、Simulink与Perforce Helix Core集成

龙智—DevSecOps解决方案

版本控制 数学计算软件 MathWorks

Kyligence 客户案例招商银行批发业务分析平台获评金融数字化最佳实践案例

Kyligence

金融数字化 指标平台

2023上海国际嵌入式展 | 如何通过版本控制与IP管理建立嵌入式开发的单一可信数据源

龙智—DevSecOps解决方案

版本控制 嵌入式开发 静态代码扫描

财务共享中心成功建立!用友帮助河南水投集团打造财务效率新高地

用友BIP

财务共享

分布式架构天花板笔记开源了,一上线GitHub 45K star

小小怪下士

Java 程序员 分布式 分布式架构

flutter系列之:做一个下载按钮的动画

程序那些事

flutter 大前端 程序那些事

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