#每日一书#

5.19 分布式机器学习-算法,理论与实践

这本书入手于2018年11月17日,当年12月10日读完。可以作为分布式机器学习的入门书。

书中介绍了分布式机器学习框架的一些基础知识,包括单机优化,数据模型并行,通信机制,分布式机器学习算法和一些系统。系统主要介绍了基于IMR,基于参数服务器和基于流的机器学习系统。

TensorFlow 在2017年发布eager的时候,我在现场,觉得这是一个变革,回去就做了一个分享。 当时的PyTorch还不成气候,没想到今天会有如此地位。

当时我还去看过TensorFlow的代码,想想能不能贡献点代码。那个时候,NLP训练数据量不算多,很多时候一台机器+fasttext搞定,对分布式训练不了解,就去读了一下代码。

分布式机器学习主要有三个场景:
1. 计算量太大
2. 训练数据太多
3. 模型规模太大

现在就NLP的发展,像BERT和其变种,还有GTP-3这种面向生成的大模型,上面三个场景都占了。

BERT出来的时候,还能折腾折腾,8块V100跑一跑,像后面的大模型就只有等API了。我也变成做AI落地的了。

像IMR的系统,同步+数据并行,Spark MLlib都算比较简单的,属于大数据平台变化过来的。

基于参数的服务器,目前还是有很多开源项目的,Multiverso、PS Lite、KunPeng等等。

基于流的,目前是主流,一个有向无环图定义,可以灵活的数据并行,模型并行或者混合并行。

像Tesorflow、Pytorch、Paddle都属于基于流的,后面的趋势就是支持大规模训练的框架,像OneFlow就是以兼容Pytorch,一键分布式加速为亮点。

还有一个趋势,就是云原生的训练架构,把训练任务完全微服务化。后面看看发展吧。

我自己有个FAI的框架想法,目前还处于调研和开发阶段,还没开源,是基于Rust来实现的一个非常简单的深度学习框架,希望后面能完成和开源出来。

分布式机器学习框架论文很多,没法推荐。我就推荐一下,李沐老师在B站讲了两节课,讲PS架构和最新的Google Pathways架构,可以看看。

1.参数服务器(Parameter Server)www.bilibili.com
2.Pathways
www.bilibili.com
评论加载中...