高级分布式系统汇总:高级分布式系统目录汇总-CSDN博客
分布式机器学习的概念
人工智能蓬勃发展的原因:“大”
大数据:为人工智能技术的发展奠定了坚实的物质基础。
大规模机器学习模型:具备超强的表达能力,可以解决很多难度非常大的学习问题。
大规模计算机集群:以GPU集群为主,有着强大的并行度和计算能力,可以使复杂的训练过程变得更加高效。
在前所未有的大数据的支撑下,通过庞大的计算机集群,训练大规模的机器学习模型。
面临的问题:
计算量太大
解决方法:以采取基于共享内存(或虚拟内存)的多线程或多机并行运算。
训练数据太多
解决方法:将数据进行划分,并分配到多个工作节点上进行训练。
模型规模太大
解决方法:对模型进行划分,并且分配到不同的工作节点上进行训练。
分布式机器学习:也称为分布式学习,是指利用多个计算节点进行机器学习或者深度学习的算法和系统,旨在提高性能、保护隐私,并可扩展至更大规模的训练数据和更大的模型。
分布式机器学习框架
分布式机器学习的主要模块:数据与模型划分模块,单机优化模块,通信模块以及数据与模型聚合模块。
数据与模型划分模块:将数据或模型进行划分并将其分配到各个工作节点上。
单机优化模块:利用分配到的数据进行训练得到本地模型的更新。
通信模块:实现信息共享,把各个工作节点有机的组合到一起。
数据与模型聚合模块:如何将来自不同工作节点的数据、模型(或其更新)进行聚合。
分布式机器学习的主要模块:数据与模型划分模块,单机优化模块,通信模块以及数据与模型聚合模块。
分布式机器学习框架-----数据与模型划分
依据模型是否划分,如何划分,分布式机器学习可以分为计算并行模式,数据并行模式以及模型并行模式。
计算并行模式:所有的工作节点并行执行相应的优化算法。
数据并行模式:对数据集进行划分,并分配到各个工作节点进行训练。
模型并行模式:将对应于不同数据维度的模型参数划分到不同的工作节点,每个节点只独立更新自己负责的参数。