Skip to content

10. 面试题 ​

本章按初/中/高级整理 Meta 基础设施相关的面试题,覆盖同步训练可靠性、网络织物、硬件协同设计、自研硅、开放生态等主题。每题给出考察点与答题思路。

10.1 初级(概念与动机) ​

Q1. 为什么 Meta 的 AI 训练集群不能用"传统数据中心的容错思路"? ​

考察点:同步训练的可靠性模型。

思路:传统数据中心(Memcache/Twine 时代)依赖"硬件不可靠没关系,软件重试到另一台"。但分布式数据并行训练是同步的——每个 step 所有 rank 做 AllReduce/AllGather,任一 rank 故障或变慢(straggler)都会停顿整个任务。所以一个 N-GPU 任务的可靠性 ≈ 单 GPU 可靠性的 N 次方,集群越大越脆弱。这迫使 Meta 必须把单点故障率压到极低、恢复做到极快。

Q2. 什么是"有效训练时间(effective training time)"?Meta 的目标是多少? ​

考察点:可靠性北极星指标。

思路:有效训练时间 = 持久前进的计算 / 总挂钟时间(含故障恢复开销)。Meta 的 Llama 3 目标是 >95%,即在 16k GPU 上 >400 TFLOPS/GPU。这意味着"花在训练上的钱 95% 没白花"——可靠性本身就是成本优化。

Q3. Meta 为什么同时建 RoCE 和 InfiniBand 两个集群? ​

考察点:双网络织物的动机。

思路:两个理由——(1) 供应链韧性(RoCE 基于开放以太网多供应商,对冲 NVIDIA InfiniBand 单一供应商锁定);(2) 技术验证(在两套截然不同的织物上训练同一代模型,暴露隐式假设;Llama 3 在 RoCE 集群跑通本身就是行业级证明)。

Q4. 开放权重(open weights)对 Meta 的工程链路有什么影响? ​

考察点:train-to-release 范式。

思路:权重要部署到所有主流云、硬件、推理引擎,倒逼出高度标准化的跨硬件兼容性测试矩阵;安全责任转移给部署方(所以 Meta 开放 Llama Guard/Prompt Guard 等工具);并催生 Llama Stack 标准化服务接口。2026 年起该范式演进为"选择性开放":开放模型(Muse Spark Open)附额外安全后训练与分层许可证,旗舰模型闭源(见 Q17)。

10.2 中级(架构与实现) ​

Q5. 解释 fat-tree 拓扑与"rail-optimized"的含义,以及它为什么适合大规模训练。 ​

考察点:网络拓扑。

思路:fat-tree 保证上层链路总带宽 ≥ 下层链路总带宽之和,任意两个叶子节点间有无阻塞全带宽路径。"rail-optimized" 指把每个节点的多条上行链路(rail)分到不同 spine 域,让 AllReduce/AllGather 通信在多条等价路径间均衡,避免拥塞热点。适合大规模训练是因为 collective 通信(尤其 AllGather)对任意节点对带宽极敏感。

⚠️ 易错:fat-tree/rail-optimized 是 Meta H100 集群特征;3D-torus + ICI 光互连是 Google TPU pod 特征。

Q6. Meta 怎么把大规模集群的 AllGather 带宽利用率从 10%–90% 波动稳定到 90%+? ​

考察点:拓扑感知调度 + NCCL 协同。

思路:(1) 拓扑感知作业调度——把训练任务调度到网络距离最近的 GPU 子集;(2) NCCL 路由协同优化——让 collective 通信感知底层拓扑选最优路径;(3) collective 算法选择(ring vs tree)。三者配合把利用率稳定到 90%+。

Q7. SDC(静默数据损坏)对训练有哪两种典型失败模式?为什么比硬故障更危险? ​

考察点:SDC 的训练影响。

思路:(1) NaN 传播——SDC 把合法值推成 NaN,感染整个集群导致停顿(虽可见但难定位源);(2) 梯度方差污染——数值在界内被当正确,同步训练里作为"真值"交换,训练看似前进实则没进步,可能数周/月才显现。比硬故障危险因为"不停顿"——硬故障至少会触发恢复,SDC 静默毁掉训练质量且难追溯。

