在阿里云上搭建机器学习环境,核心在于选择合适的计算实例(ECS 或 PAI)以及配置合适的软件栈。以下是详细指南:
一、选择实例类型
1. 通用型 / 计算型 ECS 实例
适用于轻量级 ML 任务、数据预处理、模型推理等。
- 推荐系列:
ecs.g7(通用)、ecs.c7(计算型) - 特点:性价比高,CPU 性能强,适合无 GPU 需求的场景。
2. GPU 提速型 ECS 实例
适用于深度学习训练、大规模模型训练等高算力需求场景。
- 推荐系列:
ecs.gn7i:搭载 NVIDIA A10/A100 GPUecs.gn6v:搭载 NVIDIA V100 GPUecs.gn5:搭载 NVIDIA P100 GPU(性价比更高)
- 注意:GPU 实例价格较高,需根据预算和性能需求选择。
3. AI 专用平台:PAI(Platform for AI)
阿里云提供的端到端机器学习平台,内置算法框架、自动调参、模型部署等功能。
- 优势:无需手动配置环境,支持 TensorFlow、PyTorch 等主流框架。
- 适用场景:快速原型开发、团队协作、生产级 ML 流水线。
✅ 建议:
- 初学者/轻量任务 → 使用 PAI 免费试用 或 普通 ECS + Docker
- 深度学习训练 → 选择 GPU 实例(如 gn7i)
- 企业级生产环境 → 使用 PAI-EAS(弹性算法服务) 进行模型部署
二、搭建步骤(以 ECS 为例)
步骤 1:创建 ECS 实例
- 登录 阿里云控制台
- 进入 ECS 控制台 → 创建实例
- 选择地域(建议选择靠近你的用户或数据源的地域,如华东1-杭州)
- 选择实例规格:
- CPU 任务:
ecs.g7.large(2 vCPU, 8 GiB) - GPU 任务:
ecs.gn7i-c4g1.xlarge(4 vCPU, 32 GiB, 1×A10)
- CPU 任务:
- 操作系统:推荐 Ubuntu 20.04/22.04 LTS 或 CentOS 7/8
- 网络:绑定弹性公网 IP(EIP),确保可访问互联网
步骤 2:安装基础环境
通过 SSH 登录服务器,执行以下命令:
# 更新系统
sudo apt update && sudo apt upgrade -y
# 安装 Python 3.9+
sudo apt install python3.9 python3-pip python3-dev -y
# 安装 CUDA 和 cuDNN(仅 GPU 实例需要)
# 参考 NVIDIA 官方文档安装对应版本的 CUDA
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-keyring_1.0-1_all.deb
sudo dpkg -i cuda-keyring_1.0-1_all.deb
sudo apt update
sudo apt install -y cuda-toolkit-11-8
# 验证 CUDA
nvcc --version
步骤 3:安装深度学习框架
方式一:使用 Anaconda(推荐)
wget https://repo.anaconda.com/archive/Anaconda3-2023.07-Linux-x86_64.sh
bash Anaconda3-2023.07-Linux-x86_64.sh
source ~/.bashrc
# 创建虚拟环境
conda create -n ml_env python=3.9
conda activate ml_env
# 安装 PyTorch(CUDA 版本)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
# 或安装 TensorFlow
pip install tensorflow[and-cuda]
方式二:使用 Docker(更隔离、易迁移)
# 安装 Docker
sudo apt install docker.io -y
sudo systemctl start docker
# 拉取官方镜像
docker pull pytorch/pytorch:latest-cuda11.8-cudnn8-runtime
# 运行容器
docker run -it --gpus all pytorch/pytorch:latest-cuda11.8-cudnn8-runtime bash
步骤 4:配置安全组
- 在 ECS 控制台 → 安全组 → 添加规则:
- 允许入方向:TCP 22(SSH)、自定义端口(如需 Jupyter Notebook)
- 示例:开放 8888 端口用于 Jupyter
步骤 5:启动 Jupyter Notebook(可选)
pip install jupyter notebook
jupyter notebook --ip=0.0.0.0 --port=8888 --no-browser --allow-root
通过浏览器访问 http://<公网IP>:8888
三、最佳实践建议
| 项目 | 建议 |
|---|---|
| 数据存储 | 使用 OSS(对象存储)存放数据集,挂载到 ECS 或使用 ossfs |
| 模型管理 | 使用 Model Studio 或 OSS 存储模型文件 |
| 自动化运维 | 使用云监控 + 日志服务监控 GPU 利用率、内存占用 |
| 成本优化 | 非训练时段关机;使用抢占式实例(Spot Instance)降低 GPU 成本 |
| 备份与快照定期创建系统盘快照,防止数据丢失 |
四、替代方案:直接使用 PAI 平台
如果你不想手动配置环境,推荐使用 阿里云 PAI:
- 登录 PAI 控制台
- 创建工作空间 → 选择算法模板(如 PyTorch、TensorFlow)
- 上传数据至 OSS → 提交训练任务
- 自动分配 GPU 资源,无需管理服务器
🌟 优点:开箱即用、支持分布式训练、内置可视化、易于扩展。
总结
| 场景 | 推荐方案 |
|---|---|
| 学习/实验 | ECS + Docker + PyTorch/TensorFlow |
| 深度学习训练 | GPU 实例(gn7i/gn6v)或 PAI |
| 生产部署 | PAI-EAS 或 ECS + Kubernetes |
| 快速原型 | PAI 免费试用 + JupyterLab |
根据你的具体需求(数据量、模型复杂度、预算、团队规模)选择最合适的方案即可。如有进一步问题,欢迎继续提问!
云服务器