大模型多卡训练原理

news2024/10/2 22:25:35

背景知识

深度学习涉及大量矩阵运算,而矩阵运算可以并行计算。

一、数据并行

每张卡加载不同的数据,将计算结果合并

存在问题:每个显卡都加载了模型,浪费了一定空间

二、模型并行:适合模型特别大的情况

1、串行计算

先用卡1计算结果1,然后卡2计算结果2,……卡n计算结果n,然后计算损失反向传播

串行计算,不是为了提速,而是为了解决模型一张卡放不下的问题

存在问题:gpu大量空闲

2、并行计算

batchsize=80,分成4个20

类似操作系统学的并行处理

存在问题:80个全部计算完,才反向传播

3、进一步优化

算完前向计算,直接反向传播,不等别人,gpu利用率进一步提高

绿色块为更新后的参数

存在问题:每一块gpu用的参数都不一样,参数不是同时更新的,模型层与层之间的参数不配套。

GPU优化:时间换空间或空间换时间

三、数据并行&模型并行

GPU1&GPU2、GPU3&GPU4:模型并行(难点:合理地切割模型)

GPU1&GPU3、GPU2&GPU4:数据并行

四、张量并行

1、一个完整,另一个按行或列并行

两张卡都保存x,卡1保存A列1,卡2保存A列2,分别计算然后拼接结果

支持激活函数的并行(因此常用)

2、对两个矩阵合理拆解

x和A都拆成两个模块,分别在卡1和卡2中计算,然后将结果相加

不支持激活函数的并行(因此不常用)

 3、其它拆法

优点:Gpu1和Gpu2没有重复数据,节约内存

五、多头注意力机制

大模型的核心:Transformer

Transformer的核心:多头注意力机制

多头注意力机制天然就适合并行计算

X1和X2的计算互不干扰

LSTM、RNN下一时刻的输出需要依赖上一时刻,无法做到并行,导致GPU闲置率太大。其效果不如注意力,同时与硬件也不匹配,因此失去研究前景。

GPT、T5、Bart、Bert都是基于注意力做的。

六、两台机器如何配合并行训练

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

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

相关文章

Java Springboot SSE如何判断客户端能否正常接收消息

目录 背景解决方案思路代码代码解释 Java反射知识点补充 背景 当新建一个 emitter 对象的时候, 它的默认超时时间是 30s. SseEmitter emitter new SseEmitter(); 但是很多情况下, 默认30s的时间太短, 需要把 emitter 对象的超时时间设置成不超时, 也就是永久有效. private …

RHEL8 Samba服务器详细配置用户模式

任务: 配置server01为samba服务器,samba服务器的/companydata/sales为共享目录,共享名为sales,里面创建测试文件test_share.tar,创建用户组sales,创建组内用户sale1,要求配置用户模式访问&#…

py爬虫入门笔记(request.get的使用)

文章目录 Day11. 了解浏览器开发者工具2. Get请求http://baidu.com3. Post请求https://fanyi.baidu.com/sug4. 肯德基小作业 Day21. 正则表达式2. 使用re模块3. 爬取豆瓣电影Top250的第一页4. 爬取豆瓣电影Top250所有的250部电影信息 Day31. xpath的使用2. 认识下载照片线程池的…

【翻译】在Qt Designer中创建主窗口(Main Windows)

原文地址:https://doc.qt.io/qt-6/designer-creating-mainwindows.html Qt Designer 可用于为不同用途创建用户界面,并为每个用户界面提供不同类型的模板。主窗口模板用于创建具有菜单栏、工具栏和停靠窗口部件的应用程序窗口。 通过打开文件菜单并选择…

工程档案数字化的意义

工程档案数字化可以提高档案管理效率、节约资源成本、保护档案安全、提高档案可持续性、提升检索与利用的便捷性,促进信息共享与合作,具有重要的意义和价值。 1. 提高档案管理效率:数字化档案可以通过电子方式进行存储、检索和共享&#xff0…

企业网盘的价值:为什么企业需要它?

企业网盘因其主打的文件管理协作功能,正好符合信息时代高速发展下企业的需要,能够帮助企业集中管理文件数据,提供便捷的文件协作服务,一跃成为近两年企业服务类产品榜单中的一匹黑马。 企业网盘真的这么好用吗?企业真…

ant-desgin的table的上移、下移

文章目录 html部分函数部分 html部分 <a-table :columns"columns" :data-source"dataList" :loading"listLoading" :pagination"false"><template #bodyCell"{ column, record, index }"><template v-if&qu…

class_10:this关键字

