多机多卡分布式训练

news2025/2/24 15:09:54

1. 环境搭建

  • 分布式训练框架:accelerate+deepspeed+pdsh(可有可无)
  • 基础环境:cuda、显卡驱动、pytorch

1.1 安装相关包

  • cuda安装:参考官网安装步骤
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda-repo-rhel7-11-8-local-11.8.0_520.61.05-1.x86_64.rpm
sudo rpm -i cuda-repo-rhel7-11-8-local-11.8.0_520.61.05-1.x86_64.rpm
sudo yum clean all
sudo yum -y install nvidia-driver-latest-dkms
sudo yum -y install cuda
  • 显卡驱动安装:下载官网驱动包并安装
  • pytorch安装:参考官网安装指令
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
  • accelerate安装:参考huggingface官网
pip install accelerate
  • deepspeed安装:参考deepspeed github
  • pdsh安装:官网说明

可以参考教程:并行分布式运维工具pdsh-阿里云开发者社区

tar jxvf pdsh-2.29.tar.bz2
cd pdsh-2.29
./configure --with-ssh --with-rsh --with-mrsh --with-dshgroups --with-machines=/etc/pdsh/machines
make
make install
pdsh -V

注意:所有机器均需要安装一模一样的环境:版本需要一致;conda安装路径一致;同时cuda和pytorch版本相对应,如下图所示。

2. 启动分布式训练

2.1 使用accelerate

# 1、生成accelerate配置文件,使用命令行生成
accelerate config

2.1 启动分布式训练脚本

方式一:使用pdsh,仅需要在主节点启动

# accelerate语法
accelerate launch --config_file <accelerate配置文件> python_script.py <python脚本环境变量参数>

# 示例如下
config_path=/data0/sdmt/mxm/kohya_ss/my_util/config/deepspeed_pdsh_config.yaml

accelerate launch --config_file $config_path \
train_text_to_image_sdxl.py --mixed_precision fp16 --enable_xformers_memory_efficient_attention --gradient_checkpointing  --noise_offset 0.05  --cache_dir "/data0/sdmt/mxm/datasets/" --num_train_epochs 20 --resolution 1024 --proportion_empty_prompts 0.2 --learning_rate 1e-06 --lr_scheduler "constant" --lr_warmup_steps 0 --validation_prompt "a pair of casual leather shoes" --validation_epochs 5  --pretrained_model_name_or_path "stabilityai/stable-diffusion-xl-base-1.0" --pretrained_vae_model_name_or_path "madebyollin/sdxl-vae-fp16-fix"  --train_data_dir "/data0/sdmt/train_img/000/10_train_1024_hug"

如下所示,启动2台服务器,服务器每台一张显卡。

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

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

相关文章

python raise语句的两种用法

python raise语句的两种用法 1、主动抛出异常的方法是使用 raise 语句&#xff1a; raise ValueError()2、可以同时指明错误原因&#xff1a; raise ValueError("输入值不符合要求")**3、这个函数没有处理可能出错的情况。**比如函数的age参数不能随意取值&#x…

呵护笔记本屏幕,同时获得更全方位的隐私保护

之前看到很多人都在给手机贴防窥膜&#xff0c;但是我试过之后觉得效果并不好。其实&#xff0c;防窥膜这个东西用在笔记本上会更实用一些。特别是那些经常在公共场所办公的朋友&#xff0c;比如我。最近我发现了一款威宝的防窥膜&#xff0c;质量非常靠谱。如果你也有同样的需…

天体学爱好者基础知识-太阳系//未完待续,业余者的学习

难过的时候&#xff0c;仰望天空吧&#xff0c;人类有时候&#xff0c;做的事情真的太愚昧且无聊了&#xff0c;渺小的尘埃&#xff0c;也可以飘际宇宙。 太阳系-八大行星 卫星围绕着恒星公转。行星必须围绕着恒星公转。 什么是行星&#xff1f;行星和恒星、卫星有什么区别&am…

qt5使用QWebEngineView崩溃的问题

在使用QWebEngineView加载崩溃 需要把下图的文件放入exe文件中

7年经验之谈 —— 常用的接口抓包工具和接口测试工具!

一、接口 统称为API&#xff0c;它是指程序与程序之间的对接、交接。 二、接口测试 它主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点&#xff0c;主要是为了检验不同组件&#xff08;模块&#xff09;之间数据的传递是否正确&#xff0c;同时接口测试还要测…

Google play开发者账号被封的几种常见原因及相关解决思路

在Google paly上&#xff0c;每天都有大量的应用被成功发布&#xff0c;同时也有很多开发者账号被封禁。特别是在今年的十月份之前&#xff0c;谷歌的"封号潮"给很多开发者带来了沉重的打击。不过&#xff0c;令人欣慰的是&#xff0c;自十月份之后&#xff0c;情况逐…

518抽奖软件,是否支持作弊~内定~指定中奖人~设置范围

518抽奖软件简介 518抽奖软件&#xff0c;518我要发&#xff0c;超好用的年会抽奖软件&#xff0c;简约设计风格。 包含文字号码抽奖、照片抽奖两种模式&#xff0c;支持姓名抽奖、号码抽奖、数字抽奖、照片抽奖。(www.518cj.net) 主打纯净&#xff0c;不可作弊 市面上&…

