AI Infra一面面经
完整信息
本篇目录
岗位归属混元AI推理团队,重点考察大模型分布式并行相关基础,问题层层追问:
1. Tensor Parallel张量并行
线性层、注意力模块、FFN模块分别怎么做张量切分?列并行、行并行的切分逻辑,以及对应的通信位置。
衍生追问:
- 列并行切的是输入维度还是输出维度?
- 行并行的切分方式是什么?
- QKV模块如何落地TP?
- Attention头怎么分配到不同卡上?
- FFN两层结构该怎么搭配切分?
- 工程上为什么经常把列并行+行并行组合使用?
- TP规模越大,推理速度就一定越快吗?
2. 集合通信
张量并行场景里,All-Reduce、Reduce-Scatter、All-Gather各自的作用,通信量的计算方法。
衍生追问:
- 给定张量形状,怎么算出通信字节数?
- TP=2和TP=4,通信上会出现哪些变化?
- 通信量和Batch、序列长度、隐藏层维度存在怎样的关联?
- 怎么判断当前系统已经进入通信瓶颈?
3. Data Parallel数据并行
数据并行和张量并行的核心差异是什么?什么场景下优先扩容DP而不是TP?
衍生追问:
- DP是否会在每一张卡上复制完整模型?
- DP为什么能够提升整体吞吐?
- DP能不能降低单条请求的延迟?
- 如果单卡显存放不下整个模型,靠DP可以解决吗?
- 线上推理服务的DP,和训练阶段DP的实现有什么区别?
4. Pipeline Parallel流水线并行
流水线并行对模型的切分思路,为什么落地实现难度很高?
衍生追问:
- 流水线Stage怎么划分?
- Micro-Batch的含义是什么?
- 流水线气泡(Bubble)是怎么产生的?
- 有哪些手段减少气泡带来的损耗?
- 各个Stage负载不均衡该怎么处理?
- 流水线并行为什么通常会拉高请求延迟?
- 你有没有动手实现过流水线并行?
5. Context Parallel上下文并行
上下文并行适配长文本场景的原因,序列被切分之后,跨卡的Attention计算如何完成?
6. 工程编码题
实现QQ空间好友动态推荐链路,包含动态数据管理、用户行为仿真、打分排序、TopN推荐完整流程。
本篇目录
当前问题0129
- 01
线性层、注意力模块、FFN模块分别怎么做张量切分?列并行、行并行的切分逻辑,以及对应的通信位置。
- 02
列并行切的是输入维度还是输出维度?
- 03
行并行的切分方式是什么?
- 04
QKV模块如何落地TP?
- 05
Attention头怎么分配到不同卡上?
- 06
FFN两层结构该怎么搭配切分?
- 07
工程上为什么经常把列并行+行并行组合使用?
- 08
TP规模越大,推理速度就一定越快吗?
- 09
张量并行场景里,All-Reduce、Reduce-Scatter、All-Gather各自的作用,通信量的计算方法。
- 10
张量并行场景里,All-Reduce、Reduce-Scatter、All-Gather各自的作用,通信量的计算方法。
- 11
给定张量形状,怎么算出通信字节数?
- 12
TP=2和TP=4,通信上会出现哪些变化?
- 13
通信量和Batch、序列长度、隐藏层维度存在怎样的关联?
- 14
怎么判断当前系统已经进入通信瓶颈?
- 15
数据并行和张量并行的核心差异是什么?什么场景下优先扩容DP而不是TP?
- 16
DP是否会在每一张卡上复制完整模型?
- 17
DP为什么能够提升整体吞吐?
- 18
DP能不能降低单条请求的延迟?
- 19
如果单卡显存放不下整个模型,靠DP可以解决吗?
- 20
线上推理服务的DP,和训练阶段DP的实现有什么区别?
- 21
流水线并行对模型的切分思路,为什么落地实现难度很高?
- 22
流水线Stage怎么划分?
- 23
Micro-Batch的含义是什么?
- 24
流水线气泡(Bubble)是怎么产生的?
- 25
有哪些手段减少气泡带来的损耗?
- 26
各个Stage负载不均衡该怎么处理?
- 27
流水线并行为什么通常会拉高请求延迟?
- 28
你有没有动手实现过流水线并行?
- 29
上下文并行适配长文本场景的原因,序列被切分之后,跨卡的Attention计算如何完成?