LLM分布式训练第二课(数据并行)

 最基础也是最好理解的大模型训练并行手段就是数据并行。

  数据并行的发展史实际上目前看也经历了2个阶段:

  1. 1.       DP Data Parallel

  2. 2.       DDP Distributed Data Parallel

  3.   这两者特别容易被搞混,下面我们来看一下这两者的区别。

   DP是在Pytorch中最早引入的分布式并行手段。

Image

DP的通信和运行方式

DP是线程通信,只用于单机内部的多块GPU之间的通信,不会跨机器节点进行通信。

  • 如图所示,DP从流程上看,是将整个minibatch的数据加载到主线上,然后再将更小批次的sub-minibatches的数据分散到整个机器的各块GPU中进行计算。

  • 一般来讲DP的主GPU为GPU1,它负责持有模型,并且copy到其他的模型里,而且训练的mini-batch也是先给到GPU1,然后再通过Scatter的通信,将minibatch进一步打散成sub-minibatches,然后不同的ub-minibatches给到不同的GPU来进行训练处理。

  • 在前向计算时,每个GPU自己计算自己得这一部分数据,然后GPU1通过gather来手机所有的输出,再进行统一的损失计算。

  • 把损失在 GPU 之间 scatter,在各个GPU之上运行后

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/508703.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电商数据采集的网页抓取数据、淘宝、天猫、京东等平台的电商数据抓取|大规模数据采集技术必备的数据采集技术【电商API接口接入】

背景 电商数据采集的网页抓取数据、淘宝、天猫、京东等平台的电商数据抓取,网页爬虫、采集网站数据、网页数据采集软件、python爬虫、HTM网页提取、APP数据抓包、APP数据采集、一站式网站采集技术、BI数据的数据分析、数据标注等成为大数据发展中的热门技术关键词。…

逆向案例四:360k静态和精灵数据动态AES解密,用js的方法

一、360K 网页链接:https://www.36kr.com/p/2672600261670407 页面中有静态的需要解密的内容,确定html包,确定方法 1.1方法步骤 在下方的搜索中输入decrypt(或者关键字window.initialState ,进入js文件 在AES.decrypt处打上断点&#xff0…

对通知区域(Win 系统托盘)窗口层次的分析

目录 前言 一、气球通知(非 Toast 应用通知) 二、通知区域 1)用户通知区域(UserPrompt Notification Area) 2)系统升级的通知区域(System Upgrade Notification Area) 3&…

QT多语言切换功能

一.目的 在做项目时,有时希望我们的程序可以在不同的国家使用,这样最好的方式是一套程序能适应于多国语言。 Qt提供了这样的功能,使得一套程序可以呈现出不同的语言界面。本文将介绍QT如何实现多语言,以中文和英文为例。 QT开发…

快速幂(求解原理+例题)

目录 反复平方法(快速幂): 代码: 例题:快速幂求逆元 作用: 快速求出 的结果。 时间复杂度: O(logk) 如果使用一般做法,从1循环到k,时间复杂度是O(k) 反复平方法&am…

那些壁纸,不只是背景

1、方小童在线工具集 网址: 方小童 该网站是一款在线工具集合的网站,目前包含PDF文件在线转换、随机生成美女图片、精美壁纸、电子书搜索等功能,喜欢的可以赶紧去试试!

kafka同步副本集及关键参数

上篇文章讲了副本机制是什么,一文读懂kafka内部怎么运行的-CSDN博客 这里深挖下同步副本集及里面的关键参数。副本会去leader副本拉去数据追加到自己日志中。 我们知道kafka副本的作用是提高系统的高可用。当leader副本挂了时,会从候选副本集中选者一个当…

ubuntu环境下docker容器详细安装使用

文章目录 一、简介二、ubuntu安装docker1.删除旧版本2.安装方法一3. 安装方法二(推荐使用)4.运行Docker容器5. 配置docker加速器 三、Docker镜像操作1. 拉取镜像2. 查看本地镜像3. 删除镜像4. 镜像打标签5. Dockerfile生成镜像 四、Docker容器操作1. 获取…

H12-821_113

113.如图所示是路由器现ATE输出的部分信息,以下关于这部分信息的描述,错误的是哪一项? A.display pim rp-info命令用来查看组播组对应的RP信息 B.RP地址是2.2.2.2 C.组地址是225.0.0.0 D.RP的优先级是0 答案:C 注释: …

STM32-BKP备份寄存器和RTC时钟

BKP介绍 BKP(Bckup Registers)备份寄存器 备份寄存器是42个16位的寄存器,可用来存储84个字节的用户应用程序数据。他们处在备份域里,当VDD电源被切断,他们仍然由VBAT(备用电池电源)维持供电。当系统在待机…

mprpc分布式RPC网络通信框架

mprpc 项目介绍 该项目是一个基于muduo、Protobuf和Zookeeper实现的轻量级分布式RPC网络通信框架。 可以把任何单体架构系统的本地方法调用,重构成基于TCP网络通信的RPC远程方法调用,实现同一台机器的不同进程之间的服务调用,或者不同机器…

Lua 篇(一)— 安装运行Hello World

目录 前言一、Lua 是什么?二、Lua和C#的区别三、安装 LuaLinux 系统上安装Mac OS X 系统上安装Window 系统上安装emmyluaRider 安装(推荐) 四、Lua学习资料 前言 Lua 是一种轻量级的嵌入式脚本语言,它可以与 C 语言无缝集成,提供了强大的编程…