微软分布式机器学习工具包DMTK——初窥门径

本文介绍了微软亚洲研究院维护的DMTK框架及其组成部分,包括Multiverso参数服务器架构的机器学习、LightLDA等分布式机器学习算法。该框架适用于大规模数据集上的机器学习模型训练,为研究人员和开发者提供了一个强大的工具包。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在现在机器学习如日中天的大背景下,微软亚洲研究院的实习岗位中,机器学习组的工作也是维护DMTK,参与算法改进,那么在此之前我们得了解DMTK是个啥。

DMTK由一个服务于分布式机器学习的框架和一组分布式机器学习算法构成,是一个将机器学习算法应用在大数据上的强大工具包;无论是学术界的研究人员还是工业界的开发者,DMTK可以帮助他们在超大规模数据上灵活稳定地训练大规模机器学习模型。

官网:http://www.dmtk.io/

DMTK 包括以下几个项目:

 

以Linux为例:

sudo apt-get install libopenmpi-dev openmpi-bin build-essential cmake git
git clone https://github.com/Microsoft/multiverso.git && cd multiverso
mkdir build && cd build
cmake .. && make && sudo make install

使用文档:https://github.com/Microsoft/Multiverso/wiki

 

下面是一个简单的例子:

 1 #include <multiverso/multiverso.h>
 2 #include <multiverso/util/log.h>
 3 #include <multiverso/util/configure.h>
 4 #include <multiverso/table/array_table.h>
 5 using namespace multiverso;
 6 
 7 int main(int argc, char* argv[]) {
 8   MV_SetFlag("sync", true);
 9   MV_Init(&argc, argv);
10 
11   ArrayTableOption<int> option;
12   option.size = 500;
13   ArrayWorker<int>*  table = MV_CreateTable(option);
14 
15   std::vector<int> model(100, 0);
16   std::vector<int> delta(100, 1); 
17 
18   for (int iter = 0; iter < 100; ++iter) {
19     table->Add(delta.data(), delta.size());
20     table->Get(model.data(), model.size());
21     // CHECK_EQ(model[i], (iter+1) * MV_NumWorkers());
22   }
23 
24   MV_ShutDown();
25 }

 

转载于:https://www.cnblogs.com/ldzhangyx/p/6475419.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值