数据并行的原理
数据并行的原理是将一个数据分解成多个部分,对被分解的数据执行相同的操作,获得多个结果,再通过对数据结果的汇总,获得最终结果,最大化发挥数据处理的性能。数据并行主要用于大型和复杂的计算问题,通过多线程,充分高效利用多核计算资源,解决传统数据处理方法无法完成的高精度大数据处理需求。数据并行化处理,是使用处理器为每个处理单元分配数据块,为其下达执行并行操作的指令。数据并行过程中要重点考虑数据和任务协调性,通过问题的分解或组合,提高操作性能、减少任务开销。
数据并行的过程

输入数据切分
数据并行运行过程中,会通过两种方式切分输入数据。第一种方式,根据并行进程数进行划分,无需进行数据通信,每个进程只读取自身划分到的数据;第二种方式,数据读取由进程负责,数据读取后根据并行进程数切分,再发送到对应进程中。

模型参数同步
数据并行过程中,需要在处理数据时保持模型参数同步。模型参数同步可以在初始时使用相同随机种子完成,以相同的顺序进行初始化来实现。也可以通过某一进程初始化全部模型参数后,向其他进程广播模型参数,实现同步。

参数更新
数据并行的参数更新是在输入数据切分和模型参数同步的步骤完成后进行的。更新前,每个进程的参数相同;更新时,基于所有进程上的梯度同步得到的全局梯度也相同,所以实现在更新后每个进程得到的参数也是相同的。
数据并行和模型并行的区别
数据并行是将数据划分为多个小数据,发送到不同处理节点上,使用相同的模型参数进行计算,将计算的不同结果进行汇总后通过加权平均获得最终结果。模型并行的本质是对计算机资源进行分配,当模型过大时,无法将模型直接载入处理机中,将整个模型按层分解为多个模型,载入不同的处理节点中分别进行计算。不同节点按照模型顺序进行排序,以流水线形式先后执行节点计算。此外,模型并行并非 100% 以并行方式完成,有时会以串行方式完成的。
数据并行的优化技巧
数据并行的目标是提高数据计算的执行效率,通过深度学习训练提升吞吐量。并行计算程序优化的主要难点包括数据的划分、并发访问控制以及资源划分。如果数据并行性能表现不佳,可以通过优化划分方式,避免过多的控制流集中在同一个处理机上工作。此外,数据并行可以通过协调对资源的访问,将访问分为读和写,减少出现读写冲突导致资源互斥的问题。而资源划分的优化方式通常采用向量法或并行化处理,尽可能降低通信使用的资源,保持负载均衡。
欢迎加入亚马逊云科技培训中心
欢迎加入亚马逊云科技培训中心
-
快速上手训练营
-
账单设置与查看
-
动手实操
-
快速上手训练营
-
第一课:亚马逊云科技简介
本课程帮助您初步了解云平台与本地环境的差异,以及亚马逊云科技平台的基础设施和部分核心服务,包括亚马逊云科技平台上的弹性高可用架构,架构设计准则和本地架构迁移上云的基本知识。
亚马逊云科技技术讲师:李锦鸿第二课:存储与数据库服务
您将在本课程中学习到亚马逊云科技上的三个存储服务分别是什么。我们也将在这个模块中为您介绍亚马逊云科技上的关系型数据库服务 Amazon Relational Database Service (RDS)。
亚马逊云科技资深技术讲师:周一川第三课:安全、身份和访问管理
在这个模块,您将学习到保护您在亚马逊云科技上构建的应用的安全相关知识,责任共担模型以及身份和访问管理服务, Identity and Access Management (IAM) 。同时,通过讲师演示,您将学会如何授权给 EC2 实例,允许其访问 S3 上的资源。
亚马逊云科技技术讲师:马仲凯 -
账单设置与查看
-
-
动手实操
-
联系我们
联系我们
.4ab599395215697c34eea7e92d1bb891e55e4cfb.png)