You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Windows系统为Huggingface Trainer启用CUDA?

问题:使用HuggingFace Transformers Trainer启用FP16训练时触发设备错误

我尝试在Python中使用HuggingFace Transformers库的Trainer,代码如下:

from transformers import Seq2SeqTrainingArguments
from transformers import Seq2SeqTrainer

#  ...

training_args = Seq2SeqTrainingArguments(fp16=True,

# ...

trainer = Seq2SeqTrainer( args=training_args,

# ...

运行后出现如下错误:

ValueError: FP16 Mixed precision training with AMP or APEX (--fp16)
and FP16 half precision evaluation (--fp16_full_eval) can only be
used on CUDA or NPU devices or certain XPU devices (with IPEX).

看起来缺少CUDA相关组件,但无法确定具体需要安装什么。我已尝试以下操作但未成功:

py -m pip install --upgrade setuptools pip wheel
py -m pip install nvidia-pyindex
py -m pip install nvidia-cuda-runtime-cu12

py -m pip install nvidia-nvml-dev-cu12
py -m pip install nvidia-cuda-nvcc-cu12

系统信息:

  • Windows 11 Build 22621
  • Python 3.11.7,运行于虚拟环境venv中
  • 显卡:Geforce RTX 4070

解决思路

  1. 匹配CUDA驱动与PyTorch版本

    • 先卸载已安装的nvidia-cuda相关包:
      py -m pip uninstall nvidia-cuda-runtime-cu12 nvidia-nvml-dev-cu12 nvidia-cuda-nvcc-cu12 nvidia-pyindex -y
      
    • 安装带CUDA 12.x支持的PyTorch(RTX4070适配CUDA 12.x),执行以下命令:
      py -m pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
      
    • 验证CUDA可用性:运行python -c "import torch; print(torch.cuda.is_available())",输出True即说明环境正常。
  2. 确保虚拟环境能访问GPU

    • 关闭所有占用GPU的程序(如其他Python进程、游戏等),重启虚拟环境后重新运行训练代码。
  3. 临时替代方案

    • 若暂时无法修复CUDA环境,可将Seq2SeqTrainingArguments中的fp16=True改为fp16=False,以单精度GPU或CPU模式运行训练。
  4. 更新显卡驱动

    • 打开NVIDIA控制面板,检查驱动版本是否为最新。RTX4070需至少CUDA 11.8以上的驱动支持,建议更新至最新Game Ready驱动。

内容的提问来源于stack exchange,提问作者Frank im Wald

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 00:55:55