LoRA训练助手+Ubuntu20.04:从零开始搭建深度学习环境
1. 引言
如果你对AI绘画或者大模型微调感兴趣,肯定听说过LoRA(Low-Rank Adaptation)这个技术。它就像给大模型穿上定制服装,用很少的计算资源就能让模型学会新技能。但很多人在第一步——环境搭建上就卡住了,特别是Ubuntu系统下的CUDA安装和依赖配置。
别担心,这篇文章就是为你准备的。我会手把手带你从零开始,在Ubuntu 20.04上搭建完整的LoRA训练环境。无论你是刚接触Linux的新手,还是有一定经验的开发者,都能跟着步骤顺利完成。我们会涵盖从系统准备、CUDA安装、依赖库配置到常见问题排查的全过程,让你少走弯路,快速开始你的LoRA训练之旅。
2. 环境准备与系统要求
在开始安装之前,我们先确认一下硬件和系统要求。虽然LoRA相比全模型训练要求低很多,但基本配置还是要满足的。
2.1 硬件要求
首先看看你的显卡是否支持。NVIDIA显卡是必须的,因为我们需要CUDA进行加速:
- 显卡:NVIDIA GPU,至少4GB显存(推荐8GB以上)
- 内存:16GB RAM以上
- 存储:至少50GB可用空间(用于安装各种库和模型)
可以用这个命令检查你的显卡信息:
nvidia-smi如果显示"command not found",说明还没安装NVIDIA驱动,我们后面会解决。
2.2 系统更新
开始之前,先更新系统到最新状态:
sudo apt update sudo apt upgrade -y sudo apt install build-essential -y这样确保系统基础组件都是最新的,避免后续安装出现兼容性问题。
3. CUDA和cuDNN安装
这是最关键的一步,也是最多人遇到问题的地方。Ubuntu 20.04自带的驱动可能不兼容最新CUDA,所以我们要从头开始配置。
3.1 安装NVIDIA驱动
首先移除可能存在的旧驱动:
sudo apt purge nvidia* -y sudo apt autoremove -y然后添加官方驱动仓库:
sudo add-apt-repository ppa:graphics-drivers/ppa -y sudo apt update安装推荐的驱动版本(通常是最稳定的):
ubuntu-drivers devices sudo apt install nvidia-driver-535 -y安装完成后重启系统:
sudo reboot重启后再次运行nvidia-smi,应该能看到显卡信息了。
3.2 安装CUDA Toolkit
现在安装CUDA 11.8(这是目前比较稳定的版本):
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run sudo sh cuda_11.8.0_520.61.05_linux.run安装时注意:取消勾选Driver选项,因为我们已经单独安装了驱动,只保留CUDA Toolkit。
安装完成后配置环境变量:
echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc source ~/.bashrc验证安装:
nvcc --version3.3 安装cuDNN
cuDNN是深度学习的加速库,需要注册NVIDIA开发者账号下载。下载后安装:
tar -xvf cudnn-linux-x86_64-8.6.0.163_cuda11-archive.tar.xz sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64 sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*4. Python环境配置
为了避免版本冲突,我们使用conda创建独立的Python环境。
4.1 安装Miniconda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh按照提示完成安装,然后初始化conda:
source ~/.bashrc4.2 创建训练环境
创建专门用于LoRA训练的Python环境:
conda create -n lora-training python=3.10 -y conda activate lora-training安装PyTorch(确保与CUDA版本匹配):
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu1185. LoRA训练环境搭建
现在安装LoRA训练所需的具体库和工具。
5.1 基础依赖安装
pip install transformers datasets accelerate pip install peft bitsandbytes pip install wandb tensorboard5.2 安装训练框架
根据你的需求选择安装Kohya's SS或者Diffusers:
# 选项1:Kohya's SS(适合Stable Diffusion LoRA训练) git clone https://github.com/bmaltais/kohya_ss.git cd kohya_ss bash setup.sh -y # 选项2:Diffusers(适合各种模型的LoRA训练) pip install diffusers5.3 验证安装
创建简单的测试脚本验证环境是否正确:
import torch print(f"CUDA available: {torch.cuda.is_available()}") print(f"CUDA version: {torch.version.cuda}") print(f"GPU: {torch.cuda.get_device_name(0)}") from peft import LoraConfig print("PEFT library imported successfully")运行应该显示CU可用和相关版本信息。
6. 常见问题排查
环境搭建过程中可能会遇到各种问题,这里列出一些常见情况的解决方法。
6.1 CUDA版本不匹配
如果遇到CUDA版本错误,检查并重新安装对应版本:
nvidia-smi # 查看支持的CUDA版本 nvcc --version # 查看当前安装的CUDA版本6.2 显存不足错误
训练时如果显存不足,可以尝试:
- 减小batch size
- 使用梯度累积
- 启用混合精度训练
6.3 依赖冲突
如果库版本冲突,可以创建新的conda环境重新安装,或者使用docker容器化环境。
7. 性能优化设置
环境搭好了,再来一些优化设置让训练更高效。
7.1 系统层面优化
编辑sudoers文件避免输入密码:
sudo visudo # 添加一行:username ALL=(ALL) NOPASSWD: ALL调整swappiness值减少交换空间使用:
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf7.2 训练优化配置
在训练脚本中添加这些参数提升性能:
training_args = TrainingArguments( per_device_train_batch_size=4, gradient_accumulation_steps=2, fp16=True, # 启用混合精度 optim="adamw_torch_fused", dataloader_pin_memory=False, )8. 总结
走到这里,你已经成功在Ubuntu 20.04上搭建了完整的LoRA训练环境。从驱动安装、CUDA配置到Python环境搭建,我们一步步解决了可能遇到的各种问题。
实际用下来,这个过程最麻烦的就是CUDA和驱动的版本匹配,但只要按照步骤来,基本都能解决。环境搭好之后,LoRA训练其实很省心,特别是用现在的一些图形化工具,基本上点几下就能开始训练了。
建议你先用小数据集跑个简单的训练任务,验证整个环境是否工作正常。熟悉了之后,再尝试更复杂的项目。深度学习环境搭建就是这样,第一次可能觉得复杂,但一旦跑通,后面就轻松了。
如果遇到问题,别忘了查看官方文档和社区论坛,大多数问题都能找到解决方案。Happy training!
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。