What are your feelings

  • Happy
  • Normal
  • Sad

HuggingFace+PyTorch+CUDA的配置流程

针对你使用 CUDA 12.6 的情况,以下是完整的 Hugging Face + PyTorch + CUDA 12.6 的配置流程,并结合你在 PyCharm 中的开发环境。

1. 安装 NVIDIA 驱动程序

首先确保你已经安装了适用于 CUDA 12.6 的最新 NVIDIA 驱动程序。

  1. 访问 NVIDIA官网

  2. 选择你的显卡型号(4090)和操作系统(Windows 10/11 64-bit)。

  3. 下载并安装最新的驱动程序。

  4. 安装完成后,重启系统。

2. 安装 CUDA 12.6 和 cuDNN

安装 CUDA 12.6:

  1. 前往 NVIDIA CUDA Toolkit 下载页面

  2. 选择以下选项:

    • 操作系统:Windows

    • 架构:x86_64

    • 版本:选择 CUDA 12.6 对应的 Windows 版本。

    • 安装方式:建议选择 exe (local)

  3. 下载并运行安装文件。

  4. 在安装过程中选择 Custom 安装,确保以下组件被勾选:

    • CUDA Toolkit

    • CUDA Samples

    • CUDA Driver

  5. 等待安装完成,系统可能会要求重新启动。

安装 cuDNN:

cuDNN 是用于深度学习的库,需要确保它与你的 CUDA 12.6 版本兼容。

  1. 前往 NVIDIA cuDNN 下载页面

  2. 注册并登录后,选择与 CUDA 12.6 版本兼容的 cuDNN 版本。

  3. 下载 cuDNN for Windows 的压缩包,解压后会得到 bin, include, 和 lib 文件夹。

  4. 将这些文件复制到你的 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 变量:

  1. 打开 控制面板 -> 系统 -> 高级系统设置 -> 环境变量

  2. 系统变量 中找到 Path,然后点击 编辑

  3. 点击 新建,添加以下路径:

    • C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6\bin

    • C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6\libnvvp

  4. 点击 确定 保存。

4. 安装 PyCharm 并设置虚拟环境

安装 PyCharm:

  1. 前往 PyCharm 官网 下载并安装最新版本的 PyCharm。

  2. 安装后,启动 PyCharm。

创建项目和虚拟环境:

  1. 在 PyCharm 中,点击 New Project

  2. 在项目设置页面,选择 Create a new virtual environment

    • Location:选择项目路径。

    • Base interpreter:选择你系统的 Python 解释器。

  3. 点击 Create,PyCharm 将自动创建一个虚拟环境。

5. 安装 PyTorch(支持 CUDA 12.6)

PyTorch 尚未官方支持 CUDA 12.6 的二进制版本,因此需要手动构建或者使用兼容的方式安装。你可以选择使用pip来安装较新版本的 PyTorch,确保它可以与 CUDA 12.6 兼容。

  1. 打开 PyCharm 的 Terminal

  2. 确保激活了虚拟环境(默认情况下,PyCharm 会自动激活虚拟环境)。

  3. 使用以下命令安装与 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 的 transformersaccelerate

  1. 在 PyCharm 的 Terminal 中,运行以下命令安装 Hugging Face 库:

    pip install transformers
    pip install accelerate

7. 测试 GPU 环境

测试 PyTorch 的 GPU 支持:

  1. 在 PyCharm 中,创建一个新的 Python 文件 test_pytorch_gpu.py

  2. 输入以下代码,检查 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 推理:

  1. 在 PyCharm 中,创建一个新的 Python 文件 test_huggingface_gpu.py

  2. 输入以下代码加载 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 进行推理。

总结:

  1. 安装并配置了 CUDA 12.6cuDNN

  2. 使用 PyCharm 创建虚拟环境,安装支持 GPU 的 PyTorch。

  3. 安装了 Hugging Face 的 transformersaccelerate 库。

  4. 通过 PyTorch 和 Hugging Face 的测试代码,确认 GPU 支持已经正常配置。

索引