Q8. 描述 Meta 的 SDC 三层检测机制及其权衡。 ​

考察点:SDC 检测体系。

思路:

  • Fleetscanner:维护期定向微基准,45–60 天扫全集群,专用 host,对部分 SDC 太慢。
  • Ripple:与负载同机共存,ms–s 级,几天扫全集群,更快。
  • Hardware Sentinel:内核态,评估应用异常,test-agnostic,比 testing-based 高 41% 覆盖率。 权衡:覆盖速度 vs 侵入性 vs 准确率,三者组合提供最佳机队覆盖。

Q9. FP8 训练 + FP16 master weights 的设计动机是什么? ​

考察点:低精度训练范式。

思路:FP8 做前向/反向计算与激活,降低计算量与显存带宽需求提升吞吐;FP16 master weights 高精度累加梯度与更新,避免低精度数值发散。这是"低精度计算 + 高精度累积"的经典范式。Llama 4 Behemoth 用此在 32k GPU 上达 390 TFLOPS/GPU。

Q10. FSDP 每个 step 触发几次 AllGather?为什么这决定 MFU? ​

考察点:FSDP 与 collective 性能。

思路:至少两次(前向聚合参数 + 反向聚合参数)。由于每 step 都触发,AllGather 带宽利用率直接决定模型 FLOPS 利用率(MFU)。这就是为什么 Meta 投入拓扑感知调度与 NCCL 协同优化来稳定 AllGather 利用率。

10.3 高级(生产落地与 trade-off) ​

Q11. 你要设计一个 100k-GPU 训练集群的可靠性方案,从检测到恢复画出完整闭环,并量化关键 SLA。 ​

考察点:综合可靠性工程。

思路:闭环 = 检测(硬件遥测 + SDC 三件套)→ triage(reductive triage/deterministic training/hyper-checkpointing)→ 隔离故障节点 → 从 checkpoint 恢复(跨数千 rank 秒级)→ 重建进程组(分钟级)→ auto-restart。关键 SLA:有效训练时间 >95%、checkpoint 延迟秒级、进程组初始化分钟级、SDC 焊死率近 0(验证先于 checkpoint)。强调 factory-to-fleet + 栈级韧性。

Q12. checkpoint 间隔应该怎么设?给出量化 trade-off。 ​

考察点:Mini Demo 的核心 trade-off。

思路:小间隔→故障丢失工作少但 checkpoint 开销高;大间隔→反之,且 SDC 更可能焊死。最佳间隔应与 MTBF 匹配(远小于 MTBF 时回滚浪费低),并保证 validation_interval ≤ ckpt_interval。在 Meta 规模下 Tectonic Flash 吞吐让"小间隔 + 低开销"同时成立。可用 Mini Demo 量化:回滚浪费% + checkpoint 开销% 的总和最小处。

Q13. 如果 SDC 率随硅密度持续上升(~1/1000 且可能更高),纯检测够吗?还该投资什么? ​

考察点:算法级容错(前瞻)。

思路:纯检测有覆盖盲区(unknown unknowns)。应同时投资算法级容错(algorithmic fault tolerance)、tri-variate computational training(shadow node 冗余)、parameter vulnerability factors(脆弱层映射到韧性硬件)、factory-to-fleet(从硅设计就嵌入 RAS 与 telemetry)。把可靠性做成"硅生命周期 + 软硬协同"的体系工程,而非只靠运行时检测。

Q14. Meta 自研 MTIA 的"PyTorch Native"原则在工程上意味着什么?相比自研独立软件栈有何优劣? ​

考察点:自研硅的软件栈策略。

思路:意味着 MTIA 接 PyTorch(torch.compile/torch.export),图编译器复用 TorchInductor + Triton + MLIR + LLVM,通信库 HCCL 接口对齐 NCCL,驱动/固件用 Rust。优势:kernel/并行策略可跨 NVIDIA/AMD/MTIA 复用,生态红利大;劣势:受限于 PyTorch 抽象,某些硬件特性需在编译器层暴露。整体上"Native"让 MTIA 不另起炉灶,是开放哲学在自研硅上的兑现。