【C语言】备战校赛Day1

日期:11.1 星期二 L1-001 Hello World 题目描述 这道超级简单的题目没有任何输入。 你只需要在一行中输出著名短句“Hello World!”就可以了。 输入样例: 无 输出样例: Hello World! 解题代码 int main() {printf("Hello World!");return 0; } 该题较为简单,但要注…

Web安全系列——CSRF攻击

文章首发公众号&#xff1a; 海天二路搬砖工 前言 CSRF 攻击是Web应用中最常见的攻击方式之一。 CSRF攻击给网站身份验证、用户账户和个人隐私带来极大威胁。了解 CSRF 攻击的流程、原理与防御措施&#xff0c;是构建安全可靠的Web应用程序的必要条件。 什么是CSRF攻击 CS…

IOS手机耗电量测试

1. 耗电量原始测试方法 1.1 方法原理&#xff1a; 根据iPhone手机右上角的电池百分比变化来计算耗电量。 1.2实际操作&#xff1a; 在iOS通用设置中打开电池百分比数值显示&#xff0c;然后操作30分钟&#xff0c;60分钟&#xff0c;90分钟&#xff0c;看开始时和结束时电池…

大模型推理最新论文及源码合集,涵盖多模态推理、逻辑推理、数学推理

大模型推理技术的发展帮我们解决了许多的难题&#xff0c;但如今的大模型在复杂推理上的表现仍然欠佳&#xff0c;为了突破这一瓶颈&#xff0c;研究者们提出了许多创新性的方法。 我整理了其中一部分个人认为很值得学习的论文来和大家分享&#xff0c;涵盖多模态推理、逻辑推…

JavaScript 特殊对象的排序

在项目中有需求&#xff0c;需要对对象进行排序&#xff0c;根据键值对的“键”&#xff08;key&#xff09;进行排序 前提是 你的 key 是用数字表示的&#xff0c;这样才能排序 例子一&#xff1a; let obj {"101": 孙悟空,"105": 猪八戒,"102&quo…

关键词搜索苏宁易购商品数据接口(标题|主图|SKU|价格|优惠价|掌柜昵称|店铺链接|店铺所在地)

关键词搜索苏宁易购商品数据接口可以帮助企业快速获取苏宁易购平台上的商品数据。通过该接口&#xff0c;企业可以获取到商品的详细信息&#xff0c;如商品名称、价格、库存量、销量等。这些信息可以用于多种业务场景&#xff0c;如选品决策、采购计划制定、价格监控等。 使用…

2023/11/1 JAVA学习

和上面的镜态变量,实例变量类似 可以这样送一些数据给mian方法(类方法) 将工具类的构造器私有化,这样就无法再创造对象 只能是在子类中访问,如果是一个非子的类中,创建了一个子类对象,这样是访问不了的 子类中的构造器中默认有一个super(),调用父类的无参构造器 若父类无无参构…

高压发生器

直流高压试验装置产品简介 武汉凯迪正大KDZG系列直流高压发生器是按照中国行业标准ZGF24003-90《便携式直流高压发生器通用技术条件》的要求&#xff0c;研究、制造的便携式直流高压发生器&#xff0c;适用于电力部门、厂矿企业动力部门、科研单位、铁路、化工、发电厂等对氧化…

移动设备访问本地localhost

一.正常访问 1.首先确保使用的移动设备和PC端在同一个局域网下&#xff08;如连接同一个wifi&#xff09; 2.查看PC端地址 命令行&#xff1a;ipconfig 3.移动设备访问localhost地址&#xff0c;把PC端前缀替换为IPv4地址 如&#xff1a;PC地址为 localhost:9999/xxx/yyy …

【干货速学】电商API接入电子商务数据分析:电子商务数据分析的流程

生活中的数据分析 日常工作和生活中处处都有数据分析的存在&#xff0c;比如消费者在购买不同商品前&#xff0c;经常会对儿“性价比”进行简单分析&#xff0c;价格表现为固定的货币数字。性能则具体体现在商品质量、客户收务等客观因素和客户对该商品的需求程度等主观因素上。…

springboot项目多环境配置

springboot项目多环境配置 企业级软件开发往往存在多种环境&#xff0c;比如&#xff1a;开发、测试、生产等。不同环境的配置文件略有差异&#xff0c;如何能够方便的进行环境切换&#xff0c;尤其是在打包编译的时候&#xff0c;至关重要。本文则节选出关键的核心代码。 po…

为什么前端用vue的公司越来越多?

Vue.js是一款流行的JavaScript框架&#xff0c;被广泛应用于Web开发中。它相比于其他框架具有一些有利的特点&#xff0c;所以受到许多开发人员的青睐。可以用“简单易学、响应式数据绑定、轻量高效、生态系统丰富、渐进式框架”等概括VUE的技术优势。 Vue 3.0是Vue.js于2022年…

疑难杂症-暂时不能解析域名“mirrors.tuna.tsinghua.edu.cn”

可能是太久没用Ubuntu了&#xff0c;总是有一些莫名其妙的问题 我的方法简单粗暴&#xff1a;不需要重启&#xff0c;打开终端&#xff0c;输入sudo apt-get update&#xff0c;解析成功 还有一些别的方法&#xff0c;不过我也没试过 修改/etc/resolv.conf还是修改/etc/resol…