模型训练-3D并行

news2024/12/30 0:50:45

1. 数据并行(Data Parallel)

1.1常规数据并行

        有一张显卡(例如rank 0显卡)专门用于存储模型参数、梯度信息和更新模型参数。将训练数据分成多份(份数等于显卡数量),每张卡上的模型参数相同,进行前向和反向传播后,每张卡上都计算得到对应部分数据的梯度,然后对多张卡上的梯度进行reduce操作,将平均后的梯度结果存放在专门的显卡上,然后在专门的显卡上利用优化器进行参数更新。最后将更新后的参数再broadcast到所有显卡上,重复上述过程

 1.2  distributed data parallel(分布式数据并行)

        区别:不需要专门的参数服务器

        初始时每张显卡上都有相同的模型参数,同样将训练数据均分成多份,每张卡上利用单独一小份的数据进行前向和反向得到梯度,然后将多张卡上的梯度参数all reduce到所有的显卡上,这样每张显卡上的梯度信息也是完全一致的,同时优化器的历史信息数据也是完全一致的,这样便可以在每一张显卡上单独进行参数更新,并且能够保证每张卡上更新后的模型参数也是完全一致的。

        总结:每张卡上单独进行参数更新

 1.3 数据并行带来的显存优化效果

transformer中,显卡上存储的模型中间结果(即是每一层的输入,也可以理解成上一层的输出)的维度是[batch,  Len,  Dim], 多卡数据并行后,每张显卡上存储的模型中间结果的维度变成[batch/卡数,  Len,  Dim]

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CSS编写的瓶颈在哪里?CSS预处理器登场解决你的燃眉之急!

文章目录 I. 引言解释CSS预处理器是什么提及CSS预处理器的好处 II. 为什么要使用CSS预处理器减少代码量变量Mixin函数 & 条件语句 提升CSS的可读性和维护性嵌套规则继承 方便维护加入Source Map方便调试自动前缀 III. 简介几个流行的CSS预处理器Sass介绍Sass的特性解释Sass…

69、基于51单片机智能交流电表蓝牙远程抄表OLED屏系统设计(程序+原理图+PCB源文件+参考论文+参考PPT+元器件清单等)

方案选择 单片机的选择 方案一:AT89C52是美国ATMEL公司生产的低电压,高性能CMOS型8位单片机,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元…

404系列之404界面

先看效果&#xff1a; 再看代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>404</title><style>* {border: 0;box-sizing: border-box;margin: 0;padding: 0;}:root {-…

PLC数据采集如何实现远程监控和远程维护上下载?

随着PLC在工业自动化控制领域得到越来越广泛的应用&#xff0c;PLC数据采集是也逐渐成为现代工业自动化的重要组成部分。通过采集PLC内的数据&#xff0c;可以实时监测控制生产过程及工艺参数&#xff0c;提高生产效率和产品质量&#xff0c;能够使企业能够获取关键生产数据&am…

面试中经常问到的线程安全的集合类,这样回答会显得很优雅

前言&#xff1a; 本篇文章主要讲解面试中经常问到的线程安全的集合类的知识。该专栏比较适合刚入坑Java的小白以及准备秋招的大佬阅读。 如果文章有什么需要改进的地方欢迎大佬提出&#xff0c;对大佬有帮助希望可以支持下哦~ 小威在此先感谢各位小伙伴儿了&#x1f601; 以…

03【锁、事务原理、MVCC】

文章目录 一、MySQL锁机制1.1 锁的分类1.1.1 按操作分1.1.2 按粒度分1.1.3 按算法划分 1.2 MyIsam引擎锁1.2.1 准备数据1.2.2 MySIAM引擎写锁1.2.3 MySIAM引擎读锁1.2.4 小结1.2.5 表锁应用场景1.2.6 InnoDB的表锁1.2.7 MyISAM 的并发插入1.2.8 MyISAM的锁调度 1.3 InnoDB 引擎…

通达信超跌反弹选股公式,使用筹码函数WINNER

在前面的文章中&#xff0c;已经介绍了WINNER函数&#xff0c;不过对于如何使用函数&#xff0c;当时只进行了简单举例&#xff0c;没有做深入研究。本文将结合WINNER函数的特性&#xff0c;编写通达信超跌反弹选股公式。 WINNER函数表示获利盘比例&#xff0c;取值范围是0-1&…

【Leetcode】17.电话号码的字母组合

