跳转至

大模型训练平台设计

适配方向:AI Infra、训练平台、分布式训练、MLOps、训练调度、训练稳定性
面试趋势:2028 年训练平台题不只考“并行策略名词”,而是要能把 数据 -> 调度 -> 训练 runtime -> checkpoint -> 评测 -> 成本治理 讲成一个完整系统。


一、面试官真正要看的能力

这类题表面上是在问训练平台,实际上在看你能不能同时理解:

  1. 大规模分布式系统
  2. GPU 集群调度
  3. 训练 runtime 和并行策略
  4. 数据与实验可复现性
  5. 故障恢复与成本控制

如果候选人只会背:

  • DP / TP / PP / ZeRO
  • Megatron / DeepSpeed / FSDP
  • checkpoint / elastic training

但没法把这些东西放进一套完整平台里,面试官一般会认为还停留在“概念知道一点”的层级。


二、回答训练平台题的推荐骨架

建议你一开始就给出平台视角:

Text Only
我会把训练平台拆成 6 层:

1. 数据层
   - 原始数据接入、清洗、去重、切分、版本化

2. 控制面
   - 任务提交、配额、优先级、资源审批、实验配置

3. 调度层
   - GPU/网络/存储资源分配
   - 拓扑感知调度
   - 抢占、排队、弹性扩缩

4. 训练执行层
   - 分布式 launcher
   - runtime
   - 并行策略
   - 通信与容错

5. 状态与资产层
   - checkpoint
   - model artifact
   - 日志、指标、trace

6. 评测与治理层
   - 验证集评测
   - 安全评测
   - 发布门禁
   - 成本和效率监控

这样一上来,面试官就知道你是在答“平台”,不是只答“训练脚本”。


三、先明确训练平台要解决什么问题

你可以先把问题定义成一句话:

训练平台的目标,不是让一个训练任务能跑起来,而是让大量训练任务能稳定、可复现、可恢复、可治理地跑在共享 GPU 集群上。

通常需要同时满足:

Text Only
功能目标:
  - 支持预训练、SFT、DPO/RL、蒸馏、继续预训练
  - 支持 dense / MoE / 多模态模型
  - 支持单机、多机、多机多卡

工程目标:
  - 高资源利用率
  - 故障自动恢复
  - 数据与实验可追溯
  - 不同团队之间有配额和隔离
  - 训练结果能顺利接到评测和发布

这一步会把题目从“模型训练”提升为“企业训练基础设施”。


四、推荐的平台架构

Text Only
用户 / 平台接口
  -> 提交训练任务(job spec / config / image / dataset version)

控制面
  -> 任务编排
  -> 配额管理
  -> 优先级与审批
  -> 资源申请与策略检查

调度层
  -> GPU 调度器
  -> 拓扑感知放置
  -> 队列管理
  -> 抢占 / 回收 / 弹性扩缩

执行层
  -> launcher
  -> 容器 / 作业运行时
  -> NCCL / RDMA / 分布式训练框架
  -> 训练 runtime(FSDP / ZeRO / TP / PP / EP)

数据与存储层
  -> 数据集版本
  -> 流式读取
  -> checkpoint 存储
  -> artifact registry

观测与治理层
  -> 训练指标
  -> 集群指标
  -> 日志与 trace
  -> 自动评测
  -> 发布门禁

如果面试官进一步追问,你再往里面展开。


五、数据层是训练平台的第一道门

很多人答训练平台只讲 GPU 和并行,这是不够的。

5.1 数据平台至少要解决 4 个问题

1. 数据清洗和标准化

Text Only
原始数据
  -> 去重
  -> 清洗
  -> 质量过滤
  -> 安全/合规过滤
  -> 分桶
  -> tokenize

如果这是代码模型,还要额外讲:

  • license
  • 仓库去重
  • 低质量自动生成代码过滤
  • 测试样本与训练样本隔离

2. 数据版本化

平台必须知道:

  • 这次训练用了哪份数据
  • 哪个版本的 tokenizer
  • 哪次规则改动影响了数据分布

否则根本没法复现实验结果。

3. 高吞吐读取

训练不只是“存得到”,还要“喂得动”。

所以通常要考虑:

  • shard 切分
  • 顺序读取
  • 预取
  • 本地缓存
  • 热数据复用
  • 防止存储成为 GPU 空转瓶颈

4. 数据质量监控

平台不能只在训练 loss 爆炸时才知道数据有问题。

比较成熟的设计会有:

  • token 分布漂移检测
  • 语种/领域占比监控
  • 样本重复率监控
  • 有害内容和污染数据比例监控

