第17章 · AI 推理 · 阶段测试题答案¶
一 · 单选 (8 题)¶
1.1 B - INT8 量化减 4× 内存。
1.2 A - PTQ 训练后量化, 快速。
1.3 C - GPTQ 用 OBQ 改进。
1.4 B - PagedAttention 类比 OS 虚拟内存。
1.5 A - 连续批处理提升吞吐 10-24×。
1.6 C - Flash Attention 内存 O(n)。
1.7 B - Speculative Decoding 草拟+验证。
1.8 A - vLLM 是 UC Berkeley 推理引擎。
二 · 多选 (4 题)¶
2.1 ABCD - 都是推理引擎。
2.2 ABD - C 错: 量化是推理优化。
2.3 ABC - 都是 Attention 优化。
2.4 ABD - 都是 KV cache 优化。
三 · 简答 (5 题)¶
3.1 量化方法对比¶
| 方法 | 何时 | 质量 | 速度 |
|---|---|---|---|
| PTQ | 训练后 | 中 | 快 |
| QAT | 训练中 | 高 | 慢 |
| Dynamic | 推理 | 中 | 中 |
| Static | 训练后校准 | 高 | 中 |
3.2 KV Cache 内存¶
KV = 2 × n_layers × n_heads × head_dim × seq_len × batch × dtype_size
例: 7B, 2048 ctx, FP16, batch=1: 1 GB
GQA (Grouped-Query Attention): 减少 KV 头数, 内存 4-8× 减少。
3.3 PagedAttention¶
核心: 类比 OS 虚拟内存, KV 分块 + block table - 解决碎片 (传统 KV 预分配) - 支持共享 prefix (prefix caching) - 显存利用率从 ~50% → 90%+
3.4 Flash Attention 3 大技巧¶
- Tiling: Q/K/V 分块, 在 SRAM 算
- Recompute: 不存 attention matrix
- Online Softmax: 分块计算
结果: 内存 O(n²) → O(n), 速度 2-4×, 数学等价
3.5 Speculative Decoding¶
流程: 1. 小模型草拟 N 个 token (廉价) 2. 大模型并行验证 N 个位置 3. 接受合格 token, 拒绝重新采样
加速: 70-80% 接受率时 2-3× 加速, 不损失质量
四 · 编程 (2 题)¶
4.1 vLLM 部署¶
from vllm import LLM, SamplingParams
llm = LLM(
model="meta-llama/Llama-3-8B-Instruct",
tensor_parallel_size=1,
gpu_memory_utilization=0.9,
quantization="awq",
)
outputs = llm.generate(["Hello"], SamplingParams(max_tokens=100))