本地跑大模型时,nvidia-smi 能看到卡,torch 却报 CUDA not available;或者 Ollama/LM Studio 刚启动就崩,控制台里全是 ImportError。这类问题 70% 不是硬件坏了,而是驱动-CUDA-Python 依赖链里某个版本没对上。
先确认 GPU 基础状态
三连命令打一套:
nvidia-smi nvcc --version python -c "import torch; print(torch.cuda.is_available(), torch.version.cuda)"
如果 nvidia-smi 正常但 torch.cuda.is_available() 返回 False,基本是 PyTorch 与 CUDA 版本不匹配。
CUDA 版本不匹配怎么修
不要同时装三四个 CUDA。建议只保留一个主版本,用 conda 或官方 runfile 重装:
pip uninstall torch torchvision torchaudio pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
装完后再次执行上面的 torch 检查,确认 version.cuda 和 nvcc 一致。
Python 依赖冲突:一项目一环境
最忌讳所有项目共用一个 base Python。每个模型项目独立建环境:
python -m venv venv source venv/bin/activate pip install -r requirements.txt pip freeze > locked.txt
如果冲突严重,用 pip install package==version --force-reinstall 指定版本,不要让它自动升级。
模型权重格式问题
LLaMA、Qwen、DeepSeek 的量化版格式多样:GGUF、GPTQ、AWQ、Safetensors。框架和格式必须对应:
- llama.cpp / Ollama → GGUF
- Transformers → Safetensors / 原始 bin
- AutoGPTQ → GPTQ
如果提示词表缺失,说明模型文件没下全,重新拉取完整仓库。
七步排查流程
| 错误 | 根因 | 处理 |
|---|---|---|
| CUDA out of memory | 显存不够/并发太高 | 降低量化精度、限制 n_gpu_layers |
| torch.cuda.is_available() False | PyTorch CUDA 版本不对 | 按 nvidia-smi 的 CUDA 重装 torch |
| ImportError / 版本冲突 | 依赖打架 | 新建 venv、固定 requirements |
常见问题
Q:nvidia-smi 显示的 CUDA 版本和 nvcc 不一致,该听谁的?
以能跑起来的为准。通常 PyTorch 安装时要对齐 nvidia-smi 右上角的 CUDA Version。
Q:已经建了新 venv,为什么还是报错?
检查 vscode/jupyter 用的解释器是不是新 venv,而不是系统 Python。
Q:显存够,加载模型却很慢?
用 low_cpu_mem_usage=True 或换 .gguf 量化版,加载速度会快很多。
你在 fenij.com 部署本地模型时还踩过哪些坑?欢迎留言补充,我把它整理进正文。