当前位置: 首页 > news >正文

大模型训练框架

一文搞定分布式训练:dataparallel、distirbuted、deepspeed、accelerate、transformers、horovod - 知乎代码地址:taishan1994/pytorch-distributed-NLP: pytorch分布式训练 (github.com)pytorch-distributed-NLPpytorch单机多卡分布式训练-中文文本分类。一直想尝试来着,苦于没有卡,只好花过年的压岁钱去Autodl上租…icon-default.png?t=N7T8https://zhuanlan.zhihu.com/p/628022953大模型分布式训练并行技术(一)-概述 - 知乎近年来,随着Transformer、MOE架构的提出,使得深度学习模型轻松突破上万亿规模参数,传统的单机单卡模式已经无法满足超大模型进行训练的要求。因此,我们需要基于单机多卡、甚至是多机多卡进行分布式大模型的训练…icon-default.png?t=N7T8https://zhuanlan.zhihu.com/p/598714869目前大模型的几个方式包括:

单卡python直接训练:

CUDA_VISIBLE_DEVICES=0 python src/train_bash.py

多卡训练:

accelerate:

accelerate config # 首先配置分布式环境
accelerate launch src/train_bash.py 

在config中选择MULTI_GPU,DeepSpeed/FullySharedDataParallel/Megatron-LM...

deepspeed:

deepspeed --num_gpus 8 --master_port=9901 src/train_bash.py \--deepspeed ds_config.json \...

torchrun:

torchrun --nproc_per_node={num_gpus} train.py --train_args_file train_args/llama2-13b-ext.yaml

低版本的pytorch多卡训练(torchrun是其升级版本):

python -m torch.distributed.launch   --nproc_per_node=2   --nnodes=1 --node_rank=0     --master_addr=localhost   --master_port=22222 	train.py

数据并行:数据集被分割成几个碎片,每个碎片被分配到一个设备上。每个设备将持有一个完整的模型副本,并在分配的数据集碎片上进行训练,在反向传播之后,模型的梯度将被全部减少,以便在不同设备上的模型参数能够保持同步。DDP

模型并行:模型被分割并分布在一个设备阵列上,有两种方式:张量并行/流水线并行。

张量并行:张量是将一个张量沿特定维度分成N块,每个设备只持有整个张量的1/N,需要额外的通信来确保结果的正确性。

流水线并行:模型按层分割成若干块,每块交给一个设备,在前向传播过程中,每个设备将中间激活传递给下一个阶段;在反向传播中,每个设备将输入张量的梯度传回给前一个流水线阶段。这允许设备同时进行计算,从而增加训练的吞吐量。

优化器并行:单个GPU的显存无法放下大模型,通常来说,模型训练过程中,GPU上需要进行存储的参数包括了模型本身的参数、优化器状态、激活函数的输出值、梯度以及一些零时的Buffer。其中模型状态参数(优化器状态+梯度+模型参数)占到了一大半以上。优化器相关的并行是一种去除冗余数据的并行,ZeRO,零冗余优化器,针对模型状态的存储优化,ZeRO使用的是分片,即每张卡只存1/N的模型状态量,这样系统只维护一份模型状态,ZeRO有3个级别,1.ZeRO-1,对优化器状态分片;2.ZeRO-2对优化器状态和梯度分片;3.ZeRO-3对优化状态、梯度分片以及模型权重参数分片。

异构系统并行: 上述方法通常需要大量的GPU来训练一个大型模型,与GPU相比,CPU内存要大得多,在不使用张量时,将其卸载回CPU内存或NVME磁盘。

相关文章:

大模型训练框架

一文搞定分布式训练:dataparallel、distirbuted、deepspeed、accelerate、transformers、horovod - 知乎代码地址:taishan1994/pytorch-distributed-NLP: pytorch分布式训练 (github.com)pytorch-distributed-NLPpytorch单机多卡分布式训练-中文文本分类…...

好用的Visio绘图文件工具 VSD Viewer最新 for mac

VSD Viewer是一款可以查看Microsoft Visio绘图文件的工具,适用于Windows和macOS操作系统。它具有以下优点: 直观易用:VSD Viewer的用户界面非常简单直观,易于使用。支持多种文件格式:VSD Viewer支持多种Visio文件格式…...

三代自动驾驶系统及主流科技公司自动驾驶技术方案简介

截止目前,按技术特点,自动驾驶技术大致经历了三代发展:第一代自动驾驶技术以后融合感知技术,高精度地图,基于惯导、GPS定位系统,预测模块,基于优化、搜索的规控等组成。第一代比较成熟的自动驾驶…...

mac安装nodejs,跑vue程序

1. 下载node.js for mac,地址:Node.js。一路安装就可以了,无需修改。 2. mac终端,查看node和npm的版本。 3. 配置环境变量, vim .bash_profile增加PATH$PATH:/usr/local/bin/ 4. 但是毕竟npm安装一些东西还是太慢了所…...

