机器学习大规模学习平台架构

本文探讨了现有的开源机器学习框架在大规模应用中面临的挑战,特别是如何将单机模型转化为分布式模型,涉及参数服务器的设计与实现,以及I/O层和通信层的改造。

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

对于已有的开源的机器学习框架,很多都是单机环境下部署的,但是对于大公司层面的机器学习的应用需求,简单的单机,分布式spark机器学习平台很难满足公司的大数据应用需求,因为不仅要求具有正确性,还要求高效性和稳定性。

这里面存在很多的问题,比如模型如何在多台机器上跑,参数如何分布在多台服务器上,构成parameter server (google提出的),同样的,这些参数如何时时的更新,学习,并且如何保存中间结果,多台训练worker时时的相互交互,实现同步或者异步等问题。


想要把tensorflow,caffe,torch等非常好的机器学习,深度学习框架实现并行化,需要很大的投入。其中对于这些模型,很重要的部分就是参数的学习,在一定程度上,这些参数就表征了整个模型,最终学习,训练的结果就是编码体现在这些参数中的。因此想要实现分布式的机器学习框架平台,很大程度需要实现分布式参数服务器,有了分布式参数服务器,便可以在此基础上扩展机器学习平台,将单机版的机器学习模型转换为分布式PS-机器学习模型。


在有了参数服务器之后,便需要将模型分布式化,这里主要修改I/O层和通信层,这两个模块必须要好好的研究,才能实现这个转换工程。

让天下没有难做的大数据模型!功能下面是弥勒佛框架解决的问题类型,括号中的斜体代表尚未实现以及预计实现的时间监督式学习:最大熵分类模型(max entropy classifier),决策树模型(decision tree based models,2014 Q1)非监督式学习:聚类问题(k-means,2014 Q1)在线学习:在线梯度递降模型(online stochastic gradient descent)神经网络(2014 Q2/3)项目实现了下面的组件多种数据集(in-mem,skip)多种评价器(precision,recall,f-score,accuracy,confusion)和交叉评价(cross-validation)多种优化器:协程并发L-BFGS,梯度递降(batch, mini-batch, stochastic),带退火的学习率(learning rate),L1/L2正则化(regularization)稀疏向量(sparse vector)以存储和表达上亿级别的特征特征辞典(feature dictionary)在特征名和特征ID之间自动翻译    现有的机器学习框架/软件包存在几个问题:无法处理大数据:多数Python,Matlab和R写的训练框架适合处理规模小的样本,没有为大数据优化。不容易整合到实际生产系统:standalone的程序无法作为library嵌入到大程序中。模型单一:一个软件包往往只解决一个类型的问题(比如监督式或者非监督式)。不容易扩展:设计时没有考虑可扩展性,难以添加新的模型和组件。代码质量不高:代码缺乏规范,难读懂、难维护。    弥勒佛项目的诞生就是为了解决上面的问题,在框架设计上满足了下面几个需求:处理大数据:可随业务增长scale up,无论你的数据样本是1K还是1B规模,都可使用弥勒佛项目。为实际生产:模型的训练和使用都可以作为library或者service整合到在生产系统中。丰富的模型:容易尝试不同的模型,在监督、非监督和在线学习等模型间方便地切换。高度可扩展:容易添加新模型,方便地对新模型进行实验并迅速整合到生产系统中。高度可读性:代码规范,注释和文档尽可能详尽,适合初学者进行大数据模型的学习
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值