跳转至

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 模型。

./llama-cli -m llama-3-8b.Q4_K_M.gguf -p "Hello"

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 (生产架构)