VC++程序崩溃时,使用Visual Studio静态分析dump文件

1、通过Visual Studio直接把Dump文件打开 2、点击【仅限本机进行调试】,启动Dump 3.1、本机调试启动后,如果程序运行模块和pdb文件在同一个目录的,直接定位到异常代码行 3.2、如果显示找不到pdb文件,则需要通过【新建路径】设置…...

【哈希数组】【字符串 转化为 字符数组】Leetcode 383 赎金信

【哈希表】【字符串 转化为 字符数组】Leetcode 383 赎金信 解法1 【哈希数组】 String 转化为 字符数组char[ ] .toCharArray ⭐️String 转化为 字符数组char[ ] .toCharArray 解法1 【哈希数组】 String 转化为 字符数组char[ ] .toCharArray 时间复杂度O(N) 这个解决方案…...

【C++】c++引用和小细节

文章目录 一、引用的特性:引用的实质引用权限使用场景引用和指针的区别 c引用不是定义了新的对象,而是对一个已有的对象起了一个别名,如鲁迅和周树人的关系,鲁迅是周树人的笔名,两者是一个东西,只是名字不同…...

nginx负载均衡(动静分离)

nginx负载均衡(动静分离) 文章目录 nginx负载均衡(动静分离)工作原理:环境说明:部署nginx负载均衡步骤:在负载均衡(NGINX)主机上做配置:测试:在浏…...

vue自定义全局指令v-emoji限制input输入表情和特殊字符

问题: 后台不提供富文本存储,所以emoji表情入库会报错需求要求前端在输入的时候过滤掉表情符号全局的input 和富文本textarea输入框都需要过滤emoji表情 分析: 1.每一个input写事件写正则校验代码量实在太多了还很麻烦;所以想用…...

Excel 5s内导入20w条简单数据(ExecutorType.BATCH)Mybatis批处理的应用

文章目录 Excel 5s内导入20w条数据1. 生成20w条数据1.1 使用Excel 宏生成20w条数据1.2 生成成功 2. ExecutorType:批量操作执行器类型2.1 ExecutorType.SIMPLE2.2 ExecutorType.BATCH2.3 ExecutorType.REUSE 3. 20w条数据直接插入数据库3.1 使用ExecutorType.SIMPLE…...

【期刊】IEEE系列指定期刊模版下载(LaTeX或者Word)全网最细教程

IEEE旗下有很多期刊,例如: IEEE Transactions on Pattern Analysis and Machine Intelligence IEEE Transactions on Cybernetics IEEE Transactions on Neural Networks and Learning Systems IEEE Transactions on Industrial Informatics IEEE Tra…...

损失函数和评估函数

损失函数和目标函数定义 损失函数是用于衡量模型在训练过程中预测结果与实际结果之间的差异的函数。它通过计算模型的预测值与实际值之间的距离或差异来 quantitatively 表示模型的性能好坏。损失函数通常被用作优化算法(如梯度下降)的目标函数,通过最小化损失函数来调整模…...

第四章 文件管理 四、文件的物理结构(文件分配方式)

目录 一、文件块,磁盘块 二、连续分配 1、定义: 2、计算方式: 3、注意: 4、优点: 5、缺点: 6、总结 三、链接分配----隐式链接 1、定义: 2、如何实现逻辑块号转物理块号 3、优点&…...

解析外贸开发信的结构?营销邮件书写技巧?

做外贸的开发信结构是怎样的?写外贸邮件的注意事项? 外贸开发信是国际贸易中至关重要的一环,它不仅是与潜在客户建立联系的第一步,也是一种有效的市场推广工具。蜂邮EDM将深入解析外贸开发信的结构,帮助您更好地理解如…...

Linux的命令基本格式

因为对服务器来讲,图形界面会占用更多的系统资源,而且会安装更多的服务、开放更多的端口,这对服务器的稳定性和安全性都有负面影响。其实,服务器是一个连显示器都没有的家伙,要图形界面干十么?说到这里&…...

数据库Redis(二):基本数据类型

Redis中采用Key-Value键值对的形式将数据存储在数据库中&#xff0c;首先介绍Redis中针对键Key的操作命名。 Redis键Key相关命令 # 查看当前库所有key keys * # 判断某个key是否存在 exists <key> # 查看你的key是什么类型 type <key> # 删除指定的key数据 …...

mysql第四次作业

目录 数据表介绍 --1.学生表Student(SId,Sname,Sage,Ssex)--SId 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别 --2.课程表Course(CId,Cname,TId)--CId 课程编号,Cname 课程名称,TId 教师编号 --3.教师表Teacher(TId,Tname)--TId 教师编号,Tname 教师姓名 --4.成绩…...

kubesphere 一键部署K8Sv1.21.5版本

