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上慢得要命。

我个人建议分两步走:

  1. 先确认CUDA版本:在终端输入 nvidia-smi,看右上角的CUDA Version。
  2. 去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模型都跑不动。

配置步骤:

  1. 安装NVIDIA驱动:去NVIDIA官网下载对应显卡的驱动。
  2. 安装CUDA Toolkit:注意版本要和PyTorch匹配。
  3. 安装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 知识体系总览

下面这张图,把整个环境准备的核心逻辑串起来了。你照着这个顺序装,基本不会出错。

RLHF环境准备核心流程 Python 3.10/3.11 PyTorch(匹配CUDA版本) Transformers + TRL(最新版) GPU验证(nvidia-smi + torch) ✅ 环境就绪 关键检查点 1. Conda环境隔离 2. CUDA版本匹配 3. PyTorch GPU版 4. Transformers最新 5. TRL库安装 6. GPU可用性验证 7. 版本一致性

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的实战了。


专注资料整理