-
Notifications
You must be signed in to change notification settings - Fork 37
Expand file tree
/
Copy pathquiz.json
More file actions
37 lines (37 loc) · 2.43 KB
/
Copy pathquiz.json
File metadata and controls
37 lines (37 loc) · 2.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
[
{
"question": "一个 70 亿参数的 FP16 模型仅权重就需要多少 VRAM?",
"options": ["7 GB", "14 GB", "28 GB", "56 GB"],
"correct": 1,
"explanation": "FP16 下每个参数 2 字节。70 亿 * 2 字节 = 14 GB。再加上 Adam 优化器状态(2 份)和梯度,训练总内存在计入激活值之前大约是 56 GB。",
"stage": "pre"
},
{
"question": "分布式训练中使用的三种并行方式是什么?",
"options": ["CPU、GPU 和 TPU 并行", "数据并行、张量并行和流水线并行", "批次、序列和 token 并行", "前向、反向和优化器并行"],
"correct": 1,
"explanation": "数据并行在每张 GPU 上复制模型并切分数据。张量并行把单个层切分到多张 GPU 上。流水线并行把模型的层分成多个阶段,分布在不同 GPU 上。",
"stage": "pre"
},
{
"question": "FSDP(完全分片数据并行)做了哪些标准 DDP 没做的事?",
"options": ["它使用不同的优化器", "它把模型参数、梯度和优化器状态分片到各 GPU 上,而不是在每张 GPU 上复制完整模型", "它处理数据更快", "它支持更多 GPU"],
"correct": 1,
"explanation": "标准 DDP 在每张 GPU 上复制整个模型(很浪费)。FSDP 把参数分片到各 GPU 上,每张只持有一部分。参数在计算时按需收集,计算后释放。",
"stage": "post"
},
{
"question": "什么是 DeepSpeed ZeRO Stage 3?",
"options": ["一种量化方法", "它把优化器状态、梯度以及模型参数都分片到各 GPU 上,实现最大的内存效率", "一种学习率调度策略", "一条数据预处理流水线"],
"correct": 1,
"explanation": "ZeRO Stage 1 分片优化器状态,Stage 2 增加梯度分片,Stage 3 增加参数分片。Stage 3 提供最大的内存节省,使得训练远超单卡内存的模型成为可能。",
"stage": "post"
},
{
"question": "为什么数据并行训练中需要梯度同步?",
"options": ["为了防止过拟合", "每张 GPU 在不同的数据上计算梯度;跨 GPU 求平均能确保所有副本以相同方式更新", "为了减少内存占用", "为了加快前向传播"],
"correct": 1,
"explanation": "在数据并行中,每张 GPU 处理不同的批次并计算不同的梯度。AllReduce 把这些梯度在所有 GPU 间求平均,使每个副本应用相同的更新并保持同步。",
"stage": "post"
}
]