跳到主要内容

AI 基础设施简介

AI 基础设施(AI Infrastructure)是支撑人工智能应用开发、训练和部署的底层技术体系。随着大语言模型和生成式 AI 的爆发式发展,构建高效、可扩展的 AI 基础设施已成为企业和研究机构的核心竞争力。

什么是 AI 基础设施

AI 基础设施是指用于支持 AI 工作负载的硬件、软件和网络资源的组合。它涵盖了从数据存储、计算资源调度、分布式训练到模型部署服务的完整技术栈。

理解 AI 基础设施需要先理解 AI 工作负载的特殊性。与传统 Web 应用不同,AI 训练和推理具有以下显著特征:

  • 计算密集:单个训练任务可能需要数千张 GPU 协同工作数周
  • 内存敏感:大模型参数和中间激活值需要大量高带宽内存
  • 通信密集:分布式训练中 GPU 之间需要频繁同步数据
  • I/O 密集:训练数据读取和检查点保存对存储性能要求极高

这些特征决定了 AI 基础设施不能简单复用传统 IT 基础设施,而需要专门的设计和优化。

技术栈层次架构

一个完整的 AI 基础设施通常包括以下几个核心层次:

层次组件主要功能
硬件层GPU、TPU、CPU、内存、存储提供计算和存储资源
系统层操作系统、驱动、容器运行时管理硬件资源
调度层Kubernetes、Slurm资源调度和任务管理
框架层PyTorch、TensorFlow、DeepSpeed分布式训练支持
服务层vLLM、Triton、Ray Serve模型推理和部署

每一层都有其特定的技术挑战。例如,硬件层需要解决 GPU 互联带宽问题;调度层需要支持 Gang Scheduling(组调度)以确保分布式训练任务同时启动;服务层需要处理动态批处理和显存管理等难题。

为什么需要专门的 AI 基础设施

传统的 IT 基础设施难以满足 AI 工作负载的特殊需求,主要体现在以下几个方面:

计算密集型需求

AI 模型训练和推理需要大量的矩阵运算。以 GPT-4 为例,其训练过程需要数万张 GPU 协同工作,计算量达到数 EFLOPS(每秒 10^18 次浮点运算)。传统 CPU 服务器无法提供如此强大的计算能力。

实际案例:模型训练算力需求对比

模型参数量训练数据预估算力需求
BERT-Large3.4亿16GB 文本~4,000 GPU·天 (V100)
GPT-31750亿570GB 文本~3,000 GPU·月 (V100)
LLaMA-2 70B700亿2TB 文本~700 GPU·月 (A100)

这解释了为什么科技公司需要建设大规模 GPU 集群——单机训练已无法在合理时间内完成大模型的训练。

内存带宽瓶颈

深度学习模型对内存带宽有极高要求。在训练过程中,模型参数、梯度和优化器状态需要在内存中频繁读写。GPU 的高带宽内存(HBM)可以提供 TB/s 级别的带宽,远超普通内存。

内存带宽对比

内存类型带宽适用场景
DDR4-3200~25 GB/sCPU 内存
DDR5-5600~45 GB/s新一代 CPU 内存
HBM2e~3.2 TB/sA100 GPU
HBM3~3.35 TB/sH100 GPU
HBM3e~5 TB/s+H200 GPU

内存带宽往往比计算能力更容易成为瓶颈。当模型参数无法完全放入 GPU 显存时,需要使用模型并行或 ZeRO 优化等技术来分片存储。

通信密集型特征

分布式训练中,多个 GPU 之间需要频繁同步梯度和参数。这要求网络具备高带宽、低延迟的特性。传统的以太网难以满足需求,需要使用 InfiniBand 或高速以太网。

网络技术对比

技术带宽延迟典型应用
10GbE10 Gbps~10μs数据传输
100GbE100 Gbps~2μs存储、轻度计算
InfiniBand HDR200 Gbps<1μsAI 训练
InfiniBand NDR400 Gbps<0.5μs大规模训练集群

在训练千亿参数模型时,通信开销可能占总训练时间的 30% 以上。因此,选择合适的网络技术和拓扑结构对训练效率至关重要。

存储性能要求

训练数据集通常达到 TB 甚至 PB 级别,需要高性能存储系统支持快速数据读取。同时,训练过程中的检查点(checkpoint)保存也需要高吞吐量的存储。

存储性能指标示例

