1. 环境准备与依赖安装
在开始LoRA监督微调之前,我们需要先搭建好Python开发环境。这里我推荐使用conda来管理环境,可以有效避免不同项目间的依赖冲突。
1.1 创建conda环境
首先创建一个名为qwen310的Python 3.10环境:
bash复制conda create -n qwen310 python=3.10 -y
conda activate qwen310
pip install -U pip
注意:使用Python 3.10是因为它对新版PyTorch和transformers库有更好的兼容性。如果使用其他版本可能会遇到一些依赖问题。
1.2 安装基础依赖包
为了加快安装速度,我们可以使用清华源来安装基础包:
bash复制pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -U transformers accelerate sentencepiece tokenizers
这些包的作用分别是:
- transformers:Hugging Face的核心库,提供模型加载和训练功能
- accelerate:分布式训练支持库
- sentencepiece:分词器依赖
- tokenizers:高效分词实现
1.3 安装PyTorch
对于PyTorch,建议直接从官方源安装,以确保获得完整的CUDA支持:
bash复制pip install torch==2.5.1+cu124 torchvision==0.20.1+cu124 torchaudio==2.5.1+cu124 --index-url https://download.pytorch.org/whl/cu124
这里我们选择CUDA 12.4版本,因为它对新一代NVIDIA显卡有更好的支持。如果你的显卡较旧,可以考虑使用CUDA 11.8版本。
1.4 解决常见环境问题
在安装过程中可能会遇到以下错误:
code复制ImportError: /opt/conda/envs/qwen310/lib/python3.10/site-packages/torch/lib/../../nvidia/cusparse/lib/libcusparse.so.12: undefined symbol: __nvJitLinkComplete_12_4, version libnvJitLink.so.12
这是因为CUDA库路径设置不正确导致的。解决方法如下:
bash复制conda activate qwen310
export LD_LIBRARY_PATH="$CONDA_PREFIX/lib:$CONDA_PREFIX/nvidia/nvjitlink/lib:$CONDA_PREFIX/nvidia/cusparse/lib"
python -c "import ctypes; ctypes.CDLL('libnvJitLink.so.12'); print('nvjitlink OK')"
这个命令将cond
