环境搭建:工欲善其事,必先利其器
说实话,做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时,光配环境就花了两天。但配好之后,后面跑实验就顺畅多了。所以别急,慢慢来。
公众号:蓝海资料掘金营,微信deep3321