当前位置:   article > 正文

Ubuntu20.04使用多卡训练HyperNetwork模型和LoRA模型全流程及疑难问题解决方案_lora多卡训练

lora多卡训练


软硬件配置:
CPU: AMD 5800 8core 16Thread
GPU: NVIDIA RTX 3090 *1
NVIDIA TITAN RTX *1
OS: Ubuntu20.04

一. LoRA模型多卡训练

1.1 安装xformer等库

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
git clone https://github.com/facebookresearch/xformers/
cd xformers
git submodule update --init --recursive
export FORCE_CUDA="1"
# 进入https://developer.nvidia.com/cuda-gpus#compute
# 设置所用显卡对应的Compute Capability,3090和A5000都是8.6
export TORCH_CUDA_ARCH_LIST=8.6
pip install -r requirements.txt
pip install -e .
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

下载训练代码:
https://github.com/derrian-distro/LoRA_Easy_Training_Scripts.git

cd LoRA_Easy_Training_Scripts
git submodule init
git submodule update
cd sd_scripts
pip install  --upgrade -r requirements.txt
  • 1
  • 2
  • 3
  • 4
  • 5

1.2 设置路径

一般来说需要设置三个路径,大模型路径,图片输入路径,图片输出路径:
在这里插入图片描述
接下来生成训练配置文件:

accelerate config
  • 1

根据工作机的实际情况和训练策略,选择对应的配置

- This machine
- 1
- No
- NO
- NO
- NO
- 0,1
- fp16
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

配置结束后会自动生成一个训练配置文件。

1.3 多卡训练

accelerate launch main.py 
  • 1

同样的模型和配置,双卡训练用时为3:46, 而单卡则需要7:57, 可见双卡加速策略有效。
双卡时间:
在这里插入图片描述
单卡时间:
在这里插入图片描述

二. HyperNetwork模型多卡训练

2.1 HyperNetwork通过WebUI训练

首先选择预处理,然后选择HyperNetwork训练
在这里插入图片描述

疑难报错解决方案

多卡训练报错

在执行多卡训练命令accelerate launch main.py后,发生如下报错:
在这里插入图片描述
原因是xformer0.18.0对应的Pytorch版本为2.0.0,版本较高,应当降级到pytorch1.13.0,xformer0.16.0
并且不再使用xformer,即 self.xformers: bool = False
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/101188
推荐阅读
相关标签
  

闽ICP备14008679号