Q15. 开放权重 + Llama Stack 的组合,对行业生态有什么外部性? ​

考察点:开放生态的系统效应。

思路:(1) 标准化服务接口降低应用层碎片化;(2) 跨硬件/云兼容让"换底层不影响上层";(3) 开放安全工具让部署方能自建策略;(4) 开放硬件设计(OCP)让供应链围绕统一标准优化。本质是把"造 AI 数据中心"变成公共知识,整个行业(含竞争对手的硬件商)都能受益并反哺优化——开放成为规模化的杠杆,而非零和让利。

Q16. MetaRoCE 为什么敢于"假设以太网有损"?这与 RoCEv2 的无损思路有何取舍? ​

考察点:传输层设计与大规模网络哲学(2026 新题)。

思路:RoCEv2 依赖 PFC 构建无损以太网,PFC 会引发队头阻塞、拥塞扩散与运维复杂度,规模越大越难调。MetaRoCE 反其道:接受丢包,把可靠性下沉到 NIC 端点——逐路径状态(RTT/ECN/cwnd)、报文喷洒(UDP 源端口作 ECMP 熵)乱序直写、256-bit 选择确认只重传丢失报文、双侧重叠控制(incast 1–2 RTT 消解)。交换机只需标准 ECMP + ECN。结果:1% 丢包 ~86% 吞吐(RoCEv2 对比占优),参考实现可跑在云厂商网络上。取舍:端点 NIC 更复杂,但换来 fabric 的通用性与供应链开放。

Q17. 2026 年 Meta 从"Llama 全量开放"转向"Muse 选择性开放"(旗舰闭源 + Spark Open 开放权重),你如何看待这一策略的工程含义? ​

考察点:开放策略分层与工程闭环(2026 新题)。

思路:(1) 模型层:前沿模型是差异化资产,闭源保护能力与安全边界;次级模型开放(816B/42B MoE)换取生态与标准影响力,并用许可证分层(署名 + MaaS 收入门槛)绑定商业反哺;开放模型做额外安全后训练以适配无护栏部署。(2) 基础设施层反而加倍开放——MetaRoCE/FPF/OSPA/ESUN 进 OCP,因为设施开放换来供应链杠杆。(3) 工程链路不变:兼容性矩阵(双引擎 + 多硬件 + 端侧)、kernel 随权重发布(Helion)、安全工具配套。要点是"收放分明",模糊的中间态最伤生态。

Q18. 解释 Scale-Up / Scale-Out / Scale-Across 三层网络各解决什么问题,Meta 分别给了什么方案? ​

考察点:2026 年 AI 网络体系结构(OCP 2026)。

思路:Scale-Up = 机柜/节点内加速器互连(MTIA 300 用 Tahan 51.2T 以太网交换机,4 台组 16 加速器无阻塞域;ESUN 1.0 规范统一数据面);Scale-Out = 数据中心内 GPU 互连(FPF:每 GPU 8×100G 接 8 平面,3 层 Clos → 2 层 + NIC 喷洒 + 主机绕开故障平面;IceCube 102.4T 交换刀片);Scale-Across = 跨建筑/园区/区域(BAG petabit 级 super-spine,Inter-BAG 数十 Pbps,支撑 Prometheus 1GW 与 Hyperion 5GW 的地理分布式训练;SRv6 区域骨干)。三层全部以 OCP 开放规范发布。

小结 ​

Meta 的面试题集中在三个层次:理解同步训练为何改变可靠性模型(初级)、掌握网络/SDC/低精度的具体机制(中级)、能在 GW 级规模上做可靠性工程、传输层设计与生态决策(高级)。贯穿所有题目的主线,是 Meta 把"开放(2026 年起为选择性开放)+ 协同设计 + 可靠性即设计"作为规模化杠杆的工程哲学。

Released under CC-BY-SA-4.0 License.