RTX 5090D 部署 LLaMA-Factory 全流程实战:从环境配置到分布式训练
刚拿到 5090D 显卡时,我迫不及待地想用它跑些大模型实验。但当我在全新系统上安装 LLaMA-Factory 准备微调模型时,却遇到了令人头疼的 CUDA 兼容性问题——训练脚本刚启动就报错 RuntimeError: CUDA error: no kernel image is available for execution on the device。经过一番排查,发现是 PyTorch 版本与 5090D 的 CUDA 12.8 不兼容导致的。如果你也遇到类似问题,这份实战指南将带你完整走通环境配置到成功训练的每个环节。
硬件环境准备与基础检查
在开始安装前,我们需要确认几个关键配置。5090D 显卡作为新一代计算卡,其 CUDA 架构与消费级显卡有所不同。首先通过以下命令检查驱动和 CUDA 版本:
nvidia-smi
nvcc --version
典型输出应类似:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 535.86.05 Driver Version: 535.86.05 CUDA Version: 12.8 |
+-------------------------------+----------------------+----------------------+
必须确保:
- 驱动版本≥535.86.05
- CUDA Toolkit 版本≥12.8
- cuDNN 版本≥8.9.6
如果版本不符,需要先升级驱动。对于 Ubuntu 系统,建议使用官方仓库安装 CUDA Toolkit,避免使用系统自带的旧版包。这里有个细节要注意,安装完 CUDA 后记得更新环境变量,否则后续编译可能找不到头文件。
构建 PyTorch 环境
接下来是核心环节。由于 5090D 属于较新的架构,默认的 PyTorch 预编译包可能不支持最新的 Compute Capability。这时候不能直接 pip install torch,得去 PyTorch 官网查看对应的 wheel 包链接。
通常建议指定 index-url 安装匹配 CUDA 12.x 的版本:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
注意这里的 cu121 只是示例,实际请根据你安装的 CUDA Toolkit 版本调整(如 cu124、cu128)。安装完成后,务必运行一段测试代码验证 GPU 可见性:
import torch
print(torch.cuda.is_available())
print(torch.cuda.get_device_name(0))
如果打印出 True 和你的显卡型号,说明底层通信没问题。这一步别跳过,很多后续的报错其实根源都在这里。
LLaMA-Factory 安装与调试
环境就绪后,再安装 LLaMA-Factory。推荐使用 git clone 源码方式,方便后续修改和调试。
git clone https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -e .[torch]
如果在启动训练时再次遇到 no kernel image 错误,大概率是 PyTorch 编译时的架构支持列表没覆盖到你的显卡。这时候可以尝试重新编译 PyTorch,或者寻找社区针对该特定架构优化的预编译版本。另外,检查你的配置文件中的 device_map 设置,确保它正确指向了可用的 GPU ID。

