环境搭建:工欲善其事,必先利其器

说实话,做LoRA微调这件事,环境配置往往是最磨人的一步。我见过太多同学,明明代码写得没问题,结果卡在环境上折腾一整天。所以这一章,咱们就把这事彻底搞定。

我会带着你一步步来。从Python环境开始,到PyTorch、Transformers、PEFT这些库的安装,最后验证GPU能不能用。嗯,每一步我都会告诉你我踩过的坑。

Python环境配置

我个人习惯用Conda来管理环境。为什么?因为不同项目依赖的包版本经常打架,你想想看,一个项目要PyTorch 1.13,另一个要2.0,没有虚拟环境真的会疯掉。

推荐版本:Python 3.10

我试过3.8、3.9、3.10、3.11。目前3.10是最稳的,兼容性最好。3.11有些库还没完全跟上,别给自己找麻烦。

创建环境的命令很简单:

conda create -n lora_env python=3.10
conda activate lora_env

这里有个小细节——环境名字我习惯用 lora_env,清晰明了。你叫啥都行,但别用中文,有些工具对中文路径支持不好。

我的经验:我曾经在Windows上装完环境死活跑不起来,最后发现是路径里有中文。从那以后,所有路径我都用英文。

PyTorch安装

PyTorch是LoRA微调的核心。说白了,整个微调过程就是在PyTorch上跑。

安装前先确认一件事:你有没有NVIDIA显卡?有的话,装CUDA版本。没有?那就装CPU版本。

我个人建议直接去PyTorch官网(pytorch.org)看安装命令。它会根据你的系统自动生成正确的指令。比如:

# CUDA 12.1 版本(推荐)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

# CPU版本(没有显卡用这个)
pip install torch torchvision torchaudio

注意:千万别用 conda install pytorch。我试过,它经常装到旧版本。用pip更靠谱。

安装完验证一下:

python -c "import torch; print(torch.__version__)"

如果输出版本号,比如 2.1.0+cu121,那就成了。

Transformers库安装

Transformers是Hugging Face家的王牌库。LoRA微调时,我们要用它加载预训练模型、处理数据。

安装很简单:

pip install transformers

但这里有个坑——版本问题。我建议装4.30以上版本,因为早期版本对LoRA的支持不完善。

推荐版本:transformers >= 4.30.0

安装完可以跑个简单测试:

python -c "from transformers import AutoModel; print('Transformers works!')"

没报错就说明装好了。

PEFT库安装

PEFT(Parameter-Efficient Fine-Tuning)是LoRA的核心库。它封装了LoRA、Prefix Tuning这些高效微调方法。

安装命令:

pip install peft

我的建议:装最新版。PEFT更新很快,新版本会修复bug、增加新功能。我遇到过旧版本不支持某些模型的情况,升级后就解决了。

验证一下:

python -c "import peft; print(peft.__version__)"

输出版本号就对了。

GPU环境验证

这一步最关键。没有GPU,LoRA微调虽然也能跑,但慢到你怀疑人生。

验证GPU是否可用:

python -c "import torch; print(torch.cuda.is_available())"

输出 True 就说明GPU能用。输出 False?别急,我遇到过这种情况。

常见问题排查:

  • 检查NVIDIA驱动:命令行输入 nvidia-smi,看能不能显示显卡信息
  • 检查CUDA版本:nvcc --version,确保和PyTorch的CUDA版本匹配
  • 我曾经装完驱动忘了重启电脑,结果torch一直检测不到GPU。重启一下就好了。

如果一切正常,再跑个更详细的验证:

python -c "
import torch
print(f'CUDA可用: {torch.cuda.is_available()}')
print(f'GPU数量: {torch.cuda.device_count()}')
print(f'当前GPU: {torch.cuda.get_device_name(0)}')
"

你会看到类似这样的输出:

CUDA可用: True
GPU数量: 1
当前GPU: NVIDIA GeForce RTX 3090

看到自己的显卡型号,心里就踏实了。

本章知识体系

我把整个环境搭建的流程画了张图,方便你对照着来:

LoRA环境搭建流程 Python环境 Conda创建 + Python 3.10 PyTorch CUDA版本 / CPU版本 Transformers 版本 >= 4.30.0 PEFT库 LoRA核心库 GPU环境验证 nvidia-smi + torch.cuda 环境就绪 可以开始LoRA微调 按顺序执行,每一步验证通过后再进行下一步 💡 遇到问题先看错误信息,大部分问题百度/Google都能解决

这张图把整个流程串起来了。你按着顺序走,每一步验证通过再往下,基本不会出问题。

最后说一句:环境搭建这事,一次配好,后面就省心了。我刚开始做LoRA时,光配环境就花了两天。但配好之后,后面跑实验就顺畅多了。所以别急,慢慢来。


公众号:蓝海资料掘金营,微信deep3321