在阿里云 GPU 云服务器(https://www.aliyun.com/product/egs)(如gn6i,gn7,ecs-gn8等实例)上安装 AI 环境,核心在于驱动、CUDA 工具包和深度学习框架的匹配。
⚠️重要前提:
- 不要自己从 NVIDIA 官网下载驱动编译!极易出现版本冲突导致内核崩溃。
- 首选方案:使用阿里云提供的AI 加速镜像(Deep Learning AMI)或官方预装镜像。这是最稳定、最省时的方法。
- 次选方案:如果必须从零搭建,请严格遵循“驱动 -> CUDA -> cuDNN -> PyTorch/TensorFlow”的顺序。
以下是两种具体操作路径:
🟢 方案一:一键部署(推荐新手/快速上手)
适用场景:不想折腾配置,只想尽快跑通模型(如 Stable Diffusion, LLM 推理)。
步骤 1:创建服务器时选择镜像
- 登录阿里云 ECS 控制台,创建实例。
- 在镜像选择阶段,切换到“公共镜像”或“应用镜像”标签页。
- 寻找名为“GPU 计算型”或“AI 开发环境”相关的镜像。
- 例如:
Ubuntu 20.04/22.04 GPU Deep Learning Image。 - 这些镜像通常预装了:NVIDIA Driver + CUDA 11.x/12.x + cuDNN + PyTorch/TensorFlow + Jupyter Notebook。
- 例如:
步骤 2:验证环境
SSH 登录服务器后,运行以下命令检查是否成功:
# 1. 检查显卡驱动 nvidia-smi # 如果能看到显卡型号、驱动版本和 CUDA Version,说明驱动正常。 # 2. 检查 CUDA 版本 nvcc --version # 3. 检查 Python 和 PyTorch python3 -c "import torch; print(torch.__version__); print(torch.cuda.is_available())" # 如果输出 True,说明 GPU 加速已就绪。步骤 3:启动开发环境
大多数 AI 镜像都预装了 Jupyter Lab,你可以直接访问:http://<你的公网IP>:8888即可在浏览器中进行代码编写和模型训练。
🔵 方案二:手动从零搭建(适合高级用户/定制需求)
适用场景:需要特定版本的 CUDA,或者使用的是自定义基础镜像(如纯 Ubuntu Server)。
假设你使用的是Ubuntu 22.04系统。
第一步:安装 NVIDIA 显卡驱动
阿里云 ECS 的 GPU 实例通常已经安装了驱动,但如果是裸金属或自定义镜像,可能需要重装。注意:阿里云官方建议通过ubuntu-drivers自动安装,避免手动.run文件安装导致的内核不匹配。
# 更新软件源 sudo apt update sudo apt upgrade -y # 安装推荐驱动 sudo ubuntu-drivers autoinstall # 重启服务器使驱动生效 sudo reboot重启后再次运行nvidia-smi确认驱动加载。
第二步:安装 CUDA Toolkit
关键原则:驱动版本决定了你能安装的最高CUDA 版本,但不能低于它。 查看nvidia-smi输出的CUDA Version: 12.4,这意味着你最高可以安装 12.4 版本的 CUDA Toolkit,也可以安装更低版本(如 11.8),只要兼容即可。
以安装CUDA 11.8(目前最稳定的 AI 训练版本) 为例:
# 1. 下载 CUDA 11.8 的 runfile 安装包 (从 NVIDIA 官网获取链接) wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run # 2. 赋予执行权限 chmod +x cuda_11.8.0_520.61.05_linux.run # 3. 开始安装 (注意:安装过程中会问你是否安装驱动,选 NO,因为上面已经装过了) sudo ./cuda_11.8.0_520.61.05_linux.run --silent --toolkit --samples=/usr/local/cuda-11.8/samples # 4. 配置环境变量 echo 'export PATH=/usr/local/cuda-11.8/bin${PATH:+:${PATH}}' >> ~/.bashrc echo 'export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}' >> ~/.bashrc source ~/.bashrc # 5. 验证 nvcc --version第三步:安装 cuDNN
cuDNN 是 NVIDIA 的深度学习库,必须与 CUDA 版本严格对应。
- 去 NVIDIA Developer 网站下载对应 CUDA 11.8 的 cuDNN for Linux。
- 解压后,将头文件和库文件复制到 CUDA 目录:
tar -xzvf cudnn-linux-x86_64-8.9.0.131_cuda11-archive.tar.xz sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64 sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*第四步:安装深度学习框架 (PyTorch 示例)
千万不要用 pip install pytorch 默认源!一定要去 PyTorch 官网 根据你的 CUDA 版本生成命令。
对于 CUDA 11.8:
# 使用 conda 管理虚拟环境 (推荐) conda create -n ai_env python=3.10 conda activate ai_env # 安装 PyTorch (指定 CUDA 11.8) pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118第五步:验证 AI 环境
创建一个测试脚本test_gpu.py:
import torch print(f"CUDA Available: {torch.cuda.is_available()}") print(f"Device Count: {torch.cuda.device_count()}") print(f"Current Device Name: {torch.cuda.get_device_name(0)}") print(f"PyTorch Version: {torch.__version__}") # 简单的矩阵乘法测试速度 a = torch.randn(1000, 1000).cuda() b = torch.randn(1000, 1000).cuda() c = torch.mm(a, b) print("GPU Inference Test Passed!")💡 常见问题排查 (Troubleshooting)
nvidia-smi报错 "NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver"- 原因:内核更新后,驱动模块未重新加载。
- 解决:重启服务器 (
sudo reboot)。如果还不行,尝试sudo modprobe nvidia。
PyTorch 报
RuntimeError: Found no NVIDIA driver on your system.- 原因:虽然
nvidia-smi能跑,但 Python 找不到 CUDA 库。 - 解决:检查
~/.bashrc中的LD_LIBRARY_PATH是否正确设置,并执行source ~/.bashrc。
- 原因:虽然
显存不足 (OOM)
- 解决:
- 减小 Batch Size。
- 使用梯度累积 (Gradient Accumulation)。
- 混合精度训练 (Mixed Precision, FP16/BF16)。
- 清理其他进程:
nvidia-smi查看是否有僵尸进程占用显存,kill -9 <PID>杀掉。
- 解决:
如何远程连接 Jupyter?
- 阿里云安全组需开放8888端口。
- 启动时加参数:
jupyter lab --ip=0.0.0.0 --port=8888 --no-browser --allow-root
🏆 最终建议
对于绝大多数用户,直接使用阿里云 Marketplace 中的“Deep Learning Base Image”是最优解。它们已经处理好了所有复杂的依赖关系,你只需要关注代码本身。只有在有极特殊的版本需求时,才考虑手动搭建。