企业中实现分布式算法的架构_20210119

我们平时学习的机器学习和深度学习算法都是加载在单机的内存中进行的,企业中当数据量很大时使用的是分布式的模式

机器学习怎么实现分布式:

1.spark中的MLlib中有一些机器学习的算法,但是这些算法的实现和sklearn是完全不一样的,因为他是要卡考虑分布式的。
以逻辑回归为例,在计算梯度的时候,是将数据加载到n个机器的内存中的,MLlib会将一个batch分为n份到每个机器上计算一个梯度,然后再将这些梯度平均。
xgboost是有再spark中集成的,
2.MLlib中没有,依赖于spack的手写算法,使用pyspack或者scala来写
3.MLlib中没有,不依赖于spack的手写算法,依赖hadoop集群使用mapreduce,mapreduce可以理解为一个大的shell脚本,这个脚本可以使用多种语言进行来写,这个大脚本里有两个脚本,一个map,一个reduce,然后将shell脚本传递给部署了hadoop的客户端,然后客户端帮助分发,分发的内容先为mapper,将同一个用户的数据放到同一台机子上,然后执行reduser,作用是将执行的结果存起来。

具体是看企业使用的是哪种。

深度学习

深度学习常用的工具,tf和torch,他们会提供分布式的API;
很多公司还有自己开发的GPU集群,GPU集群就类似于CPU集群中的hadoop.

猜你喜欢

转载自blog.csdn.net/a18829292719/article/details/112852990