博主前一段时间在其他人的推荐下,入手了近期新出的一本名为《分布式机器学习:算法、理论与实践》的书。这是一本全面介绍分布式机器学习的现状,深入分析其中的核心技术问题,并讨论分布式机器学习领域未来的发展,不可多得的好书。这本书是基于微软亚洲研究院机器学习研究团队多年的研究成果和实践经验编写成的,可为研究生从事分布式机器学习方向研究提供参考文献,也可为人工智能从业者提供算法选择和系统设计的指导。
全书共12章,从展示分布式机器学习这个领域的全景开始讲起,逐章介绍了机器学习的基础知识,分布式机器学习的框架及其各种功能的模块原理,以及不同选项所组合出来的各种各样的分布式机器学习算法及其性质,最后两章分别介绍了几个主流的分布式机器学习系统和这个领域的未来发展方向。
关于当下机器学习的思考
今天的机器学习,已经与10年前甚至5年前大不一样了。10年前,绝大部分人甚至都没听说过这个词,包括博主我,而且对人工智能的概念也知之甚少。5年前,可能会有很多80后90后的国内机器学习前辈们正在从事这一方面的研究,但是很多重要问题尚未解决,这一领域仍旧如同一块荒地一般,难以实际应用。
近些年,随着大数据的发展,深度学习的崛起,使得机器学习的算法模型设计变得容易起来,一些如雨后春笋般的机器学习框架(如TensorFlow、Pytorch、Keras、MxNet、CNTK等)的大量出现,又使得实践变得容易起来。我们逐渐解决了很多问题,在计算机视觉领域尤其突出,而语音识别领域的算法效果也因此逐步上升,如今基本的语音识别已经不再是问题。
为什么需要分布式机器学习
如今,机器学习相关的领域逐渐遇到了一些新问题,其中之一就是模型的训练问题。我们都知道,模型的训练非常消耗计算资源,而且很依赖于计算力,单一核心的运算单元的计算能力以及连接的存储器容量是有限的。提高单一运算单元的速度和存储器的容量是代价昂贵的,也是有性能瓶颈的,所以首先出现了多核的CPU,或者多个GPU,一起参与计算。但是在同一台计算机中,可以安排的CPU和GPU数量又是有限的,这时候,我们就需要分布式的机器学习了。不过随着分布式的出现,算法也会出现一些改变,这时,就需要一些分布式的机器学习算法来实现了。
分布式机器学习将传统的单节点的模型训练变成多节点的训练,首要的是要解决相互之间通信的问题,以及参数的更新优化问题。其实分布式的概念很早就有了,也很早就有人用来做机器学习了,只是现在机器学习遇到的问题一定程度上更需要尽快用分布式来做了。博主我在刚接触到大数据方向的时候,就已经被各种安利MapReduce和Spark框架了。现在,我们是时候从一个更新的角度去看待分布式,去看待机器学习了。
不知道各位是怎么看待分布式机器学习呢?欢迎在评论区留言交流。
版权声明本博客的文章除特别说明外均为原创,本人版权所有。欢迎转载,转载请注明作者及来源链接,谢谢。本文地址: https://blog.ailemon.net/2018/12/27/distributed-machine-learning-introduction-and-new-book-recommendation/ All articles are under Attribution-NonCommercial-ShareAlike 4.0 |