AI Infra 深度教程
面向 AI 基础设施工程师的完整学习路径,从 GPU 容器化到 AI 平台架构
目标读者
- AI Infra / MLOps / AIOps 工程师
- 云原生平台开发者
- AI 平台 SRE
- 希望转型 AI 基础设施领域的后端工程师
前置知识
- Kubernetes 基础使用
- 容器技术原理 (参考 containerTutorial)
- Linux 系统管理
- Python / Go 编程基础
学习路径
┌─────────────────────────────────────────────────────────────────────────┐
│ AI Infra 学习路径 │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ Level 1: 基础 (1-2 周) │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 01-GPU容器化 → GPU 架构、NVIDIA 运行时、隔离共享 │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ Level 2: 进阶 (2-3 周) │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 02-Kubernetes-GPU调度 → Device Plugin、调度器扩展、拓扑感知 │ │
│ │ 03-AI训练平台 → 分布式训练、任务调度、容错恢复 │ │
│ │ 04-推理服务 → Triton、模型优化、动态批处理 │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ Level 3: 高级 (2-3 周) │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 05-异构计算 → 多芯片适配、统一调度 │ │
│ │ 06-AI工作流引擎 → DAG 编排、Agent 工作流 │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ Level 4: 专家 (持续) │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 07-MLOps实践 → 模型管理、特征工程、持续训练 │ │
│ │ 08-AIOps实践 → 智能监控、故障预测、自动化运维 │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────┘
目录结构
01-GPU 容器化
GPU 基础知识与容器化技术
| 章节 | 内容 | 难度 |
|---|---|---|
| 01-GPU架构基础 | CUDA 架构、GPU 内存模型、计算单元 | ⭐⭐ |
| 02-NVIDIA容器运行时 | nvidia-container-runtime、libnvidia-container | ⭐⭐ |
| 03-GPU共享与隔离 | MIG、vGPU、时分复用、显存隔离 | ⭐⭐⭐ |
| 04-GPU监控与调试 | nvidia-smi、DCGM、GPU 指标采集 | ⭐⭐ |
02-Kubernetes GPU 调度
K8s 扩展资源与 GPU 调度
| 章节 | 内容 | 难度 |
|---|---|---|
| 01-Device-Plugin机制 | 设备插件架构、Extended Resources | ⭐⭐⭐ |
| 02-GPU调度器实现 | 调度器扩展、GPU 感知调度 | ⭐⭐⭐⭐ |
| 03-拓扑感知调度 | NUMA、NVLink、PCIe 拓扑 | ⭐⭐⭐⭐ |
| 04-弹性GPU调度 | 动态分配、抢占、弹性伸缩 | ⭐⭐⭐ |
03-AI 训练平台
大规模分布式训练基础设施
| 章节 | 内容 | 难度 |
|---|---|---|
| 01-分布式训练架构 | 数据并行、模型并行、流水线并行 | ⭐⭐⭐ |
| 02-训练任务调度 | Gang Scheduling、优先级、队列管理 | ⭐⭐⭐⭐ |
| 03-Checkpoint与恢复 | 容错机制、断点续训、状态同步 | ⭐⭐⭐ |
| 04-存储优化 | 数据加载、分布式缓存、IO 优化 | ⭐⭐⭐ |
| 05-训练监控与调优 | 性能分析、瓶颈定位、调优策略 | ⭐⭐⭐⭐ |
04-推理服务
模型服务化与在线推理
| 章节 | 内容 | 难度 |
|---|---|---|
| 01-推理服务架构 | Triton、TorchServe、KServe | ⭐⭐⭐ |
| 02-模型优化与量化 | TensorRT、ONNX、量化技术 | ⭐⭐⭐⭐ |
| 03-动态批处理 | Batching 策略、延迟优化 | ⭐⭐⭐ |
| 04-多模型调度 | 模型切换、显存管理、热加载 | ⭐⭐⭐⭐ |
| 05-推理服务自动扩缩 | HPA、VPA、KEDA、GPU 指标 | ⭐⭐⭐ |
05-异构计算
多种 AI 加速芯片适配
| 章节 | 内容 | 难度 |
|---|---|---|
| 01-异构芯片概览 | NPU、TPU、FPGA、ASIC | ⭐⭐ |
| 02-华为昇腾适配 | Ascend、MindSpore、CANN | ⭐⭐⭐ |
| 03-寒武纪MLU适配 | MLU、Cambricon、CNToolkit | ⭐⭐⭐ |
| 04-统一调度框架 | 多芯片资源管理、统一 API | ⭐⭐⭐⭐ |
| 05-算子适配与优化 | 算子迁移、性能调优 | ⭐⭐⭐⭐⭐ |
06-AI 工作流引擎
AI 任务编排与 Agent 工作流
| 章节 | 内容 | 难度 |
|---|---|---|
| 01-工作流引擎设计 | DAG 引擎、状态机、任务调度 | ⭐⭐⭐ |
| 02-Argo-Workflow实践 | Argo 使用与扩展 | ⭐⭐⭐ |
| 03-Kubeflow-Pipeline | ML Pipeline 设计与实现 | ⭐⭐⭐ |
| 04-Coze类工作流实现 | Agent 工作流、LLM 编排 | ⭐⭐⭐⭐ |
| 05-工作流调度优化 | 并行、重试、超时、资源优化 | ⭐⭐⭐ |
07-MLOps 实践
机器学习生命周期管理
| 章节 | 内容 | 难度 |
|---|---|---|
| 01-模型版本管理 | MLflow、DVC、模型注册 | ⭐⭐ |
| 02-特征工程平台 | Feature Store、特征服务 | ⭐⭐⭐ |
| 03-模型注册与部署 | 灰度发布、A/B 测试 | ⭐⭐⭐ |
| 04-模型监控 | 漂移检测、性能监控、告警 | ⭐⭐⭐ |
| 05-端到端MLOps流水线 | 完整案例 | ⭐⭐⭐ |
08-AIOps 实践
AI 赋能运维自动化
| 章节 | 内容 | 难度 |
|---|---|---|
| 01-智能监控系统 | 异常检测、根因分析 | ⭐⭐⭐ |
| 02-日志分析平台 | 日志聚类、异常识别 | ⭐⭐⭐ |
| 03-故障预测 | 时序预测、告警收敛 | ⭐⭐⭐⭐ |
| 04-自动化运维 | ChatOps、自愈系统 | ⭐⭐⭐ |
| 05-容量规划 | 资源预测、成本优化 | ⭐⭐⭐ |
09-面试专题
AI Infra 面试准备
| 章节 | 内容 | 难度 |
|---|---|---|
| 01-AI-Infra面试题 | 高频题目汇总 | ⭐⭐⭐ |
| 02-系统设计题 | 架构设计、容量估算 | ⭐⭐⭐⭐ |
| 03-场景问题解析 | 实战场景、问题排查 | ⭐⭐⭐⭐ |
核心知识图谱
┌─────────────────┐
│ AI Application │
└────────┬────────┘
│
┌─────────────────────────────┼─────────────────────────────┐
│ │ │
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ MLOps 平台 │ │ 推理服务 │ │ 训练平台 │
│ 模型管理/部署 │ │ Triton/KServe │ │ 分布式训练 │
└────────┬────────┘ └────────┬────────┘ └────────┬────────┘
│ │ │
└───────────────────────────┼───────────────────────────┘
│
┌──────────┴──────────┐
│ AI 工作流引擎 │
│ Argo/Kubeflow/DAG │
└──────────┬──────────┘
│
┌──────────┴──────────┐
│ Kubernetes 调度 │
│ GPU 调度/拓扑感知 │
└──────────┬──────────┘
│
┌──────────────────────┼──────────────────────┐
│ │ │
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ NVIDIA GPU │ │ 华为昇腾 │ │ 其他加速器 │
│ CUDA/MIG/vGPU │ │ NPU/CANN │ │ MLU/FPGA │
└─────────────────┘ └─────────────────┘ └─────────────────┘
环境准备
本地开发环境
# 1. 安装 Docker
curl -fsSL https://get.docker.com | bash
# 2. 安装 NVIDIA Container Toolkit (如有 GPU)
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
# 3. 安装 kubectl
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
# 4. 安装 Kind (本地 K8s 集群)
curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.20.0/kind-linux-amd64
chmod +x ./kind && sudo mv ./kind /usr/local/bin/kind
# 5. 安装 Helm
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
推荐的云环境
- AWS: EKS + P4d/P5 实例 (A100/H100)
- 阿里云: ACK + GPU 云服务器
- 华为云: CCE + 昇腾集群
学习建议
- 循序渐进: 按照 Level 顺序学习,确保基础扎实
- 动手实践: 每个章节都有实验,务必亲自操作
- 源码阅读: 关注 NVIDIA device plugin、Kubernetes scheduler 等项目源码
- 关注社区: 跟踪 KubeFlow、MLflow、Triton 等项目最新动态
- 面试准备: 学习完后通过面试专题巩固知识
参考资源
官方文档
开源项目
- nvidia-device-plugin
- volcano - 批处理调度
- kueue - 队列管理
- gpushare-scheduler-extender
技术博客
开始你的 AI Infra 学习之旅!