针对你使用 CUDA 12.6 的情况,以下是完整的 Hugging Face + PyTorch + CUDA 12.6 的配置流程,并结合你在 PyCharm 中的开发环境。
1. 安装 NVIDIA 驱动程序
首先确保你已经安装了适用于 CUDA 12.6 的最新 NVIDIA 驱动程序。
-
访问 NVIDIA官网。
-
选择你的显卡型号(4090)和操作系统(Windows 10/11 64-bit)。
-
下载并安装最新的驱动程序。
-
安装完成后,重启系统。
2. 安装 CUDA 12.6 和 cuDNN
安装 CUDA 12.6:
-
选择以下选项:
-
操作系统:
Windows
-
架构:
x86_64
-
版本:选择
CUDA 12.6
对应的 Windows 版本。 -
安装方式:建议选择
exe (local)
。
-
-
下载并运行安装文件。
-
在安装过程中选择 Custom 安装,确保以下组件被勾选:
-
CUDA Toolkit
-
CUDA Samples
-
CUDA Driver
-
-
等待安装完成,系统可能会要求重新启动。
安装 cuDNN:
cuDNN 是用于深度学习的库,需要确保它与你的 CUDA 12.6 版本兼容。
-
注册并登录后,选择与 CUDA 12.6 版本兼容的 cuDNN 版本。
-
下载 cuDNN for Windows 的压缩包,解压后会得到
bin
,include
, 和lib
文件夹。 -
将这些文件复制到你的 CUDA 12.6 安装目录:
-
将
bin
文件夹的内容复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6\bin
。 -
将
include
文件夹的内容复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6\include
。 -
将
lib
文件夹的内容复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6\lib\x64
。
-
3. 配置环境变量
设置 PATH 变量:
-
打开 控制面板 -> 系统 -> 高级系统设置 -> 环境变量。
-
在 系统变量 中找到
Path
,然后点击 编辑。 -
点击 新建,添加以下路径:
-
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6\bin
-
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6\libnvvp
-
-
点击 确定 保存。
4. 安装 PyCharm 并设置虚拟环境
安装 PyCharm:
-
前往 PyCharm 官网 下载并安装最新版本的 PyCharm。
-
安装后,启动 PyCharm。
创建项目和虚拟环境:
-
在 PyCharm 中,点击 New Project。
-
在项目设置页面,选择 Create a new virtual environment:
-
Location:选择项目路径。
-
Base interpreter:选择你系统的 Python 解释器。
-
-
点击 Create,PyCharm 将自动创建一个虚拟环境。
5. 安装 PyTorch(支持 CUDA 12.6)
PyTorch 尚未官方支持 CUDA 12.6 的二进制版本,因此需要手动构建或者使用兼容的方式安装。你可以选择使用pip
来安装较新版本的 PyTorch,确保它可以与 CUDA 12.6 兼容。
-
打开 PyCharm 的 Terminal。
-
确保激活了虚拟环境(默认情况下,PyCharm 会自动激活虚拟环境)。
-
使用以下命令安装与 CUDA 兼容的 PyTorch:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
虽然我们选择了
cu118
(CUDA 11.8)的预编译版本,但它可以在支持 CUDA 12.6 的环境中正常运行。
6. 安装 Hugging Face 的 transformers
和 accelerate
库
-
在 PyCharm 的 Terminal 中,运行以下命令安装 Hugging Face 库:
pip install transformers pip install accelerate
7. 测试 GPU 环境
测试 PyTorch 的 GPU 支持:
-
在 PyCharm 中,创建一个新的 Python 文件
test_pytorch_gpu.py
。 -
输入以下代码,检查 PyTorch 是否能够使用 GPU:
import torch
# 检查CUDA是否可用
if torch.cuda.is_available():
print("CUDA is available. PyTorch can use GPU.")
print(f"GPU Name: {torch.cuda.get_device_name(0)}")
else:
print("CUDA is not available. PyTorch is using CPU.")
运行该代码,确保输出显示 NVIDIA GeForce RTX 4090
。
测试 Hugging Face 模型的 GPU 推理:
-
在 PyCharm 中,创建一个新的 Python 文件
test_huggingface_gpu.py
。 -
输入以下代码加载 Hugging Face 模型并使用 GPU 进行推理:
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
# 加载模型和tokenizer
model_name = "meta-llama/CodeLlama-13b-hf"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name).to('cuda')
# 使用GPU推理
inputs = tokenizer("def hello_world():", return_tensors="pt").to('cuda')
outputs = model.generate(inputs.input_ids, max_length=50)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
运行该代码,检查模型是否能够成功使用 GPU 进行推理。
总结:
-
安装并配置了 CUDA 12.6 和 cuDNN。
-
使用 PyCharm 创建虚拟环境,安装支持 GPU 的 PyTorch。
-
安装了 Hugging Face 的
transformers
和accelerate
库。 -
通过 PyTorch 和 Hugging Face 的测试代码,确认 GPU 支持已经正常配置。