2、环境准备:Python环境搭建、PyTorch安装、Hugging Face Transformers库安装、TRL库安装、GPU环境配置与验证
说实话,做RLHF实战,最怕的不是算法难,而是环境装到一半报错。
我刚开始搞这个的时候,光装CUDA就折腾了两天。后来发现,很多坑其实是可以绕开的。这一章,我就把这些年踩过的坑、总结的经验,一次性给你讲清楚。
2.1 Python环境搭建
我个人习惯用Conda来管理环境。为什么呢?因为项目多了,每个依赖版本不一样,用Conda隔离最省心。
推荐版本:Python 3.10 或 3.11。太老的版本(比如3.7)很多新库不支持,太新的(3.12)有些库还没适配。
安装步骤很简单:
# 1. 创建虚拟环境
conda create -n rlhf_env python=3.10
# 2. 激活环境
conda activate rlhf_env
# 3. 验证Python版本
python --version
小技巧:环境名别起太复杂,我一般用项目名缩写。比如RLHF项目就叫rlhf_env,好记又好敲。
2.2 PyTorch安装
PyTorch的安装,说白了就是一句话:去官网选对命令。
为什么这么说?因为PyTorch的安装命令跟你的CUDA版本强相关。装错了,要么跑不起来,要么跑在CPU上慢得要命。
我个人建议分两步走:
- 先确认CUDA版本:在终端输入
nvidia-smi,看右上角的CUDA Version。 - 去PyTorch官网(pytorch.org)选对应的命令。
举个例子,如果你的CUDA是12.1,命令就是:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
注意:千万别用 pip install torch 裸装。那样会装CPU版本,你训练一个大模型试试?慢到怀疑人生。我曾经就犯过这个错,跑了一个小模型等了半小时没反应,后来才发现装的是CPU版。
装完后验证一下:
python -c "import torch; print(torch.__version__); print(torch.cuda.is_available())"
如果输出 True,恭喜你,GPU环境通了。
2.3 Hugging Face Transformers库安装
这个库是RLHF的基石。没有它,你连模型都加载不了。
安装命令很简单:
pip install transformers
但这里有个坑——版本问题。我建议装最新版,因为RLHF相关的API(比如 AutoModelForCausalLM)在旧版里可能没有。
推荐做法:装完后再升级一下:pip install --upgrade transformers
验证是否装好:
python -c "from transformers import AutoModel; print('Transformers OK')"
2.4 TRL库安装
TRL(Transformer Reinforcement Learning)是Hugging Face专门为RLHF开发的库。说白了,它把PPO训练、奖励模型这些流程都封装好了,你直接调就行。
安装命令:
pip install trl
个人经验:TRL库更新很快,有时候API会变。我建议装完后再看看官方文档,确认一下当前版本的用法。别像我一样,照着半年前的教程写代码,结果API全变了。
验证:
python -c "from trl import PPOTrainer; print('TRL OK')"
2.5 GPU环境配置与验证
GPU环境是RLHF的命根子。没有GPU,你连一个7B模型都跑不动。
配置步骤:
- 安装NVIDIA驱动:去NVIDIA官网下载对应显卡的驱动。
- 安装CUDA Toolkit:注意版本要和PyTorch匹配。
- 安装cuDNN:这个不是必须的,但装了能加速。
验证GPU是否可用:
python -c "
import torch
print('GPU可用:', torch.cuda.is_available())
print('GPU数量:', torch.cuda.device_count())
print('GPU名称:', torch.cuda.get_device_name(0))
"
避坑指南:我曾经遇到过 torch.cuda.is_available() 返回 False,但 nvidia-smi 明明能看到显卡。后来发现是PyTorch版本和CUDA版本不匹配。解决办法:卸载PyTorch,重新装对应CUDA版本的。
2.6 知识体系总览
下面这张图,把整个环境准备的核心逻辑串起来了。你照着这个顺序装,基本不会出错。
2.7 一键安装脚本
为了方便,我整理了一个安装脚本。你直接复制到终端运行就行:
# 一键安装RLHF环境
conda create -n rlhf_env python=3.10 -y
conda activate rlhf_env
# 安装PyTorch(以CUDA 12.1为例)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
# 安装Hugging Face生态
pip install transformers trl datasets accelerate
# 验证
python -c "
import torch
print('PyTorch版本:', torch.__version__)
print('GPU可用:', torch.cuda.is_available())
from transformers import AutoModel
from trl import PPOTrainer
print('所有库安装成功!')
"
最后说一句:环境装好了,后面的事就顺了。如果遇到报错,别慌。99%的问题都是版本不匹配。去Google搜一下错误信息,基本都能解决。
好了,环境准备好了。接下来就可以真正开始RLHF的实战了。