存储类型吞吐量随机 IOPS适用场景
HDD 阵列500 MB/s1,000冷数据存储
SATA SSD500 MB/s50,000通用存储
NVMe SSD7 GB/s500,000热数据、检查点
并行文件系统100+ GB/s数百万大规模训练集群

AI 基础设施的核心组件

计算资源

GPU(图形处理器) 是 AI 计算的核心。NVIDIA 的数据中心 GPU 产品线包括:

  • H100/H200:基于 Hopper 架构,是目前最强大的 AI 训练 GPU
  • A100:基于 Ampere 架构,广泛用于大模型训练
  • B100/B200:基于 Blackwell 架构,下一代旗舰产品

GPU 的关键指标包括:

  • 算力(FLOPS):每秒浮点运算次数,衡量计算能力
  • 显存容量:决定能训练多大的模型
  • 显存带宽:影响数据传输效率
  • 互联带宽:多 GPU 通信的关键

主流数据中心 GPU 规格对比

GPU 型号架构显存显存带宽FP16/BF16 算力发布年份
A100 80GBAmpere80GB HBM2e2.0 TB/s312 TFLOPS2020
H100 SXMHopper80GB HBM33.35 TB/s1,979 TFLOPS2022
H200 SXMHopper141GB HBM3e4.8 TB/s1,979 TFLOPS2024
B200Blackwell180GB HBM3e8.0 TB/s4,500 TFLOPS2025

H200 的关键改进

相比 H100,H200 在显存方面有显著提升:显存容量增加 76%(从 80GB 到 141GB),显存带宽提升 43%(从 3.35TB/s 到 4.8TB/s)。更大的显存意味着可以处理更长的上下文或更大的批次,这对于 LLM 推理尤为重要。在 Llama2 70B 推理场景下,H200 相比 H100 可实现 1.9 倍的吞吐量提升。

B200 的架构革新

B200 采用 Blackwell 架构和 chiplet 设计,显存带宽达到 8.0 TB/s,FP16 算力达到 4,500 TFLOPS。其关键创新包括:支持 FP4 精度(进一步降低显存需求)、第二代 Transformer 引擎、以及更强大的 NVLink 互联能力。

选择建议

选择 GPU 时需要综合考虑:模型大小决定显存需求,训练速度决定算力需求,成本预算决定最终选择。对于入门学习,单卡 RTX 4090(24GB 显存)足以运行大多数中小模型;对于生产训练,A100/H100 是主流选择。

网络互联

高速网络是分布式训练的基础:

  • InfiniBand:提供高达 400Gbps 的带宽,延迟低于 1μs
  • NVLink:NVIDIA 专有的 GPU 互联技术,带宽可达 900GB/s
  • 高速以太网:RoCE(RDMA over Converged Ethernet)技术使以太网也能支持 RDMA

网络拓扑设计考虑

在多机多卡训练中,网络拓扑对通信效率有重大影响。常见的设计原则包括:

  • 胖树拓扑:提供无阻塞通信,适合任意通信模式
  • 环状拓扑:适合环形 All-Reduce 算法,布线简单
  • DGX 超级 Pod:NVIDIA 提供的标准化集群方案,预优化了网络拓扑

对于小规模集群(如 8-32 卡),单机 NVLink + 机间 InfiniBand 的组合是常用方案。对于大规模集群,需要精心设计网络拓扑以避免通信瓶颈。

存储系统

AI 存储系统需要满足以下要求:

  • 高吞吐量:支持大规模数据集的快速读取
  • 低延迟:减少 I/O 等待时间
  • 可扩展性:随数据量增长平滑扩展

常用方案包括:

  • 并行文件系统:Lustre、GPFS、BeeGFS
  • 对象存储:MinIO、Ceph、S3 兼容存储
  • 缓存层:Alluxio 等数据编排系统

存储架构选型指南

场景推荐方案原因
小团队/原型开发NFS + 本地 SSD简单易用,成本可控
中等规模训练MinIO + 本地缓存开源方案,可扩展
大规模生产Lustre/GPFS + Alluxio高性能,企业级支持
云上训练S3/OSS + 云盘与云服务集成

软件栈

AI 基础设施软件栈包括:

训练框架

  • PyTorch Distributed:原生分布式训练支持
  • DeepSpeed:微软开源,提供 ZeRO 优化
  • Megatron-LM:NVIDIA 开发,专注大模型训练
  • FSDP(Fully Sharded Data Parallel):PyTorch 原生分片方案

