HiHuo
首页
博客
手册
工具
关于
首页
博客
手册
工具
关于

转型 AI Infra,我需要学什么

上一篇聊了 AI Infra 是什么,以及为什么后端工程师适合这个方向。

很多人看完后问:道理我都懂,那具体要学什么?

今天就来聊聊这个。


先泼一盆冷水

在列清单之前,我想先说一个重要的事:

你不需要学完所有东西才能入行。

很多人的误区是:我要把 CUDA 学会、把 PyTorch 摸透、把各种框架都研究一遍,然后才能开始找工作。

这是错的。

AI Infra 是一个很宽的领域,没有人什么都懂。实际工作中,你可能只深入其中一个方向:有人专门做调度,有人专门做推理优化,有人专门做训练平台。

正确的学习路径是:先建立基础认知,能干活了再边做边学。


技能清单:分三层

我把 AI Infra 需要的知识分成三层:

┌─────────────────────────────────────────┐
│           应用层:怎么用                 │
│   部署推理服务、提交训练任务、看监控      │
├─────────────────────────────────────────┤
│           原理层:为什么                 │
│   调度原理、通信原理、优化原理            │
├─────────────────────────────────────────┤
│           基础层:是什么                 │
│   GPU 基础、Kubernetes、Linux           │
└─────────────────────────────────────────┘

从下往上学,先打基础,再理解原理,最后会用。


基础层:这些必须懂

1. GPU 基础知识

作为 AI Infra 工程师,你不需要会写 CUDA 程序,但必须理解 GPU 的基本概念。

必须掌握的概念:

  • 显存(VRAM):GPU 的内存。模型参数、中间结果都存在这里。显存不够,模型就跑不起来。
  • 算力(TFLOPS):GPU 的计算能力。算力越高,计算越快。
  • GPU 利用率:GPU 在干活的时间占比。利用率低说明资源浪费了。
  • 显存利用率:显存被占用了多少。

必须会用的工具:

nvidia-smi

这是查看 GPU 状态的命令,相当于 GPU 的 top。你要能看懂它输出的每一行是什么意思。

必须知道的 GPU 型号:

型号显存定位备注
H10080GB训练旗舰目前最强,也最贵
A10040GB/80GB主力型号用得最多
H2096GB中国特供针对出口管制的版本
L40S48GB推理性价比适合推理场景
RTX 409024GB消费级最强个人和小团队用

不需要背参数,但要知道大概的定位和区别。

2. Kubernetes 基础

AI 训练和推理,绝大多数跑在 Kubernetes 上。

如果你是后端工程师,K8s 应该不陌生。如果没用过,需要先补一下基础:

必须理解的概念:

  • Pod、Deployment、Service 是什么
  • 资源请求(requests)和限制(limits)
  • 调度器是怎么工作的
  • DaemonSet 的用途

AI Infra 特有的知识点:

  • GPU 资源是怎么暴露给 K8s 的(Device Plugin)
  • 怎么在 Pod 里使用 GPU
  • GPU 调度和 CPU 调度有什么区别

这些后面会专门写文章讲。

3. Linux 基础

这个不多说了,后端工程师的基本功。重点是:

  • 进程管理、资源监控
  • 网络基础(特别是高性能网络相关的)
  • 文件系统和存储

原理层:理解到什么程度就够

1. GPU 调度原理

需要理解的问题:

  • K8s 是怎么发现节点上有 GPU 的?
  • 调度器是怎么把 Pod 分配到有 GPU 的节点上的?
  • 为什么默认只能整卡分配,不能切分?

需要了解的概念:

  • Device Plugin:让 K8s 能管理 GPU 的插件
  • GPU 拓扑:GPU 之间的连接关系,影响通信效率

2. 分布式训练原理

需要理解的问题:

  • 为什么要分布式训练?(一张卡装不下)
  • 多张卡之间怎么协作?
  • 通信为什么会成为瓶颈?

需要了解的概念:

  • 数据并行:每张卡算不同的数据,然后同步梯度
  • 模型并行:模型太大,切开放到不同的卡上
  • NCCL:GPU 之间通信的库

不需要会写分布式训练代码,但要理解基本原理。

3. 推理优化原理