一、题目 1、题目描述 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例1: 输入:digits = "23" 输出:["ad","ae",…

剑指 Offer 38: 字符串的排列

这道题一看就是使用回溯法&#xff0c;但是由于是排列&#xff0c;所以索引和组合不同&#xff08;组合的索引是从start标志位开始&#xff09;&#xff0c;排列是从下标为0开始&#xff0c;并且需要借助排序&#xff01;所以需要先转化成将String转化为char[]类型&#xff0c;…

微信小程序开发流程

如今微信小程序定制需要一个开发周期和流程&#xff0c;比起模板来说&#xff0c;定制开发的流程更加复杂。做微信小程序定制开发&#xff0c;首先要做的工作就是确定需求和框架的确立&#xff0c;比如一个社交小程序&#xff0c;可能考虑的问题不只是用户之间消息沟通&#xf…

Android 之 Handler

Android 的消息机制是基于Handler实现的。Handler 采用的是一种生产者-消费者模型&#xff0c;Handler 就是生产者&#xff0c;通过它可以生产需要执行的任务。而 Looper 则是消费者&#xff0c;不断从 MessageQueue 中取出Message 对这些消息进行消费。 MesageQueue是在底层调…

maven-mvnd(新版maven)

引言&#xff1a; Maven和Gradle几乎包含了所有Java项目的构建。 而目前绝大部分的Java项目都是使用Maven的方式&#xff0c;Maven对比Gradle的劣势很明显&#xff0c;就是太慢了&#xff01; 一、maven-mvnd是什么&#xff1f; maven-mvnd是Apache Maven团队开发的maven的…

python学习笔记-1

文章目录 cmd中写py基本语法字面量字符串 注释变量数据类型数据类型转换标识符 cmd中写py 如果我没有素质&#xff0c;就说我是日本人 基本语法 字面量 字面量&#xff1a;在代码中&#xff0c;被写下来的&#xff0c;固定的值&#xff0c;称之为字面量。有六种值&#xff0…

下载iOS开发教程:下载和安装指南

目录 引言 一. 下载安装appuploader windows启动 部分功能不可用处理 驱动安装 二. 登录appuploader 常规使用登录方法 验证码说明 使用上传专用密码登录 未支付688给apple账号登录 [ 五、代码实现](# 五、代码实现) 六、总结 引言 这里汇总了开发相关过程中的热门…

【vue element-ui 】el-table中使用checkbox视图更新滞后

本来想通过列表中每个对象的某个属性绑定到checkbox的状态&#xff0c;但是发现有个问题&#xff1a;就是点击复选框后&#xff0c;数据确实改变了&#xff0c;但是视图没有改变&#xff0c;当点击其他row的时候&#xff0c;才会更新之前的数图。如下图&#xff0c;第1次勾选第…

【JavaScript】严格模式use strict

use strict 它不是一条语句&#xff0c;但是是一个字面量表达式声明&#xff0c;在 JavaScript 旧版本中会被忽略。 为什么使用严格模式use strict: 消除Javascript语法的一些不合理、不严谨之处&#xff0c;减少一些怪异行为; 消除代码运行的一些不安全之处&#xff0c;保证代…

Jmeter调试取样器(Debug Sampler)

大家在调试 JMeter 脚本时有没有如下几种需求&#xff1a; 我想知道参数化的变量取值是否正确&#xff01;我想知道正则表达式提取器&#xff08;或json提取器&#xff09;提取的值是否正确&#xff01;我想知道 JMeter 属性&#xff01;调试时服务器返回些什么内容&#xff0…

复杂数组的处理方法之多维数组扁平化

1.需求: 将数组[1&#xff0c;2&#xff0c;[3&#xff0c;4&#xff0c;[5&#xff0c;6]]&#xff0c;7&#xff0c;[8&#xff0c;[9&#xff0c;10]]] 转换为 [1&#xff0c;2&#xff0c;3&#xff0c;4&#xff0c;5&#xff0c;6&#xff0c;7&#xff0c;8&#xff0c…

五、HAL_Timer的定时功能

1、开发环境 (1)Keil MDK: V5.38.0.0 (2)STM32CubeMX: V6.8.1 (3)MCU: STM32F407ZGT6 2、定时器简介 (1)定时器可以通过输入的时钟源进行计数&#xff0c;从而达到定时的功能。 3、实验目的&原理图 3.1、实验目的 (1)通过定时器设置定时&#xff0c;实现LED灯以500…

13 - 信号可靠性剖析

---- 整理自狄泰软件唐佐林老师课程 查看所有文章链接&#xff1a;&#xff08;更新中&#xff09;Linux系统编程训练营 - 目录 文章目录 1. 信号的可靠性1.1 问题1.2 信号查看&#xff08;kill -l&#xff09;1.3 信号的分类1.3.1 不可靠信号&#xff08;传统信号&#xff09;…