大模型训练平台设计¶
适配方向:AI Infra、训练平台、分布式训练、MLOps、训练调度、训练稳定性
面试趋势:2028 年训练平台题不只考“并行策略名词”,而是要能把数据 -> 调度 -> 训练 runtime -> checkpoint -> 评测 -> 成本治理讲成一个完整系统。
一、面试官真正要看的能力¶
这类题表面上是在问训练平台,实际上在看你能不能同时理解:
- 大规模分布式系统
- GPU 集群调度
- 训练 runtime 和并行策略
- 数据与实验可复现性
- 故障恢复与成本控制
如果候选人只会背:
DP / TP / PP / ZeROMegatron / DeepSpeed / FSDPcheckpoint / elastic training
但没法把这些东西放进一套完整平台里,面试官一般会认为还停留在“概念知道一点”的层级。
二、回答训练平台题的推荐骨架¶
建议你一开始就给出平台视角:
我会把训练平台拆成 6 层:
1. 数据层
- 原始数据接入、清洗、去重、切分、版本化
2. 控制面
- 任务提交、配额、优先级、资源审批、实验配置
3. 调度层
- GPU/网络/存储资源分配
- 拓扑感知调度
- 抢占、排队、弹性扩缩
4. 训练执行层
- 分布式 launcher
- runtime
- 并行策略
- 通信与容错
5. 状态与资产层
- checkpoint
- model artifact
- 日志、指标、trace
6. 评测与治理层
- 验证集评测
- 安全评测
- 发布门禁
- 成本和效率监控
这样一上来,面试官就知道你是在答“平台”,不是只答“训练脚本”。
三、先明确训练平台要解决什么问题¶
你可以先把问题定义成一句话:
训练平台的目标,不是让一个训练任务能跑起来,而是让大量训练任务能稳定、可复现、可恢复、可治理地跑在共享 GPU 集群上。
通常需要同时满足:
功能目标:
- 支持预训练、SFT、DPO/RL、蒸馏、继续预训练
- 支持 dense / MoE / 多模态模型
- 支持单机、多机、多机多卡
工程目标:
- 高资源利用率
- 故障自动恢复
- 数据与实验可追溯
- 不同团队之间有配额和隔离
- 训练结果能顺利接到评测和发布
这一步会把题目从“模型训练”提升为“企业训练基础设施”。
四、推荐的平台架构¶
用户 / 平台接口
-> 提交训练任务(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. 数据清洗和标准化¶
如果这是代码模型,还要额外讲:
- license
- 仓库去重
- 低质量自动生成代码过滤
- 测试样本与训练样本隔离
2. 数据版本化¶
平台必须知道:
- 这次训练用了哪份数据
- 哪个版本的 tokenizer
- 哪次规则改动影响了数据分布
否则根本没法复现实验结果。
3. 高吞吐读取¶
训练不只是“存得到”,还要“喂得动”。
所以通常要考虑:
- shard 切分
- 顺序读取
- 预取
- 本地缓存
- 热数据复用
- 防止存储成为 GPU 空转瓶颈
4. 数据质量监控¶
平台不能只在训练 loss 爆炸时才知道数据有问题。
比较成熟的设计会有:
- token 分布漂移检测
- 语种/领域占比监控
- 样本重复率监控
- 有害内容和污染数据比例监控
六、调度层的关键不是“排个队”,而是高价值 GPU 如何被合理使用¶
6.1 调度器至少要回答下面这些问题¶
- 哪个任务先跑?
- 哪些卡放在一起?
- 同一个 job 应该用哪些机器?
- 网络拓扑怎么考虑?
- 高优任务能不能抢占低优任务?
- 训练一半中断后如何恢复?
6.2 为什么训练任务需要拓扑感知调度¶
面试经常问到这里。
原因很简单:
TP对带宽和延迟特别敏感,最好落在 NVLink/NVSwitch 域内。PP可以跨机,但要控制 stage 之间的通信。DP/FSDP/ZeRO的同步常跨更大范围。
所以调度器不能只看“还有多少张空卡”,还要看:
- 同机还是跨机
- GPU 型号是否一致
- 是否在同一网络平面
- 机器健康状态
一个比较完整的回答是:
6.3 抢占和弹性怎么讲¶
生产平台通常不会让所有任务都拥有同等地位。
常见分层:
- 核心预训练任务:最高优先级,资源锁定,优先保证稳定
- 关键微调任务:可排队,不轻易抢占
- 探索实验任务:可中断、可迁移、可回收
如果讲到这里,再补一句“抢占前先做安全 checkpoint”,会很加分。
七、训练执行层:这里才轮到并行策略¶
很多候选人会从这里开答,但其实它只是平台的一层。
7.1 并行策略应该怎么讲¶
不要背定义,直接说选择逻辑:
| 策略 | 解决什么问题 | 典型限制 |
|---|---|---|
| DP / FSDP / ZeRO | 单卡放不下优化器状态或希望扩大全局 batch | 梯度同步开销 |
| TP | 单层算子太大,需要切到多卡 | 高频通信,要求高速互联 |
| PP | 模型层数太深,需要跨节点切层 | 流水线 bubble |
| EP | MoE 专家太多,需要按专家分布 | 路由不均衡、all-to-all 压力 |
| Sequence / Context Parallel | 长上下文场景 | 通信与实现复杂度上升 |
一个成熟回答通常会补一句:
这句话很关键,因为它体现的是平台意识。
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 策略¶
一个比较稳的回答方式:
checkpoint 分三类:
1. 训练恢复 checkpoint
- 频率高
- 用于故障恢复
2. 里程碑 checkpoint
- 频率低
- 用于评测、回滚、对比
3. 发布候选 checkpoint
- 经过评测门禁
- 才允许进入下游推理/发布流程
这样比单纯说“每 N 步存一次”更像真实平台。
8.2 故障恢复不只是“重新启动”¶
你可以按链路回答:
故障检测
-> 判断是 GPU、网络、节点还是作业级故障
-> 是否允许局部摘除或需要整体重启
-> 从最近 checkpoint 恢复
-> 重新分配资源
-> 恢复后校验训练状态是否一致
比较强的点在于你要知道:
- 有些错误是硬件瞬时抖动
- 有些是 NCCL hang
- 有些是数据损坏
- 有些是 OOM 配置问题
恢复策略不能一刀切。
8.3 什么是训练平台里的“静默错误”¶
这是很容易拉开差距的追问。
系统没挂,但结果已经不可信,例如:
- 某些 rank 的数据重复了
- 梯度出现 NaN,但被吞掉
- 某段数据预处理错了,loss 还看不出来
- 某个 expert 长期不被激活
成熟平台要能发现这些问题,而不是等模型训完才知道。
九、评测与发布门禁不能缺席¶
训练平台不是“把 ckpt 产出来就结束”。
至少要接三类评测:
- 基础训练评测
- loss 曲线
- perplexity
-
各数据域表现
-
任务评测
- code / math / reasoning / instruction follow
-
多模态任务指标
-
安全与回归评测
- 有害输出
- 拒答行为
- 关键能力回退
比较成熟的平台会把这些做成自动门禁:
这一步也是很多 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 怎么选?¶
可以这样答:
先看模型是否能放下,再看通信条件,再看目标是预训练还是微调。
- 主要是参数和优化器状态放不下: 先考虑 FSDP / ZeRO
- 单层算子太大: 考虑 TP
- 模型层很深、需要跨机切层: 考虑 PP
- 是 MoE: 再叠加 EP
最终由模型规模、GPU 拓扑、框架成熟度一起决定,不是固定公式。
11.2 为什么训练平台要把 experiment config 标准化?¶
因为否则很容易出现:
- 同一个实验不同人写不同脚本
- 数据集版本不一致
- 并行配置不可复现
- checkpoint 命名混乱
平台化的价值就在于把这些东西收口。
11.3 checkpoint 周期怎么定?¶
取决于:
- 任务单 step 成本
- 故障频率
- checkpoint 写入时间
- 可接受的数据损失
不是越频繁越好,因为存太勤会拖慢训练。
11.4 为什么训练平台也要做权限和隔离?¶
因为共享 GPU 集群常常同时跑:
- 核心模型训练
- 个人实验
- 评测任务
- 数据处理任务
没有配额、优先级和隔离,很容易互相拖垮。
十二、面试时可直接复用的回答模板¶
我会把训练平台看成一个面向共享 GPU 集群的基础设施系统,而不是单个训练脚本。
先从数据层开始,解决清洗、版本化和高吞吐读取;
然后在控制面定义任务 spec、配额和优先级;
再由调度层做拓扑感知放置、抢占和弹性管理;
执行层才是具体的分布式训练 runtime,包括 FSDP、ZeRO、TP、PP、EP 等并行策略;
在状态层做 checkpoint、artifact 和恢复;
最后通过评测门禁、成本监控和可观测性把训练结果接到下游。
核心设计重点有三个:
第一是资源利用率,避免 GPU 空转;
第二是可靠性,节点故障后能快速恢复;
第三是可治理,确保数据、配置、评测和结果都能追溯。
十三、这一章你应该带走什么¶
真正强的训练平台回答,不是只会背并行策略,而是知道:
- 数据版本和高吞吐读取是平台基础
- 调度器要懂拓扑、优先级和资源治理
- 并行策略要放在平台和 runtime 里统一管理
- checkpoint、恢复、评测门禁是生产级平台的必答项
- 成本、效率和 ROI 是 2028 年训练平台岗位越来越重要的考点
如果你能把这页内容讲顺,训练平台题就不再只是“会几个名词”,而是能体现你已经站在 AI Infra 和大厂平台工程的视角思考问题。