六、调度层的关键不是“排个队”,而是高价值 GPU 如何被合理使用

6.1 调度器至少要回答下面这些问题

  • 哪个任务先跑?
  • 哪些卡放在一起?
  • 同一个 job 应该用哪些机器?
  • 网络拓扑怎么考虑?
  • 高优任务能不能抢占低优任务?
  • 训练一半中断后如何恢复?

6.2 为什么训练任务需要拓扑感知调度

面试经常问到这里。

原因很简单:

  • TP 对带宽和延迟特别敏感,最好落在 NVLink/NVSwitch 域内。
  • PP 可以跨机,但要控制 stage 之间的通信。
  • DP/FSDP/ZeRO 的同步常跨更大范围。

所以调度器不能只看“还有多少张空卡”,还要看:

  • 同机还是跨机
  • GPU 型号是否一致
  • 是否在同一网络平面
  • 机器健康状态

一个比较完整的回答是:

Text Only
训练任务提交时声明:
  - GPU 数
  - 卡型
  - 网络要求
  - 存储吞吐要求
  - 任务优先级
  - 是否可抢占

调度器根据:
  - 配额
  - 队列
  - 拓扑
  - 集群健康
做放置决策

6.3 抢占和弹性怎么讲

生产平台通常不会让所有任务都拥有同等地位。

常见分层:

  • 核心预训练任务:最高优先级,资源锁定,优先保证稳定
  • 关键微调任务:可排队,不轻易抢占
  • 探索实验任务:可中断、可迁移、可回收

如果讲到这里,再补一句“抢占前先做安全 checkpoint”,会很加分。


七、训练执行层:这里才轮到并行策略

很多候选人会从这里开答,但其实它只是平台的一层。

7.1 并行策略应该怎么讲

不要背定义,直接说选择逻辑:

策略 解决什么问题 典型限制
DP / FSDP / ZeRO 单卡放不下优化器状态或希望扩大全局 batch 梯度同步开销
TP 单层算子太大,需要切到多卡 高频通信,要求高速互联
PP 模型层数太深,需要跨节点切层 流水线 bubble
EP MoE 专家太多,需要按专家分布 路由不均衡、all-to-all 压力
Sequence / Context Parallel 长上下文场景 通信与实现复杂度上升

一个成熟回答通常会补一句:

Text Only
平台层要把并行策略配置化,而不是每个团队手改脚本。

这句话很关键,因为它体现的是平台意识。

7.2 训练 runtime 里最常被追问的点

1. 为什么 BF16 比 FP16 更常用?

因为训练稳定性更好,数值范围更大,不容易 overflow / underflow。

2. 为什么 H100/新平台会关注 FP8?

因为它可能带来更高吞吐和更低显存占用,但前提是 runtime、校准和稳定性控制做好。

3. 为什么同样是 1024 张卡,有的训练跑得很差?

因为瓶颈不止来自算力,还来自:

  • 通信
  • pipeline bubble
  • 数据读取
  • checkpoint IO
  • 不均衡的 expert routing
  • straggler

能主动提这些点,说明你不是只会算 FLOPs。


八、可靠性设计是训练平台面试的重头戏

训练平台最怕的不是“慢”,而是“贵且会断”。

8.1 必须有分层 checkpoint 策略

一个比较稳的回答方式:

Text Only
checkpoint 分三类:

1. 训练恢复 checkpoint
   - 频率高
   - 用于故障恢复

2. 里程碑 checkpoint
   - 频率低
   - 用于评测、回滚、对比

3. 发布候选 checkpoint
   - 经过评测门禁
   - 才允许进入下游推理/发布流程

这样比单纯说“每 N 步存一次”更像真实平台。

8.2 故障恢复不只是“重新启动”

你可以按链路回答:

Text Only
故障检测
  -> 判断是 GPU、网络、节点还是作业级故障
  -> 是否允许局部摘除或需要整体重启
  -> 从最近 checkpoint 恢复
  -> 重新分配资源
  -> 恢复后校验训练状态是否一致

比较强的点在于你要知道:

  • 有些错误是硬件瞬时抖动
  • 有些是 NCCL hang
  • 有些是数据损坏
  • 有些是 OOM 配置问题

恢复策略不能一刀切。

8.3 什么是训练平台里的“静默错误”

这是很容易拉开差距的追问。

系统没挂,但结果已经不可信,例如:

  • 某些 rank 的数据重复了
  • 梯度出现 NaN,但被吞掉
  • 某段数据预处理错了,loss 还看不出来
  • 某个 expert 长期不被激活