推理引擎

  • vLLM:高性能 LLM 推理,PagedAttention 核心技术
  • TensorRT-LLM:NVIDIA 官方优化引擎
  • ONNX Runtime:跨平台推理

服务框架

  • Triton Inference Server:企业级模型服务
  • Ray Serve:支持复杂推理流水线
  • TorchServe:PyTorch 官方服务方案

框架选型参考

任务类型推荐框架核心优势
单机训练PyTorch易用性高,生态完善
中小模型分布式PyTorch DDP原生支持,开箱即用
大模型训练DeepSpeed + Megatron显存优化,高效并行
LLM 推理服务vLLM高吞吐量,内存高效
多模型服务Triton多框架支持,动态批处理

AI 基础设施架构示例

一个典型的 AI 训练集群架构如下:

┌─────────────────────────────────────────────────────────────┐
│ 用户层 │
│ JupyterHub │ VS Code │ CLI Tools │
├─────────────────────────────────────────────────────────────┤
│ 调度层 │
│ Kubernetes │ Slurm │ Ray Cluster │
├─────────────────────────────────────────────────────────────┤
│ 计算节点 │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ Node 1 │ │ Node 2 │ │ Node 3 │ │ Node N │ │
│ │ 8×GPU │ │ 8×GPU │ │ 8×GPU │ │ 8×GPU │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
├─────────────────────────────────────────────────────────────┤
│ 网络层 │
│ InfiniBand │ NVLink │ 高速以太网 │
├─────────────────────────────────────────────────────────────┤
│ 存储层 │
│ 并行文件系统 │ 对象存储 │ 缓存层 │
└─────────────────────────────────────────────────────────────┘

关键技术概念

数据并行

数据并行是最常用的分布式训练策略。每个 GPU 持有完整的模型副本,处理不同的数据子集,然后同步梯度。

适用场景:模型可以放入单个 GPU 内存

工作原理

数据并行的核心是将大批次数据分割到多个 GPU 上并行计算。每个 GPU 独立完成前向传播和反向传播,计算得到梯度后,通过 All-Reduce 操作同步梯度,保证所有 GPU 的模型参数保持一致。

显存占用分析

假设模型参数量为 PP,使用 FP16 存储需要 2P2P 字节。在数据并行中,每个 GPU 需要存储:

  • 模型参数:2P2P
  • 梯度:2P2P
  • 优化器状态(AdamW):12P12P(FP32 的参数副本、动量、方差)
  • 激活值:取决于批次大小和序列长度

总计约 16P16P 字节,这意味着一个 7B 参数的模型约需 112GB 显存,超出了单卡 A100 80GB 的容量。

模型并行

当模型太大无法放入单个 GPU 时,需要将模型切分到多个 GPU 上。

  • 流水线并行:将模型按层切分,不同 GPU 处理不同层
  • 张量并行:将单个层的参数切分到多个 GPU

流水线并行的挑战

流水线并行将模型按层分割,不同 GPU 处理不同层。但简单的流水线会产生大量"气泡"时间——后面的 GPU 需要等待前面的 GPU 完成计算。解决方案是使用 micro-batch 技术,将一个批次分成多个小批次流水执行。

张量并行的优势

张量并行将单个矩阵运算拆分到多个 GPU,适合层内并行。对于 Transformer 的注意力计算和 MLP 层,张量并行可以显著减少显存占用,同时利用 NVLink 的高带宽进行高效通信。

混合并行

结合数据并行、流水线并行和张量并行,实现超大规模模型的训练。例如 GPT-4 的训练就使用了 3D 并行策略。

3D 并行配置示例

总 GPU 数 = 数据并行度 × 流水线并行度 × 张量并行度
= 8 × 4 × 8
= 256 GPUs

选择并行策略时需要考虑:

  • 模型大小:决定是否需要模型并行
  • 集群规模:影响数据并行度
  • 网络拓扑:NVLink 适合张量并行,InfiniBand 适合跨机通信

显存优化技术

  • 梯度检查点:以计算换内存,减少中间激活值的存储
  • 混合精度训练:使用 FP16/BF16 进行计算,减少显存占用
  • ZeRO 优化:DeepSpeed 提供的显存优化技术,可大幅降低显存需求

ZeRO 优化级别对比

