在阿里云ECS服务器上安装GPU驱动并进行机器学习训练,主要适用于配备了GPU的实例类型(如GN系列:gn6i、gn6v、gn7等)。以下是详细的操作步骤:
一、准备工作
-
选择支持GPU的ECS实例
- 购买时选择带有GPU的实例规格,例如:
ecs.gn6i-c4g1.xlarge(T4 GPU)ecs.gn6v-c8g1.8xlarge(V100 GPU)ecs.gn7e-c16g1.8xlarge(A10 GPU)
- 购买时选择带有GPU的实例规格,例如:
-
操作系统建议
- 推荐使用 Ubuntu 18.04/20.04/22.04 或 CentOS 7/8
- 确保系统为64位
-
远程连接ECS
- 使用SSH登录(Linux)或远程桌面(Windows)
二、安装GPU驱动
方法一:自动安装(推荐)
阿里云提供了 GPU驱动自动化安装脚本,可一键安装驱动、CUDA、cuDNN。
# 下载脚本
wget https://image-offline.oss-cn-hangzhou.aliyuncs.com/gpu/NVIDIA-Linux-x86_64.run
# 赋予执行权限
chmod +x NVIDIA-Linux-x86_64.run
# 执行安装(根据提示操作)
sudo ./NVIDIA-Linux-x86_64.run
更推荐使用阿里云官方提供的自动化工具:
# 安装阿里云GPU驱动工具(支持自动检测和安装)
curl -O http://image-offline.oss-cn-hangzhou.aliyuncs.com/gpu/linux_install_gpu_driver.sh
sudo sh linux_install_gpu_driver.sh
该脚本会自动:
- 检测GPU型号
- 安装对应版本的NVIDIA驱动
- 安装CUDA Toolkit(可选)
- 安装cuDNN(需手动配置或额外脚本)
方法二:手动安装
- 禁用nouveau驱动(仅Ubuntu/CentOS)
# 编辑黑名单文件
sudo vim /etc/modprobe.d/blacklist-nouveau.conf
添加以下内容:
blacklist nouveau
options nouveau modeset=0
更新initramfs:
sudo update-initramfs -u # Ubuntu
# 或
sudo dracut --force # CentOS
重启系统:
sudo reboot
- 下载NVIDIA驱动
前往 NVIDIA官网 选择对应GPU型号下载驱动(.run 文件),或使用wget:
wget https://us.download.nvidia.com/tesla/xxx/NVIDIA-Linux-x86_64-xxx.run
- 安装驱动
# 停止图形界面(如果有的话)
sudo telinit 3
# 安装驱动
sudo chmod +x NVIDIA-Linux-x86_64-xxx.run
sudo ./NVIDIA-Linux-x86_64-xxx.run
# 按提示完成安装(建议不安装OpenGL,避免冲突)
- 验证驱动安装
nvidia-smi
成功后应显示GPU信息,如显存、温度、驱动版本等。
三、安装CUDA和cuDNN
- 安装CUDA Toolkit
推荐通过NVIDIA官方仓库安装:
# 添加CUDA仓库(以Ubuntu为例)
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get install -y cuda
# 添加环境变量
echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
- 安装cuDNN
- 登录 NVIDIA cuDNN官网
- 下载与CUDA版本匹配的cuDNN(需注册账号)
- 解压并复制文件:
tar -xzvf cudnn-linux-x86_64-8.x.x.x_cudaX.Y-archive.tar.xz
sudo cp cuda/include/cudnn*.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
四、安装深度学习框架(如PyTorch / TensorFlow)
安装PyTorch(支持CUDA)
# 创建虚拟环境(推荐)
python3 -m venv ml-env
source ml-env/bin/activate
# 安装PyTorch(根据CUDA版本选择命令)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
验证GPU是否可用:
import torch
print(torch.cuda.is_available()) # 应输出 True
print(torch.cuda.get_device_name(0)) # 显示GPU型号
安装TensorFlow-GPU
pip install tensorflow[and-cuda]
验证:
import tensorflow as tf
print(tf.config.list_physical_devices('GPU'))
五、开始机器学习训练
- 准备数据集和模型代码(如ResNet、BERT等)
- 使用GPU进行训练:
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.to(device)
data = data.to(device)
六、常见问题排查
| 问题 | 解决方案 |
|---|---|
nvidia-smi 命令未找到 |
驱动未安装或未加入PATH |
CUDA_ERROR_NO_DEVICE |
GPU未识别,检查实例类型和驱动 |
| 训练速度慢 | 检查是否真正在使用GPU(nvidia-smi查看使用率) |
| 内存不足 | 减小batch size或升级实例规格 |
七、优化建议
- 使用 阿里云容器服务 + GPU节点 运行训练任务(更高效)
- 结合 NAS/OSS 存储大规模数据集
- 使用 AutoML 工具(如PAI-EAS、Deep Learning Studio)
✅ 总结:
在阿里云ECS上做GPU机器学习训练的关键是:
- 选择正确的GPU实例
- 正确安装驱动(推荐使用阿里云脚本)
- 配置CUDA/cuDNN
- 安装支持GPU的深度学习框架
完成以上步骤后,即可高效运行PyTorch/TensorFlow等训练任务。
如有具体实例型号或框架需求,可进一步提供帮助。
云小栈