目录
- 一. LoRA模型多卡训练
- 1.1 安装xformer等库
- 1.2 设置路径
- 1.3 多卡训练
- 二. 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 .
下载训练代码:
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 设置路径
一般来说需要设置三个路径,大模型路径,图片输入路径,图片输出路径:
接下来生成训练配置文件:
accelerate config
根据工作机的实际情况和训练策略,选择对应的配置
- This machine
- 1
- No
- NO
- NO
- NO
- 0,1
- fp16
配置结束后会自动生成一个训练配置文件。
1.3 多卡训练
accelerate launch main.py
同样的模型和配置,双卡训练用时为3:46, 而单卡则需要7:57, 可见双卡加速策略有效。
双卡时间:
单卡时间:
二. LoRA模型多卡训练
疑难报错解决方案
多卡训练报错
在执行多卡训练命令accelerate launch main.py
后,发生如下报错:
原因是xformer0.18.0对应的Pytorch版本为2.0.0,版本较高,应当降级到pytorch1.13.0,xformer0.16.0
并且不再使用xformer,即 self.xformers: bool = False
。