写点什么

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

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

关注

评论

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

论低代码平台在业务系统中的多种应用形态

快乐非自愿限量之名

低代码 业务开发

一站式解决方案:10款项目型企业系统选购指南

爱吃小舅的鱼

项目管理

你知道的项目型企业管理系统,这10款值得推荐

爱吃小舅的鱼

项目管理 企业管理

降低听书APP开发成本:开发公司选择略显得尤为重要

软件开发-梦幻运营部

免费高效!3步实现Llama3模型远程访问与协作

贝锐

AIGC Llama3 贝锐

智谱清言 App 面向 C 端开放 AI 视频通话服务;谷歌 GameNGen:神经网络驱动的实时游戏引擎丨RTE 开发者日报

声网

源于清华的开源时序数据库IoTDB刷新世界纪录

Apache IoTDB

Veeam Recovery Orchestrator v7.1 发布下载 - 恢复编排

sysin

自动化 备份 恢复 veeam 编排

AI自动化副业创收班手把手带你提升副业收益

霍格沃兹测试开发学社

视频云流化是什么?有哪些好处

3DCAT实时渲染

云流化 云流化PaaS平台 实时渲染云流化

Ubuntu 20.04网卡命名规则

百度搜索:蓝易云

数字货币现货期权期货交易所开发部署逻辑需求分析

V\TG【ch3nguang】

天翼云HBlock:打造高效、安全、可扩展的云存储体验

百里丶落云

磁盘 数据库· HBlock #天翼云 #HBlock

打造高效农业项目 10款农业建设管理系统购买指南

爱吃小舅的鱼

项目管理 农业

5 分钟快速上手 pytest 测试框架!

程序猿忙什么

程序员 软件测试、

体验了下豆包MarsCode编程助手,惊艳到我了!

左诗右码

AI

10款科研项目经费管理系统解析,助你了解项目管理

爱吃小舅的鱼

项目管理 科研项目 费用管理

Spring高手之路22——AOP切面类的封装与解析

砖业洋__

Java spring aop

2024-08-31:用go语言,给定一个数组apple,包含n个元素,每个元素表示一个包裹中的苹果数量; 另一个数组capacity包含m个元素,表示m个不同箱子的容量。 有n个包裹,每个包裹内装有

福大大架构师每日一题

福大大架构师每日一题

嵌入式笔记 day2

万里无云万里天

嵌入式

最高等级!腾讯云AI代码助手获中国信通院代码大模型评估4+级

Geek_2d6073

合资新能源价值新标准 MAZDA EZ-6领衔亮相2024成都国际车展

Geek_2d6073

Veeam ONE v12.2 发布下载 - 监控和分析

sysin

监控 分析 备份 恢复 veeam

秒合约交易系统:从开发到部署重塑金融交易新纪元!

V\TG【ch3nguang】

秒合约系统开发

JNPF再进化,低代码革命让数字化无处不在

不在线第一只蜗牛

低代码

shell脚本嵌套和case语句

百度搜索:蓝易云

大模型营销战,“砸钱”能缓解商业化焦虑?

趣解商业

百度 腾讯 互联网 大模型

数博会 | 百度智能云千帆大模型数据安全解决方案获优秀科技成果

百度安全

php出现SSL certificate problem: unable to get local issuer certificate的解决办法

百度搜索:蓝易云

【Git】删除本地分支;报错error: Cannot delete branch ‘wangyunuo-test‘ checked out at ‘XXX‘

百度搜索:蓝易云

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