需要理解的问题:

  • 推理和训练有什么区别?
  • 为什么批处理(Batching)能提高吞吐?
  • 什么是 KV Cache?为什么推理时显存会越用越多?

需要了解的概念:

  • Continuous Batching:动态批处理,不用等一批凑齐
  • KV Cache:缓存已计算的结果,避免重复计算
  • 量化:用更少的位数表示参数,换取更快的速度

应用层:会用就行

1. 部署一个推理服务

实际操作一下,用 vLLM 或者 Ollama 部署一个大模型推理服务。

推荐先用 Ollama,最简单:

# 安装
curl -fsSL https://ollama.com/install.sh | sh

# 跑一个模型
ollama run llama2

然后再试试 vLLM,感受一下生产级推理框架是什么样的。

2. 在 K8s 上跑 GPU 任务

写一个简单的 Pod,申请 GPU 资源:

apiVersion: v1
kind: Pod
metadata:
  name: gpu-test
spec:
  containers:
  - name: cuda-container
    image: nvidia/cuda:12.0-base
    resources:
      limits:
        nvidia.com/gpu: 1
    command: ["nvidia-smi"]

跑一下,看看是不是真的用到了 GPU。

3. 看懂监控数据

找一个有 GPU 的集群,看看监控大盘。

关注这几个指标:

  • GPU 利用率(GPU Utilization)
  • 显存使用率(Memory Usage)
  • GPU 温度(Temperature)
  • 运行的进程(Processes)

推荐的学习顺序

如果让我规划一个学习路径,我会这么安排:

第一阶段:建立感性认识(1-2 周)

目标:知道 GPU 长什么样,能跑通一个简单的 AI 应用。

动作:

  1. 租一台带 GPU 的云服务器(各云厂商都有按量付费的)
  2. 装好驱动,跑一下 nvidia-smi
  3. 用 Ollama 部署一个本地大模型,和它聊几句
  4. 感受一下 GPU 跑起来是什么样的

第二阶段:补基础知识(2-4 周)

目标:理解 GPU 的核心概念,能看懂 K8s GPU 调度。

动作:

  1. 学习 GPU 基础知识(显存、算力、利用率)
  2. 学习 K8s Device Plugin 机制
  3. 在 K8s 上部署一个 GPU 工作负载
  4. 了解常见的 GPU 型号和区别

第三阶段:深入一个方向(4-8 周)

目标:在某个方向上建立深度。

选择一个方向深入:

  • 调度方向:学习 Volcano、GPU 拓扑感知调度
  • 推理方向:学习 vLLM、TensorRT-LLM,理解推理优化
  • 训练方向:学习 PyTorch DDP、DeepSpeed,理解分布式训练

不需要每个都学,选一个感兴趣的深入。

第四阶段:实战积累(持续)

目标:通过实际项目积累经验。

动作:

  1. 在当前公司找 AI 相关的项目参与
  2. 或者通过开源项目积累经验(vLLM、Volcano 等社区都很活跃)
  3. 写技术文章,输出倒逼输入

常见问题

Q:我需要学 Python 吗?

需要会基础的 Python,能看懂代码就行。AI Infra 大部分工作不需要写 Python,但训练框架(PyTorch)和推理框架(vLLM)都是 Python 的,能看懂有助于排查问题。

Q:我需要学机器学习吗?

不需要系统学习。但建议了解一些基本概念:什么是模型、什么是训练、什么是推理、Transformer 大概是什么结构。不需要会推公式,知道大概原理就行。

Q:没有 GPU 怎么学?

  • 云服务器按量付费,学习阶段花不了多少钱
  • 有些概念可以先看文档理解,不一定要实操
  • Ollama 在 Mac 上也能跑(用 CPU,慢一点但能用)

写在最后

回顾一下今天的内容:

  1. 基础层:GPU 基础、Kubernetes、Linux
  2. 原理层:调度原理、训练原理、推理原理
  3. 应用层:能部署推理服务、能跑 GPU 任务、能看懂监控

学习建议:先建立感性认识,再补理论知识,然后选一个方向深入。

不要想着一口吃成胖子。AI Infra 领域很宽,没有人什么都懂。找到自己的方向,持续深入,就够了。

下一篇,我们开始讲具体的技术内容:AI Infra 技术栈全景图。


本文是「AI Infra 入门」系列的第 2 篇。