1. 在centos上的安装流程 1.1 安装需要的环境 yum install -y socat conntrack ebtables ipset curl1.2 下载KubeKey #电脑必须可以访问github&#xff0c;很重要。不然安装过程会出问题 curl -sfL https://get-kk.kubesphere.io | VERSIONv1.2.1 sh - chmod x kk1.3 开始安…...

设计模式(12)状态模式

参考【设计模式】用Java实现状态模式_java 状态模式_卷帘的博客-CSDN博客 一、介绍&#xff1a; 1、状态模式&#xff1a;是一种行为设计模式&#xff0c;它允许对象在内部状态发生改变时改变其行为。该模式将对象的行为包装在不同的状态类中&#xff0c;使得对象的行为可以根…...

C#WPFPrism框架模块化应用实例

本文实例演示C#WPFPrism框架模块化应用实例。 首先创建WPF项目,修改App相关文件内容,以便使用prism。 一、添加模块 解决方案中添加ModuleA和ModuleB两个项目 删除不用的窗体,添加自定义窗体 修改ModuleA和ModuleB的输出类型...

墨语灵犀网络安全知识库:基于AI的威胁情报分析与解读

墨语灵犀网络安全知识库&#xff1a;让AI成为你的安全分析师 最近和几个做安全运营的朋友聊天&#xff0c;他们都在抱怨同一件事&#xff1a;每天面对海量的安全告警和晦涩的漏洞报告&#xff0c;眼睛都快看花了。一份新的漏洞描述扔过来&#xff0c;光是理解它到底在说什么、…...

claude-code 深度解析:它为什么走红,以及值不值得开发者投入经理

# 从工具到方法论&#xff1a;claude-code 为什么值得开发者认真评估> 今日新增 ⭐ 10749 Stars | 总计 ⭐ 102012 Stars | 仓库&#xff1a;anthropics/claude-code## 一句话定位从命名和描述看&#xff0c;这不是单点功能脚本&#xff0c;而更像围绕 agent 工作流组织的开…...

Qwen3.5-35B-A3B-AWQ-4bit多模态落地:智慧医疗影像报告图关键指标自动提取

Qwen3.5-35B-A3B-AWQ-4bit多模态落地&#xff1a;智慧医疗影像报告图关键指标自动提取 1. 医疗影像分析的痛点与解决方案 医疗影像报告分析一直是临床工作中的重要环节。传统方式依赖医生人工查看影像并提取关键指标&#xff0c;存在以下问题&#xff1a; 效率低下&#xff…...

intv_ai_mk11惊艳效果展示:Llama中型模型在中文解释说明任务中的表现

intv_ai_mk11惊艳效果展示&#xff1a;Llama中型模型在中文解释说明任务中的表现 1. 模型核心能力概览 intv_ai_mk11作为基于Llama架构的中等规模文本生成模型&#xff0c;在中文解释说明任务中展现出令人印象深刻的能力。这个开箱即用的解决方案特别适合需要清晰、准确表达的…...

IronCalc 性能基准测试:与传统电子表格引擎的对比分析

IronCalc 性能基准测试&#xff1a;与传统电子表格引擎的对比分析 【免费下载链接】IronCalc Main engine of the IronCalc ecosystem 项目地址: https://gitcode.com/gh_mirrors/ir/IronCalc IronCalc 是一个基于 Rust 语言开发的现代化开源电子表格引擎&#xff0c;专…...

OpenClaw移动办公:Phi-3-mini-128k-instruct通过钉钉审批电子合同

OpenClaw移动办公&#xff1a;Phi-3-mini-128k-instruct通过钉钉审批电子合同 1. 为什么需要移动审批电子合同&#xff1f; 上周三我在高铁上收到法务同事的紧急消息&#xff1a;"有个供应商合同今天必须签完&#xff0c;但关键条款需要你确认"。当时手边既没电脑也…...

长尾关键词的SEO提交技巧有哪些

长尾关键词的SEO提交技巧有哪些 在当今数字营销的环境中&#xff0c;SEO&#xff08;搜索引擎优化&#xff09;是提升网站流量的关键手段之一。而在SEO策略中&#xff0c;长尾关键词&#xff08;Long-Tail Keywords&#xff09;的应用尤为重要。长尾关键词通常是由三个或更多的…...

仅限首批内测开发者获取:CPython无GIL预编译二进制+无锁标准库API速查表(含ABI兼容性矩阵与降级熔断方案)

第一章&#xff1a;Python无锁GIL环境下的并发模型概览Python 的全局解释器锁&#xff08;GIL&#xff09;长期被视为多线程 CPU 密集型任务的瓶颈。然而&#xff0c;随着 CPython 3.13 的正式引入“实验性无锁 GIL”&#xff08;--without-pymalloc 配合 --with-gildisabled 构…...

杰理之播放暂停的杂音【篇】

a2dp PLC...

2026届必备的六大AI论文助手实测分析

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 此刻&#xff0c;针对学术写作情形的AI辅助网站已然构建起多元化生态&#xff0c;这类平台一…...