成熟平台要能发现这些问题,而不是等模型训完才知道。


九、评测与发布门禁不能缺席

训练平台不是“把 ckpt 产出来就结束”。

至少要接三类评测:

  1. 基础训练评测
  2. loss 曲线
  3. perplexity
  4. 各数据域表现

  5. 任务评测

  6. code / math / reasoning / instruction follow
  7. 多模态任务指标

  8. 安全与回归评测

  9. 有害输出
  10. 拒答行为
  11. 关键能力回退

比较成熟的平台会把这些做成自动门禁:

Text Only
训练结束
  -> 自动拉起评测
  -> 与 baseline 对比
  -> 未达门槛则阻止进入下游部署

这一步也是很多 AI Coding / Agent 平台会越来越看重的地方,因为“训出来”和“可上线”是两回事。


十、成本和效率该怎么讲

10.1 训练平台至少要看这些效率指标

指标 说明
GPU 利用率 卡是否真正忙起来
MFU / HFU 模型或硬件 FLOPs 利用率
单 step 时间 训练吞吐最直接指标
数据等待时间占比 GPU 是否在等数据
通信时间占比 是否被 AllReduce / AllToAll 拖住
checkpoint 开销 存档是否影响训练主链路
单 token 成本 是否能长期承受

10.2 训练平台常见的优化方向

  • 提升数据吞吐
  • 优化并行切分
  • 减少通信放大
  • 优化 checkpoint 写入
  • 做拓扑感知放置
  • 提升 job packing 和资源复用
  • 把评测、训练、数据处理拆成不同资源池

一句话总结:

平台优化不只是“让单个任务更快”,而是让集群整体 ROI 更高。


十一、面试高频追问

下面这些题,基本就是训练平台岗位里最容易把“学过”和“真正做过”区分开的地方。

11.1 FSDP / ZeRO / TP / PP 怎么选?

可以这样答:

Text Only
先看模型是否能放下,再看通信条件,再看目标是预训练还是微调。

- 主要是参数和优化器状态放不下: 先考虑 FSDP / ZeRO
- 单层算子太大: 考虑 TP
- 模型层很深、需要跨机切层: 考虑 PP
- 是 MoE: 再叠加 EP

最终由模型规模、GPU 拓扑、框架成熟度一起决定,不是固定公式。

11.2 为什么训练平台要把 experiment config 标准化?

因为否则很容易出现:

  • 同一个实验不同人写不同脚本
  • 数据集版本不一致
  • 并行配置不可复现
  • checkpoint 命名混乱

平台化的价值就在于把这些东西收口。

11.3 checkpoint 周期怎么定?

取决于:

  • 任务单 step 成本
  • 故障频率
  • checkpoint 写入时间
  • 可接受的数据损失

不是越频繁越好,因为存太勤会拖慢训练。

11.4 为什么训练平台也要做权限和隔离?

因为共享 GPU 集群常常同时跑:

  • 核心模型训练
  • 个人实验
  • 评测任务
  • 数据处理任务

没有配额、优先级和隔离,很容易互相拖垮。


十二、面试时可直接复用的回答模板

Text Only
我会把训练平台看成一个面向共享 GPU 集群的基础设施系统,而不是单个训练脚本。

先从数据层开始,解决清洗、版本化和高吞吐读取;
然后在控制面定义任务 spec、配额和优先级;
再由调度层做拓扑感知放置、抢占和弹性管理;
执行层才是具体的分布式训练 runtime,包括 FSDP、ZeRO、TP、PP、EP 等并行策略;
在状态层做 checkpoint、artifact 和恢复;
最后通过评测门禁、成本监控和可观测性把训练结果接到下游。

核心设计重点有三个:
第一是资源利用率,避免 GPU 空转;
第二是可靠性,节点故障后能快速恢复;
第三是可治理,确保数据、配置、评测和结果都能追溯。

十三、这一章你应该带走什么

真正强的训练平台回答,不是只会背并行策略,而是知道:

  • 数据版本和高吞吐读取是平台基础
  • 调度器要懂拓扑、优先级和资源治理
  • 并行策略要放在平台和 runtime 里统一管理
  • checkpoint、恢复、评测门禁是生产级平台的必答项
  • 成本、效率和 ROI 是 2028 年训练平台岗位越来越重要的考点

如果你能把这页内容讲顺,训练平台题就不再只是“会几个名词”,而是能体现你已经站在 AI Infra 和大厂平台工程的视角思考问题。