这篇教程面向刚开始做 AI 开发、模型部署、GPU 服务器配置的新手,系统串联以下核心组件:

整体主线:
硬件 GPU↓NVIDIA 显卡驱动↓CUDA / cuDNN↓PyTorch / TensorFlow↓Transformers / 业务模型代码↓API 服务 / Web 服务 / 推理服务 / 训练任务
英伟达显卡,也就是 NVIDIA GPU,是 AI 开发中负责大量矩阵运算、张量计算、并行计算的硬件。
普通 CPU 擅长处理复杂逻辑,例如系统调度、文件读写、业务代码执行。GPU 擅长同时处理大量简单但重复的计算,例如矩阵乘法、卷积、注意力机制计算。
显卡驱动是操作系统和 NVIDIA GPU 沟通的底层软件。
可以把驱动理解成“操作系统控制显卡的翻译官”。没有驱动,系统可能识别不到显卡;驱动版本不合适,CUDA 或 PyTorch 可能无法使用 GPU。
nvidia-smi
正常情况下会看到类似信息:
+---------------------------------------------------------------------------------------+| NVIDIA-SMI 535.xx Driver Version: 535.xx CUDA Version: 12.2 || GPUName Persistence-M | Bus-IdDisp.A | Volatile Uncorr. ECC || 0NVIDIA A10 Off | 00000000:00:1E.0 Off | 0 |+---------------------------------------------------------------------------------------+
重点字段:
字段含义 Driver Version当前宿主机安装的 NVIDIA 驱动版本CUDA Version当前驱动最高支持的 CUDA Runtime 版本GPU Name显卡型号Memory-Usage显存占用情况GPU-UtilGPU 计算利用率nvidia-smi 里显示的 CUDA Version,不代表你已经安装了 CUDA Toolkit。
它只表示:
当前显卡驱动最高兼容到哪个 CUDA 版本。
例如 nvidia-smi 显示 CUDA Version: 12.2,只能说明驱动支持 CUDA 12.2 及以下兼容范围内的 CUDA 程序,不代表系统里已经安装了 /usr/local/cuda-12.2。
CUDA 是 NVIDIA 提供的 GPU 通用计算平台。
可以这样理解:
显卡 = 工人显卡驱动 = 管理工人的底层系统CUDA = 让程序给工人派活的工具体系
nvcc --version
也可以检查目录:
ls /usr/local/
可能看到:
cudacuda-11.8cuda-12.1
nvcc。cuDNN 是 NVIDIA 为深度学习专门优化的 GPU 加速库。
它基于 CUDA,但比 CUDA 更贴近深度学习场景。
CUDA = GPU 通用计算平台cuDNN = 深度学习专用加速库
Python 是绝大多数 AI 项目的主要开发语言。
PyTorch、TensorFlow、Transformers、FastAPI、Flask、vLLM 等都运行在 Python 环境中。
conda create -n ai-gpu python=3.10 -yconda activate ai-gpu
检查 Python 版本和路径:
python --versionwhich pythonwhich pip
新手常见错误是系统有多个 Python,结果包安装到了 A 环境,运行却用了 B 环境。
PyTorch 是目前 AI 训练和推理中非常常用的深度学习框架。
安装 PyTorch 时最重要的是选对 CUDA 版本。
示例:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
这里的 cu121 表示这个 PyTorch 包是为 CUDA 12.1 构建的。
常见 PyTorch 包类型:
包类型含义 cpu只能用 CPUcu118支持 CUDA 11.8cu121支持 CUDA 12.1cu124支持 CUDA 12.4python -c "import torch; print(torch.__version__); print(torch.cuda.is_available()); print(torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'no cuda')"
更完整的验证代码:
import torchprint("PyTorch 版本:", torch.__version__)print("CUDA 是否可用:", torch.cuda.is_available())if torch.cuda.is_available():device