AI infra 人才库面经总结

ai infra八股:
1- 给定训练所需的Tokens,怎么估计模型训练所需的完整时间?
2- Prefill和Decode阶段各有什么优化技术?
3- 什么是Two-batch overlap,什么场景Two-batch overlap是负优化?
4- megatron-lm中通信优化怎么做?
5- 多机PD分离会有KV cache transfer开销,为什么还要做PD分离?
6- muon和AdamW的pretrain和posttrain为什么不能混用?
7- 如何看待跨SM的PD分离和AF分离?
8- cuda的global memory和shared memory访存分别需要注意什么?
9- deepseek-V3的优化点
10- deepseek-DSA和NSA,MoBA的区别
11- nccl中的通信源语有哪些?all-reduce参数更新一次参数需要几次通信?
12- 在小数据量场景使用NVSHMEM,每个GPU直接读取其他GPU的数据,在本地reduce,相比ring all-reduce的好处
13- 训练时如何设计超长序列下的并行
14- 将Ampere架构的算子适配到Hopper架构的卡上,你会对哪些地方进行升级改造?
全部评论
1. 训练时间估算 时间 ∝ 总FLOPs / (算力FP8/FP16 × 利用率) 总FLOPs ≈ 6 × 参数 × Token数 再除以单卡算力、并行数、利用率,就是时长。 ​ 2. Prefill / Decode 优化 ​ - Prefill:长序列并行、FlashAttention、分块、算子融合、向量化 ​ - Decode:KV cache、连续Batch、PagedAttention、Speculative Decoding ​ 3. Two-batch overlap ​ - 同时跑两个微批次,计算/通信重叠 ​ - 负优化:计算太快、通信太小、显存不够、调度 overhead 盖过收益 ​ 4. Megatron-LM 通信优化 TP+PP+DP三维并行; 重叠通信计算; 分桶AllReduce; 激活重计算; 减少跨节点通信量。 ​ 5. PD分离(PP+DP)为什么要KV transfer 为了流水线+数据并行一起用,提高吞吐; 虽然有KV拷贝成本,但整体能堆更大Batch、更高利用率。 ​ 6. MuON / AdamW 不能混用 优化器状态、动量、更新逻辑完全不兼容; 预训练用一个,微调换另一个,状态不匹配,直接训崩/不收敛。 ​ 7. 跨SM PD / AF 分离 核心:拆任务、提高 occupancy、隐藏延迟; PD:并行度拆分更干净; AF:聚焦注意力/前馈访存与计算重叠; 看模型结构、Kernel瓶颈选。 ​ 8. CUDA Global / Shared 注意 ​ - Global:对齐、连续访问、合并访存、少随机读、用L2缓存 ​ - Shared:防bank conflict、分块复用、同步_sync、容量控制 ​ 9. DeepSeek-V3 优化点 高效架构+长序列支持; 优化Attention/FFN计算; 更好的并行策略; 推理侧低延迟高吞吐。 ​ 10. DeepSeek-DSA/NSA/MoBA ​ - DSA:领域稀疏注意力 ​ - NSA:神经稀疏注意力 ​ - MoBA:混合专家注意力 核心都是稀疏化、省计算、扩容量。 ​ 11. NCCL 原语 & AllReduce 次数 原语:Send/Recv、Broadcast、Reduce、AllGather、ReduceScatter、AllReduce Ring AllReduce:2次(ReduceScatter + AllGather)。 ​ 12. 小数据量 NVSHMEM vs Ring AllReduce 少了Ring多跳延迟; 直接GPU-GPU读+本地Reduce; 小数据下延迟更低、更简单。 ​ 13. 超长序列训练并行 TP+PP+CP(上下文并行)+ ZeRO; 分块Attention、分块FFN; 激活重算+KV复用; 控制通信量。 ​ 14. Ampere → Hopper 算子升级 - 用TF32、FP8、新指令 ​ - 适配TMA、异步拷贝 ​ - 优化Warp调度、 occupancy ​ - 重写Attention/MatMul,用Hopper专属优化
点赞 回复 分享
发布于 昨天 11:29 浙江

相关推荐

评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务