this关键字是指向调用对象的指针 #include <iostream> #include <iostream> using namespace std;class Car{ public://成员数据string brand; //品牌int year; //年限//构造函数名与类名相同Car(string brand,int year){cout<<"构造函数中&#…

字面量(java)

字面量类型&#xff1a; 整数类型&#xff1a;不带小数的数字&#xff0c;如666、-88 小数类型&#xff1a;带小数点的数字&#xff0c;如13.14、-5.21 字符串类型&#xff1a;用双引号引起来的内容&#xff0c;如"HelloWorld"&#xff0c;""," &q…

HCIA交换技术

VLAN的作用&#xff08;只记录MAC&#xff09;&#xff1a; 路由器和交换机协同工作&#xff0c;为了解决广播域带来的问题&#xff0c;人们引入了VLAN&#xff08;virtual local area network&#xff09;&#xff0c;即虚拟局域网技术&#xff1a;通过在交换机上部署VLAN&…

【软件测试】学习笔记-精准测试

软件测试行业从最开始的手工测试到自动化测试&#xff0c;从黑盒测试到白盒测试&#xff0c;测试理念和技术都发生了日新月异的变化。现如今&#xff0c;几乎所有的软件公司都有一套强大且复杂的自动化测试用例&#xff0c;用来夜以继日地保证产品的正确性和稳定性。 然而&…

Nginx的access_log 状态码499的问题排查

前提&#xff1a;公司的项目网站&#xff0c;运行环境是lnmp环境下 一、起因 如下图&#xff0c;网站请求超过60s(如&#xff1a;导出半年的报表数据到excel)时&#xff0c;报如下错误&#xff0c;且浏览器上没有返回值 二、发展 查找nginx和php-fpm都没有报错日志。于是先把…

万字讲解新一代分布式任务调度框架Power-job

1、简介 Power-Job 的设计目标是成为企业级的分布式任务调度平台&#xff0c;整个公司统一部署调度中心 power-job-server&#xff0c;旗下所有业务线应用只需要依赖 power-job-worker 即可接入调度中心获取任务调度与分布式计算能力。 Power-job官方网址&#xff1a;http:/…

ELK 分离式日志

目录 一.ELK组件 ElasticSearch&#xff1a; Kiabana&#xff1a; Logstash&#xff1a; 可以添加的其它组件&#xff1a; ELK 的工作原理&#xff1a; 二.部署ELK 节点都设置Java环境: 每台都可以部署 Elasticsearch 软件&#xff1a; 修改elasticsearch主配置文件&…

QT-QML2048小游戏

QT-QML2048小游戏 一、演示效果二、关键程序三、下载链接 一、演示效果 二、关键程序 import QtQuick 2.2 import QtQuick.Controls 1.1 import QtQuick.Controls.Styles 1.1 import QtQuick.Dialogs 1.1 import QtQuick.Window 2.1 import "2048.js" as MyScriptAp…

使用pyechart创建折线图

import json from pyecharts.charts import Line from pyecharts import options# 首先使用文件打开数据 f_us open(Desktop/python/Project/数据可视化/美国.txt,r,encoding"UTF-8") f_rb open(Desktop/python/Project/数据可视化/日本.txt,r,encoding"UTF-8…

基于springboot+vue的蜗牛兼职网的设计与实现系统(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目背景…

Pypputeer自动化

Pyppeteer简介 pyppeteer 是 Python 语言的一个库&#xff0c;它是对 Puppeteer 的一个非官方端口&#xff0c;Puppeteer 是一个 Node 库&#xff0c;Puppeteer是Google基于Node.js开发的一个工具&#xff0c;它提供了一种高层次的 API 来通过 DevTools 协议控制 Chrome 或 Ch…

【XTuner 大模型单卡低成本微调实战】学习笔记

参考学习教程【XTuner 大模型单卡低成本微调实战】 理论 Finetune简介 大语言模型 微调模式 增量预训练 指令跟随微调 LoRA和QLoRA Xtuner介绍 实战 自定义微调 用 Medication QA 数据集进行微调 将数据转为 XTuner 的数据格式 目标格式&#xff1a;(.jsonL) 写提示词请C…

清晰光谱空间:全自动可调波长系统的高光谱成像优势

高光谱成像技术 高光谱成像技术是一种捕获和分析宽波长信息的技术&#xff0c;能够对材料和特征进行详细的光谱分析和识别。高光谱成像技术的实现通过高光谱相机&#xff0c;其工作原理是使用多个光学传感器或光学滤波器分离不同波长的光&#xff0c;并捕获每个波段的图像&…