forked from rohitg00/ai-engineering-from-scratch
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathquiz.json
More file actions
78 lines (78 loc) · 2.66 KB
/
Copy pathquiz.json
File metadata and controls
78 lines (78 loc) · 2.66 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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
{
"lesson": "03-gpu-autoscaling-kubernetes",
"title": "GPU Autoscaling on Kubernetes — Karpenter, KAI Scheduler, Gang Scheduling",
"questions": [
{
"stage": "pre",
"question": "Which signal does HPA typically scale on by default that the lesson calls broken for vLLM-style serving?",
"options": [
"Queue depth",
"P99 TTFT",
"KV cache utilization",
"DCGM_FI_DEV_GPU_UTIL duty cycle"
],
"correct": 3,
"explanation": ""
},
{
"stage": "check",
"question": "Which problem does gang scheduling in KAI Scheduler primarily prevent?",
"options": [
"GPU memory fragmentation",
"Tokenizer GIL contention",
"The partial-allocation trap where 7 of 8 GPUs sit idle waiting on the eighth",
"Cold-start latency"
],
"correct": 2,
"explanation": ""
},
{
"stage": "check",
"question": "Why is Karpenter's default consolidationPolicy WhenEmptyOrUnderutilized dangerous for inference GPU pools?",
"options": [
"It refuses to scale up under burst",
"It only consolidates spot instances",
"It terminates running GPU nodes to migrate pods, which evicts running requests and reloads weights",
"It prevents Karpenter from provisioning new nodes"
],
"correct": 2,
"explanation": ""
},
{
"stage": "check",
"question": "Roughly how much faster is Karpenter at provisioning a GPU node compared to Cluster Autoscaler?",
"options": [
"Roughly 40% faster (~45-60s vs ~90-120s)",
"About 10x slower",
"The same",
"About 5% faster"
],
"correct": 0,
"explanation": ""
},
{
"stage": "post",
"question": "For disaggregated prefill / decode pods (Phase 17 · 17), which scaling signals does the lesson recommend?",
"options": [
"Manual scaling only",
"A single HPA on duty cycle covering both pod classes",
"Queue depth for prefill pods and KV cache pressure for decode pods, as separate per-role HPAs",
"Cluster Autoscaler for both"
],
"correct": 2,
"explanation": ""
},
{
"stage": "post",
"question": "Which Karpenter disruption setting does the lesson recommend for an inference GPU pool to avoid evicting running jobs?",
"options": [
"consolidationPolicy: WhenEmptyOrUnderutilized with consolidateAfter: 0s",
"consolidationPolicy: WhenEmpty with consolidateAfter: 1h",
"Always run with spot instances and no consolidation",
"Disable Karpenter entirely"
],
"correct": 1,
"explanation": ""
}
]
}