级别分片内容显存节省通信开销
ZeRO-1优化器状态1.0×
ZeRO-2优化器状态 + 梯度1.5×
ZeRO-3优化器状态 + 梯度 + 参数N×(N为GPU数)3.0×

ZeRO-3 可以将 7B 模型的显存需求从 112GB 降低到约 2GB(使用 64 卡),使得消费级显卡也能参与大模型训练。

发展趋势

AI 基础设施正在快速演进,主要趋势包括:

硬件层面

  • 专用 AI 芯片:Google TPU、AWS Trainium、华为昇腾等
  • 更高带宽:HBM3e 提供 10TB/s+ 带宽
  • 更强互联:NVLink 5.0 带宽翻倍

软件层面

  • 更易用的框架:降低分布式训练门槛
  • 自动化优化:自动选择最优并行策略
  • 云原生支持:Kubernetes 对 AI 工作负载的原生支持

系统层面

  • 异构计算:CPU、GPU、TPU 混合使用
  • 绿色计算:降低 AI 训练的能耗
  • 弹性伸缩:根据负载动态调整资源

学习路线

要掌握 AI 基础设施,建议按以下路线循序渐进地学习:

第一阶段:基础准备

目标:理解 GPU 架构和基本概念

  1. GPU 基础

    • 理解 GPU 与 CPU 的区别
    • 学习 CUDA 编程模型(可选,但有助于深入理解)
    • 掌握 nvidia-smi 等基础工具的使用
  2. 实践项目

    • 在单卡 GPU 上训练一个小型模型(如 ResNet)
    • 使用 nvidia-smi 监控 GPU 利用率和显存使用

推荐资源

第二阶段:分布式训练

目标:掌握多 GPU 训练的基本方法

  1. 数据并行

    • 学习 PyTorch DDP 的使用
    • 理解梯度同步机制
    • 掌握 torchrun 启动方式
  2. 高级技术

    • 学习 DeepSpeed ZeRO 优化
    • 理解混合精度训练
    • 掌握 FSDP 的使用
  3. 实践项目

    • 使用 2-4 卡训练一个中型模型
    • 对比 DDP 和 FSDP 的显存使用

推荐资源

第三阶段:推理优化

目标:掌握模型部署和推理优化技术

  1. 推理基础

    • 理解训练和推理的区别
    • 学习模型量化技术
    • 掌握 KV Cache 的概念
  2. 推理引擎

    • 学习 vLLM 的使用
    • 理解 PagedAttention 原理
    • 掌握连续批处理技术
  3. 实践项目

    • 使用 vLLM 部署一个开源 LLM
    • 测试不同量化级别对性能的影响

推荐资源

第四阶段:服务部署

目标:构建生产级模型服务

  1. 服务框架

    • 学习 Ray Serve 的使用
    • 理解 Triton Inference Server
    • 掌握服务监控和扩缩容
  2. 实践项目

    • 部署一个多模型服务系统
    • 实现基于负载的自动扩缩容

第五阶段:系统运维

目标:掌握集群管理和运维技能

  1. 容器编排

    • 学习 Kubernetes 基础
    • 理解 GPU 资源调度
    • 掌握 Kubeflow 的使用
  2. 监控告警

    • 学习 Prometheus + Grafana
    • 理解 GPU 监控指标
    • 掌握告警规则配置

推荐资源

学习建议

  1. 理论与实践结合:每学习一个概念,都要动手实践验证
  2. 从简单到复杂:先掌握单卡,再学习多卡,最后理解多机
  3. 关注官方文档:技术更新快,官方文档是最可靠的参考
  4. 参与社区:加入相关开源社区,关注最新发展

小结

AI 基础设施是支撑现代 AI 应用的关键基础设施。理解其核心组件和工作原理,对于构建高效的 AI 系统至关重要。本章介绍了:

  1. AI 基础设施的定义:专门为 AI 工作负载设计的硬件、软件和网络资源组合
  2. 核心组件:GPU 计算、网络互联、存储系统、软件框架
  3. 关键技术:数据并行、模型并行、混合并行、显存优化
  4. 学习路线:从基础到进阶的系统性学习路径

接下来的章节中,我们将深入学习 GPU 计算、分布式训练、模型服务等核心技术。建议读者在学习过程中保持实践导向,通过动手实验加深对概念的理解。

参考资料

官方文档

技术论文

开源项目