Ch17 AI 推理 · 阶段测试题 (25 题)¶
测试目标: 全面考察 Ch17 五节: 量化(§01) / 高效架构(§02) / 推理服务(§03) / 边缘推理(§04) / 大规模部署(§05)
Part A 选择题 (10 题, 每题 3 分)¶
A1 (★★)¶
题目: PTQ 含义? - A) Pre-Trained Quantization - B) Post-Training Quantization - C) Pre-Training Quantization - D) Post-Test Quantization
答案: B
A2 (★★★)¶
题目: INT4 量化内存节省 vs FP16? - A) 2× - B) 4× - C) 8× - D) 16×
答案: B
A3 (★★)¶
题目: PagedAttention 来源? - A) vLLM - B) TGI - C) TensorRT-LLM - D) llama.cpp
答案: A
A4 (★★★)¶
题目: Continuous batching 提升 (vLLM 论文)? - A) 5× - B) 12× - C) 24× - D) 50×
答案: C
A5 (★★)¶
题目: Speculative decoding 核心思想? - A) 增大模型 - B) 小模型猜 + 大模型验证 - C) 量化 - D) KV cache 压缩
答案: B
A6 (★★★)¶
题目: GQA 与 MQA 关系? - A) GQA 是 MQA 的特例 - B) MQA 是 GQA 的特例 - C) 完全无关 - D) 同义
答案: B
A7 (★★)¶
题目: Llama.cpp 主要用途? - A) 训练 - B) CPU/边缘推理 - C) 分布式 - D) 数据加载
答案: B
A8 (★★★)¶
题目: TTFT 含义? - A) Time To Fine-tune - B) Time To First Token - C) Time To Forward - D) Time To Format
答案: B
A9 (★★)¶
题目: HPA 是什么? - A) High Performance Array - B) Horizontal Pod Autoscaler - C) High Precision Algorithm - D) Hash Partition Algorithm
答案: B
A10 (★★★)¶
题目: Llama 3 8B 量化后大小? - A) 4 GB - B) 8 GB - C) 16 GB - D) 32 GB
答案: A (INT4 ~4 GB)
Part B 简答题 (8 题, 每题 5 分)¶
B1 (★★★)¶
题目: PTQ vs QAT 的取舍。
要点: - PTQ: 训练后, 简单快, 损失 < 1% - QAT: 训练中, 精度高, 复杂
B2 (★★★)¶
题目: KV cache 大小计算公式。
要点: - \(S = 2 \cdot L \cdot d \cdot N_{\text{tokens}}\) - 长上下文是瓶颈 - PagedAttention 减少碎片
B3 (★★★)¶
题目: PagedAttention 原理。
要点: - 类似 OS 虚拟内存 - 分块 KV cache - 减少碎片
B4 (★★★)¶
题目: Continuous batching 提升吞吐的原理。
要点: - 不等所有请求结束 - 动态调度 - 提升 GPU 利用率
B5 (★★★)¶
题目: Speculative decoding 原理。
要点: - 小模型 (draft) 猜 N token - 大模型 (target) 验证 - 通过则采纳
B6 (★★★)¶
题目: GQA 减少 KV 多少?
要点: - 32 个 KV head → 8 个 GQA - 4× KV cache 减少 - MQA: 全部共享 1 个, 32×
B7 (★★★)¶
题目: 边缘部署 LLM 的三大限制。
要点: - 内存 (8 GB) - 功耗 (10W) - 散热
B8 (★★★)¶
题目: 模型路由的工程价值。
要点: - 简单 query 用小模型 - 复杂 query 用大模型 - 节省算力
Part C 编程题 (5 题, 每题 10 分)¶
C1 (★★★)¶
题目: 用 bitsandbytes 量化加载 Llama。
from transformers import AutoModelForCausalLM
import bitsandbytes as bnb
model = AutoModelForCausalLM.from_pretrained(
"meta-llama/Llama-2-7b-hf",
load_in_4bit=True,
device_map="auto"
)
C2 (★★★)¶
题目: 用 vLLM 部署 Llama 3。
from vllm import LLM, SamplingParams
llm = LLM(model="meta-llama/Llama-3-8B-Instruct")
params = SamplingParams(temperature=0.7, max_tokens=256)
outputs = llm.generate(["Hello, my name is"], params)
C3 (★★★)¶
题目: 用 Llama.cpp 加载 GGUF 模型。
C4 (★★★)¶
题目: 用 ONNX Runtime 推理。
import onnxruntime as ort
import numpy as np
session = ort.InferenceSession("model.onnx")
outputs = session.run(None, {"input": np.zeros((1, 3, 224, 224))})
C5 (★★★)¶
题目: 写一个 vLLM OpenAI 兼容 server。
python -m vllm.entrypoints.openai.api_server \
--model meta-llama/Llama-3-8B-Instruct \
--port 8000
# client:
curl http://localhost:8000/v1/completions \
-d '{"model": "Llama-3-8B-Instruct", "prompt": "Hello"}'
Part D 综合题 (2 题, 每题 15 分)¶
D1 (⭐⭐⭐⭐)¶
题目: 设计一个生产 LLM 推理服务的完整架构。
要点: 1. 模型选择 + 量化 (INT8) 2. vLLM 推理引擎 3. Continuous batching 4. K8s + HPA 5. Prometheus 监控 6. 蓝绿发布
D2 (⭐⭐⭐⭐)¶
题目: 综述 2024 年 LLM 推理优化技术。
要点: - 量化 (GPTQ / AWQ / SmoothQuant) - 高效架构 (Flash Attn / GQA / PagedAttn) - 调度 (Continuous batching / Speculative / Chunked) - 推理引擎 (vLLM / TGI / TensorRT-LLM / SGLang)
评分标准¶
| 题型 | 题数 | 总分 |
|---|---|---|
| 选择 | 10 | 30 |
| 简答 | 8 | 40 |
| 编程 | 5 | 50 |
| 综合 | 2 | 30 |
| 合计 | 25 | 150 |
自测建议¶
| 目标 | 分数 | 行动 |
|---|---|---|
| 及格 | 75 | 复习 §01-§02, 默写量化 + 高效架构 |
| 良好 | 100 | 复习 §03-§04, 跑通编程 C1-C3 |
| 优秀 | 120 | 完成综合 D1 (生产架构) |